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

淘宝网站建设没法上传怎么办小商铺装修

淘宝网站建设没法上传怎么办,小商铺装修,自助网站建设 网易,泉州专业网站建设费用在数据科学和分析中#xff0c;理解高维数据集中的底层模式是至关重要的。t-SNE已成为高维数据可视化的有力工具。它通过将数据投射到一个较低维度的空间#xff0c;提供了对数据结构的详细洞察。但是随着数据集的增长#xff0c;标准的t-SNE算法在计算有些困难#xff0c;…在数据科学和分析中理解高维数据集中的底层模式是至关重要的。t-SNE已成为高维数据可视化的有力工具。它通过将数据投射到一个较低维度的空间提供了对数据结构的详细洞察。但是随着数据集的增长标准的t-SNE算法在计算有些困难所以发展出了Barnes-Hut t-SNE这个改进算法它提供了一个有效的近似允许在不增加计算时间的情况下扩展到更大的数据集。 Barnes-Hut t-SNE 是一种高效的降维算法适用于处理大规模数据集是 t-SNE (t-Distributed Stochastic Neighbor Embedding) 的一个变体。这种算法主要被用来可视化高维数据并帮助揭示数据中的内部结构。 基础概念 t-SNE 的基础是 SNEStochastic Neighbor Embedding一种概率性降维技术通过保持高维和低维空间中的概率分布相似来进行数据映射。而t-SNE 是由 Laurens van der Maaten 和 Geoffrey Hinton 于 2008 年提出的。它是一种非线性降维技术非常适合于将高维数据降维到二维或三维空间中用于数据可视化。 Barnes-Hut t-SNE 采用了在天体物理学中常用的 Barnes-Hut 算法来优化计算过程。这种算法最初是为了解决 N体问题即计算多个物体之间相互作用的问题而设计的。 传统的 t-SNE 算法的时间复杂度约为 O(N2)而 Barnes-Hut 版本的 t-SNE 则将时间复杂度降低到 O(Nlog⁡N)这使得算法能够更加高效地处理大规模数据集。 工作原理 Barnes-Hut t-SNE改进了原来的t-SNE算法加入了空间划分的数据结构以降低点之间相互作用的复杂性。首先我们先简单介绍 t-SNE因为理解 t-SNE 的基本工作原理对于理解 Barnes-Hut t-SNE 是必要的 t-SNE 的主要步骤包括 相似度计算在高维空间中t-SNE 首先计算每对数据点之间的条件概率这种概率反映了一个点选择另一个点作为其邻居的可能性。这种计算基于高斯分布并且对于每个点会有不同的标准差高斯分布的宽度以保证每个点的有效邻居数大致相同。低维映射在低维空间通常是 2D 或 3D中t-SNE 同样为数据点之间定义了一个概率分布但这里使用的是 t 分布自由度为1的学生 t-分布这有助于在降维过程中避免“拥挤问题”即多个高维点映射到相同的低维点。梯度下降t-SNE 通过最小化高维和低维空间中概率分布的 Kullback-Leibler 散度来找到最佳的低维表示。这个过程通过梯度下降算法进行优化。 在处理大型数据集时直接计算所有点对之间的相互作用非常耗时。Barnes-Hut 算法通过以下步骤优化这个过程 构建空间索引树在二维空间中构建四叉树在三维空间中构建八叉树。每个节点表示一个数据点而每个内部节点则表示它的子节点的质心即子节点的平均位置。近似相互作用在计算点之间的作用力即梯度下降中的梯度时Barnes-Hut 算法不是计算每一对点之间的相互作用而是使用树来估计远距离的影响。对于每个点如果一个节点或其包含的数据点的区域距离足够远根据预设的阈值如节点的宽度与距离的比率则该节点内的所有点可以被视为一个单一的质心从而简化计算。有效的梯度计算通过这种近似算法只需要计算与目标点近邻的实际点以及远处质心的影响极大地减少了必须执行的计算量。 通过这种方法Barnes-Hut t-SNE 将复杂度从 O(N2) 降低到 O(Nlog⁡N)使其能够有效地处理数万到数十万级别的数据点。但是这种效率的提升是以牺牲一定的精确度为代价的因为远距离的相互作用是通过质心近似来实现的而不是精确计算。 代码示例 Barnes-Hut t-SNE已经被集成到scikit-learn库种所以我们直接可以拿来使用 首先我们生成一些简单的数据 importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.manifoldimportTSNEfromsklearn.datasetsimportmake_blobsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromsklearn.metricsimportsilhouette_score# Generate synthetic dataX, ymake_blobs(n_samples1000, centers4, n_features50, random_state42)生成4个簇每个样本包含50个特征总计1000个样本。 然后我们分割数据集进行聚类 # Split data into training and testing setsX_train, X_test, y_train, y_testtrain_test_split(X, y, test_size0.3, random_state42)# Standardize features by removing the mean and scaling to unit variancescalerStandardScaler()X_train_scaledscaler.fit_transform(X_train)X_test_scaledscaler.transform(X_test)# Hyperparameter tuning for t-SNEbest_silhouette-1best_params {}perplexities [5, 30, 50, 100] # Different perplexity values to trylearning_rates [10, 100, 200, 500] # Different learning rates to tryforperplexityinperplexities:forlearning_rateinlearning_rates:# Apply Barnes-Hut t-SNEtsneTSNE(n_components2, methodbarnes_hut, perplexityperplexity,learning_ratelearning_rate, random_state42)X_train_tsnetsne.fit_transform(X_train_scaled)# Calculate Silhouette scorescoresilhouette_score(X_train_tsne, y_train)# Check if we have a new best scoreifscorebest_silhouette:best_silhouettescorebest_params {perplexity: perplexity, learning_rate: learning_rate}best_embeddingX_train_tsne# Visualization of the best t-SNE embeddingplt.figure(figsize(8, 6))plt.scatter(best_embedding[:, 0], best_embedding[:, 1], cy_train, cmapviridis, edgecolork, s50)plt.title(fBarnes-Hut t-SNE Visualization\nPerplexity: {best_params[perplexity]}, Learning Rate: {best_params[learning_rate]})plt.colorbar(labelCluster Label)plt.xlabel(t-SNE Feature 1)plt.ylabel(t-SNE Feature 2)plt.grid(True)plt.show()# Interpretations and resultsprint(fBest Silhouette Score: {best_silhouette})print(Best Parameters:, best_params)print(Barnes-Hut t-SNE provided a clear visualization of the clusters, indicating good separation among different groups.)我们只要在sklearn的TSNE方法种传入参数methodbarnes_hut’即可。上面代码运行结果如下 Best Silhouette Score: 0.9504804611206055Best Parameters: {perplexity: 100, learning_rate: 500}Barnes-Hut t-SNE provided a clear visualization of the clusters, indicating good separation among different groups.可以看到 Barnes-Hut t-SNE算法已经有效地将高维数据分离成不同的簇。轮廓分数0.95说明聚类分离良好几乎没有重叠这个接近1的分数表明平均而言数据点离它们的集群中心比离最近的不同集群的中心要近得多。 通过观察可以看到到簇内的密度各不相同。例如图中底部的某个簇蓝色的看起来特别紧凑表明其点之间的相似度很高。相反顶部的另一个簇黄色的看起来更为分散意味着该组内的变异更大。 没有明显的异常值远离其各自的簇这表明原始高维空间中的簇结构定义良好。 高轮廓分数和清晰的视觉分离可以说明我们选择的超参数perplexity100学习率500非常适合这个数据集。这也表明算法可能已经很好地收敛找到了一个稳定的结构强调了簇之间的差异。 总结 Barnes-Hut t-SNE 是一种高效的数据降维方法特别适合于处理大型和复杂的数据集它通过引入四叉树或八叉树的结构来近似远距离作用从而大幅减少了计算量同时保持了良好的数据可视化质量。Barnes-Hut t-SNE优化了原始 t-SNE 算法的计算效率使其能够在实际应用中更为广泛地使用。 https://avoid.overfit.cn/post/ec11566be83d4f4fb7cf31d09197d8e4
http://www.pierceye.com/news/449634/

相关文章:

  • 和初中生做视频网站怎么进入追信魔盒网站开发软件
  • 邯郸开发网站有哪些阳江市房产信息网
  • 快速网站推广公司丹阳房产网二手房
  • 做一个卖东西的网站黄村做网站的公司
  • 网站增长期怎么做广州seo推广优化
  • 怎么做拍卖网站吗免费网站推广入口
  • 农产品网站建设的主要工作岳阳seo招聘
  • 每年网站备案抽查惠州营销网站建设
  • 四川网站建设seo友汇网网站建设
  • 企业家居网站建设做公司网站方案
  • 特性设计的网站营销型网站建设的五力原则
  • 网站布局设计工具装修室内设计培训学校
  • 哈尔滨网络科技公司做网站中国建设官方网
  • 紫川网站建设做画找图网站
  • 郑州快速建站公司合肥学做网站app的学校
  • 除了做视频网站还能做什么网站wordpress手机站如何做
  • 域名注册最好的网站人才网站
  • 网站建设咨询云尚网络中铁十二局出国招工
  • 建站系统推荐做网站在哪里做
  • 贵州建设工程招标协会网站wordpress黑白主题
  • 怎么免费建立自己网站扁平化网站设计
  • 可以自己做漫画的网站北仑营销型网站制作
  • 免费网站统计代码有什么样的网站开发
  • 文山微网站建设湖南人工智能建站系统软件
  • 做网站时候编代码wordpress 技术博客主题
  • 成立网站建设工作领导小组seo网站关键词优化软件
  • 怎么兼职做网站网站建设 运维 管理包括
  • 乐清市住房和城乡建设规划局网站专业做家居的网站
  • 做3d打印网站苏州建设工程人才招聘网信息网站
  • 网站建设丂金手指科杰wordpress中logo大小