当前位置: 首页 > news >正文

个人网站制作流程html自动导入wordpress

个人网站制作流程,html自动导入wordpress,拓者设计吧室内设计,池州有哪些做网站的PCA#xff08;主成分分析#xff09;和t-SNE#xff08;t分布随机近邻嵌入#xff09;都是降维技术#xff0c;可以用于数据的可视化和特征提取。 降维#xff1a;把数据或特征的维数降低#xff0c;其基本作用包括#xff1a; 提高样本密度#xff0c;以及使基于欧…PCA主成分分析和t-SNEt分布随机近邻嵌入都是降维技术可以用于数据的可视化和特征提取。 降维把数据或特征的维数降低其基本作用包括 提高样本密度以及使基于欧氏距离的算法重新生效数据预处理。对数据去冗余、降低信噪比方便可视化 降维主要可以分为线性降维和非线性降维 线性降维 侧重让不相似的点在低维表示中分开MDSMultiple Dimensional Scaling多维缩放PCAPrinciple Components Analysis主成分分析非线性降维 非线性降维中用到的方法大多属于流形学习方法这类技术假设高维数据实际上处于一个比所处空间维度低的非线性流形上因此侧重让相似的近邻点在低维表示中靠近Sammon mappingSNEStochastic Neighbor Embedding随机近邻嵌入t-SNE是基于SNE的IsomapIsometric Mapping等度量映射MVUMaximum Variance UnfoldingLLELocally Linear Embedding局部线性嵌入等 1.PCA 1.1. PCA的原理 主成分分析Principal Component AnalysisPCA是一种常用的数据降维方法它通过将原始数据投影到一个新的坐标系中将数据中的冗余信息消除并保留最有用的信息。具体来说PCA会找到数据中的主成分将数据沿着主成分方向进行旋转使得旋转后的数据方差最大。这样可以有效减少数据的维度从而降低模型复杂度避免过拟合。 假设我们有一个数据集X{x1​,x2​,...,xn​}其中 我们的目标是将数据从 d维降至 k维 kd。PCA 的基本思想是找到一个正交基使得数据在这组基上的投影方差最大。具体来说我们可以按照以下步骤进行 PCA 对数据进行中心化处理即对每个维度减去该维度上的均值使得数据的均值为 0。计算协方差矩阵 C其中   表示 x  在第 i 个维度和第 j个维度上的协方差。对协方差矩阵进行特征值分解得到特征值     和对应的特征向量 ​。其中特征向量  表示数据在第 i 个维度上的投影方向。选择前 k 个特征值对应的特征向量 将原始数据投影到这组基上。 下面是 PCA 的数学公式 1.2. PCA的实现 在实现PCA算法时我们需要执行以下步骤 将数据集进行标准化使得每个特征的均值为0方差为1。这可以通过对每个特征减去其均值并除以其标准差来实现。计算数据的协方差矩阵。对协方差矩阵进行特征值分解。选择前k个特征值对应的特征向量作为新的基向量。将原始数据投影到新的低维空间中。 在Python中我们可以使用NumPy和SciPy库来实现PCA算法。以下是一个简单的示例代码演示如何使用Python和NumPy实现PCA算法 import numpy as npdef pca(X, k):# 标准化数据X_std (X - np.mean(X, axis0)) / np.std(X, axis0)# 计算协方差矩阵cov_mat np.cov(X_std, rowvarFalse)# 特征值分解eigen_vals, eigen_vecs np.linalg.eig(cov_mat)# 选择前k个特征值对应的特征向量eigen_pairs [(np.abs(eigen_vals[i]), eigen_vecs[:, i]) for i in range(len(eigen_vals))]eigen_pairs.sort(reverseTrue, keylambda k: k[0])w np.hstack([eigen_pairs[i][1].reshape(-1, 1) for i in range(k)])# 将原始数据投影到新的低维空间中X_pca X_std.dot(w)return X_pca在上面的代码中我们使用numpy.cov()函数计算数据的协方差矩阵使用numpy.linalg.eig()函数进行特征值分解然后选择前k个特征值对应的特征向量。最后我们将原始数据投影到新的低维空间中。 1.3 数据可视化 PCA可以将高维数据映射到二维或三维空间中从而实现数据的可视化。这种可视化方式通常被称为“主成分分析图”或“PCA图”。下面我们以手写数字数据集为例演示如何利用PCA进行数据可视化。 首先加载手写数字数据集 from sklearn.datasets import load_digitsdigits load_digits() X digits.data y digits.target然后我们对数据进行PCA降维 from sklearn.decomposition import PCApca PCA(n_components2) X_pca pca.fit_transform(X)最后我们将数据可视化 import matplotlib.pyplot as pltplt.scatter(X_pca[:, 0], X_pca[:, 1], cy, alpha0.5) plt.colorbar() plt.show()运行上述代码后我们可以得到一个二维的PCA图其中不同颜色的点代表不同的手写数字如下图所示 这个图显示了手写数字数据集的PCA可视化结果。在这个二维图中我们可以看到不同的数字在不同的区域内形成了簇。例如数字0、6和1在左上角的区域内形成了簇数字3、8和9在右下角的区域内形成了簇数字2和7分别位于两个簇的中间位置。 PCA除了可以做数据可视化也可以对数据进行降维操作。如在图像处理领域我们常常需要将高维的像素点转化为低维的向量以便于更好地进行图像分类、压缩等操作。使用PCA对图像进行降维处理是一种常见的方法。以人脸识别为例我们可以使用PCA对人脸图像进行降维处理将每张人脸图像转化为一个低维向量然后使用这些向量进行人脸识别。 除此之外PCA还可以做数据压缩和去噪。 2. t-SNE t-SNEt-Distributed Stochastic Neighbor Embedding是一种非线性降维算法用于将高维数据映射到低维空间。与PCA不同t-SNE旨在保留数据点之间的局部关系并在低维空间中反映这种关系而不是仅仅保留方差最大的维度。它的主要思想是在高维空间中计算数据点之间的相似度然后在低维空间中将这些相似度转换为概率分布从而最小化原始空间和低维空间之间的KL散度Kullback-Leibler Divergence。 具体来说对于每个数据点it-SNE首先计算它与其他数据点j之间的相似度 并利用高斯分布函数转换为概率分布表示如果在低维空间中点i选择点j作为邻居点的概率。在低维空间中每个点k被表示为 的概率分布表示如果在高维空间中点i选择点j作为邻居点的概率。t-SNE通过最小化和 之间的KL散度来优化这些概率分布从而将高维数据映射到低维空间。 Python中有多个库可以实现t-SNE算法 from sklearn.manifold import TSNE tsne TSNE(n_components2, perplexity30.0, early_exaggeration12.0, learning_rate200.0) X_tsne tsne.fit_transform(X)其中n_components指定了降维后的维度数perplexity是t-SNE算法中的一个超参数用于控制每个点周围的邻居数量early_exaggeration是控制t-SNE计算过程中的簇大小的参数learning_rate是学习率控制梯度下降的步长。 2.1 t-SNE的应用 t-SNE主要用于可视化高维数据特别是当我们想要探索数据中的局部结构时。例如在自然语言处理中我们可以使用t-SNE来可视化单词嵌入以了解单词之间的语义关系。在图像处理中t-SNE可以用于可视化图像的特征向量以探索图像之间的相似性。 2.1.1 图像处理 t-SNE也可以用于图像处理中的特征提取和图像聚类。在这种情况下我们可以使用卷积神经网络CNN提取图像特征并使用t-SNE对这些特征进行降维然后进行聚类或可视化。 例如我们可以使用一个预先训练好的CNN模型如VGG或ResNet对图像进行特征提取。然后我们可以使用t-SNE将这些高维特征降到二维或三维以便进行可视化或聚类。 以下是一个使用t-SNE可视化MNIST数据集的示例 import numpy as np from sklearn.manifold import TSNE from sklearn.datasets import fetch_openml import matplotlib.pyplot as plt# 获取MNIST数据集 mnist fetch_openml(mnist_784) X, y mnist.data / 255.0, mnist.target# 使用预训练的卷积神经网络CNN提取特征 # ...# 使用t-SNE降维 tsne TSNE(n_components2, random_state42) X_tsne tsne.fit_transform(X_features)# 可视化降维后的数据 plt.figure(figsize(10, 10)) plt.scatter(X_tsne[:, 0], X_tsne[:, 1], cy.astype(int), cmapjet) plt.axis(off) plt.colorbar() plt.show()该代码使用MNIST数据集作为示例数据集。首先我们通过fetch_openml函数获取MNIST数据集并对像素值进行归一化。然后我们使用预训练的CNN模型提取图像的特征。最后我们使用t-SNE将这些特征降至二维并将结果可视化。 2.1.2 自然语言处理 t-SNE 在自然语言处理中也有广泛的应用特别是在词向量的可视化方面。在自然语言处理中我们经常使用词向量来表示单词。词向量是将每个单词表示为一个向量使得每个向量都能够捕捉到该单词的语义信息。词向量通常在高维空间中表示其中每个维度对应于单词的某个特定特征。 使用 t-SNE 可以将高维词向量降至 2 维或 3 维然后使用二维或三维散点图将它们可视化。通过这种方式我们可以更好地理解单词之间的相似性例如在这些可视化中词向量非常相似的单词将在二维或三维空间中彼此靠近。 from sklearn.manifold import TSNE from sklearn.datasets import fetch_20newsgroups from sklearn.feature_extraction.text import CountVectorizer import matplotlib.pyplot as plt# 加载新闻数据集 newsgroups fetch_20newsgroups(subsetall,categories[alt.atheism, comp.graphics,comp.os.ms-windows.misc, comp.sys.ibm.pc.hardware,comp.sys.mac.hardware, comp.windows.x, misc.forsale,rec.autos, rec.motorcycles, rec.sport.baseball,rec.sport.hockey, sci.crypt, sci.electronics,sci.med, sci.space, soc.religion.christian, talk.politics.guns,talk.politics.mideast, talk.politics.misc, talk.religion.misc])# 抽取词频特征 vectorizer CountVectorizer(stop_wordsenglish) X vectorizer.fit_transform(newsgroups.data)# 使用t-SNE进行降维 tsne TSNE(n_components2, verbose1, perplexity40, n_iter300) X_tsne tsne.fit_transform(X.toarray())# 将降维结果可视化 plt.scatter(X_tsne[:, 0], X_tsne[:, 1]) plt.show()运行上述代码后我们可以得到一个散点图其中每个点代表一个单词相似的单词会被放置在相似的位置这有助于我们更好地理解单词之间的语义关系。 需要注意的是对于大型数据集t-SNE 可能需要很长时间才能完成降维。在这种情况下可以尝试使用随机子采样来减少数据点数量。 3. 如何选择PCA还是t-SNE 在选择PCA或t-SNE时需要考虑以下几个因素 数据类型如果数据是高维稠密的那么PCA是一个更好的选择因为t-SNE需要大量的计算资源来处理大规模数据。如果数据是低维或稀疏的t-SNE是更好的选择。目标如果目标是可视化数据集并检查其聚类结构或在二维或三维空间中查看数据点的分布t-SNE是更好的选择。如果目标是减少数据的维度以进行机器学习或其他应用PCA是更好的选择。计算资源PCA是一个快速而直接的方法而t-SNE需要更多的计算资源和时间。如果计算资源有限PCA是更好的选择。 参考https://blog.csdn.net/qq_33578950/article/details/130042918
http://www.hkea.cn/news/14399289/

相关文章:

  • 做一件代发哪个网站好网站首选域301如何做
  • e龙岩网站第一源码网
  • 多个网站建站WordPress建页面
  • 烟台网站制作开发淮北 网站建设 有限公司
  • 适合大学生浏览的网站中国建设銀行网站投诉电话
  • 哪个网站的财经做的好知乎有哪些网站是做数据展示
  • 在柬埔寨做网络销售推网站网站和app软件制作公司
  • 站长之家查询工具淘宝api 做网站
  • 推荐几个没封的网站广告制作服务方案
  • 长沙网站优化掌营天下竞价代运营公司哪家好
  • 北京做网站一般多少钱微信开发者工具怎么下载
  • 网站收录多少才有排名开发公司空置房物管费归口什么费用
  • 泉州网站建设方案维护创建电子商务网站的7个步骤
  • 宁波网站建设哪家比较好即将倒闭的设计院
  • 衡水网站建设选哪家年终总结汇报ppt模板
  • 招标代理网站建设深圳市做网站公司
  • 怎么套模板 网站学网站制作多少钱
  • 湛江免费建站公司电商网站seo
  • html5移动端网站建设上海建设网站公司
  • 学校校园网站使用中国制造货源网一件代发
  • 网站 站长统计代码谷歌优化技术
  • 有做销售产品的网站有哪些wordpress游戏主题下载
  • 旅游网站建设的重要性wordpress怎么修改中文
  • 杭州网站公司WordPress页面怎么html
  • 静态网站 插件天津seo排名扣费
  • 合肥网站推广培训手机网站开发库
  • 网站开发图书管理系统重庆网站建设索q479185700
  • wordpress一键仿站大连网站开发哪家好
  • 做网站需要哪些人手网站注销流程
  • 网站手机客户端制作软件万网网站加速