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

广州网站制作商网站搭建公司排行榜

广州网站制作商,网站搭建公司排行榜,长沙网站快速排名提升,西安知名网站开发的公司在数据分析和机器学习的广阔天地中#xff0c;降维技术占据着举足轻重的地位。当我们面对高维数据时#xff0c;不仅计算成本高昂#xff0c;而且容易遭遇“维度灾难”#xff0c;即随着维度的增加#xff0c;数据的稀疏性和距离度量失效等问题愈发严重。为了克服这些挑战…在数据分析和机器学习的广阔天地中降维技术占据着举足轻重的地位。当我们面对高维数据时不仅计算成本高昂而且容易遭遇“维度灾难”即随着维度的增加数据的稀疏性和距离度量失效等问题愈发严重。为了克服这些挑战各种降维技术应运而生其中奇异值分解Singular Value Decomposition, SVD便是一种强大而优雅的工具。本文将带您踏上一段使用SVD进行降维的奇妙之旅。 什么是SVD SVD是一种在信号处理、统计学、机器学习等多个领域广泛应用的数学方法。它将一个任意形状的矩阵分解为三个特定形状的矩阵的乘积一个正交矩阵、一个对角矩阵其元素称为奇异值和另一个正交矩阵的转置。这种分解方式不仅揭示了矩阵的内部结构还为我们提供了一种有效的降维手段。 公式表示 对于任意m×n矩阵A其SVD可以表示为 AUΣVT 其中U是m×m的正交矩阵Σ是m×n的矩形对角矩阵非零元素为奇异值按从大到小排列V是n×n的正交矩阵。 SVD在降维中的应用 在降维场景下SVD通过保留矩阵A中最重要的特征即最大的奇异值对应的特征向量来减少数据的维度。具体来说我们可以通过选择Σ中最大的k个奇异值kmin(m,n)以及它们对应的U和V中的列来近似原矩阵A从而实现降维。 步骤概览 计算SVD首先对原始数据矩阵A进行SVD分解。选择奇异值根据实际需求选择前k个最大的奇异值。构建降维矩阵利用选定的奇异值及其对应的U和V中的列构建降维后的矩阵。解释与应用分析降维后的数据应用于后续的数据分析或机器学习任务中。 import numpy as np from scipy.linalg import svd # 假设A是你的原始数据矩阵 A np.random.rand(m, n) # 示例生成一个m行n列的随机矩阵 # 计算SVD U, s, VT svd(A, full_matricesFalse) # full_matricesFalse表示不计算完整的U和VT Sigma np.diag(s) # 将奇异值向量s转换为对角矩阵Sigma 奇异点 k 5 # 假设我们想要降维到5维 s_k s[:k] # 选择前k个最大的奇异值 U_k U[:, :k] # 选择U中与这k个奇异值对应的列 VT_k VT[:k, :] # 注意这里实际上应该选择VT的前k行因为VT是V的转置 # 但由于我们通常与U一起工作来重建降维后的数据所以VT_k在直接降维中可能不直接使用 优点与局限 优点 高效性SVD提供了一种快速且有效的降维方法。保留关键信息通过保留最大的奇异值能够较好地保留数据的主要特征。广泛适用性适用于各种类型的数据无需对数据分布做过多假设。局限 计算复杂度对于非常大的矩阵SVD的计算可能相对耗时。解释性降维后的数据维度可能不如原始数据直观解释起来需要一定的背景知识。 实践案例 import numpy as np from PIL import Image import matplotlib.pyplot as plt def pic_compress(k, pic_array): # 计算SVD u, sigma, vt np.linalg.svd(pic_array, full_matricesFalse) # 构建压缩后的Sigma矩阵 sig np.diag(sigma[:k]) # 重构压缩后的图像 # 注意这里使用vt[:k, :]的转置来与u[:, :k]相乘 new_pic np.dot(u[:, :k], np.dot(sig, vt[:k, :].T)) # 计算压缩后的图像大小这里只是示例实际节省取决于数据类型和存储方式 # 假设每个元素是float64类型每个元素占用8字节 original_size pic_array.nbytes compressed_size u[:, :k].nbytes sig.nbytes vt[:k, :].nbytes return new_pic, original_size, compressed_size # 加载图像并转换为灰度图 img Image.open(lufei.jpg).convert(L) ori_img np.array(img) # 进行图像压缩 k 100 new_img, original_size, compressed_size pic_compress(k, ori_img) # 显示结果 print(fOriginal size: {original_size} bytes) print(fCompressed size: {compressed_size} bytes) print(fCompression ratio: {original_size / compressed_size:.2f}) fig, ax plt.subplots(1, 2, figsize(12, 6)) ax[0].imshow(ori_img, cmapgray) ax[0].set_title(Before Compression) ax[0].axis(off) ax[1].imshow(new_img, cmapgray) ax[1].set_title(After Compression) ax[1].axis(off) plt.show() 注意 在实际应用中选择k的值是一个重要的步骤它需要根据数据的特性和任务的需求来确定。SVD降维特别适用于那些可以表示为矩阵形式的数据如文本数据的TF-IDF矩阵、图像数据的像素矩阵等。除了SVD之外还有其他降维技术如PCA主成分分析它在某些情况下与SVD密切相关特别是在数据已经中心化的情况下。PCA是SVD在数据协方差矩阵上的应用但它通常更直接地关注于数据的方差最大化。
http://www.hkea.cn/news/14494663/

相关文章:

  • 河北网站建设多少钱公众号做视频网站会封吗
  • 丰台新乡网站建设小企业网站建设是怎么做的
  • 广东建设工程协会网站自己的网站怎么做砍价
  • wd设计视图可以做网站吗专业的个人网站建设
  • 淘宝网站jquery教师网络培训和服务平台
  • php网站开发程序编译软件电商平台开发方案
  • 在网站做直播精准营销系统
  • 广东省建设监理协会网站无锡电子商务网站建设公司
  • 网站备案的账号找不到在线做托福的网站
  • 网站建站公司广州创新的邯郸网站建设
  • 阜新网站开发如何做公众号小说网站赚钱
  • 云南网站建设哪家便宜建设一个网站多钱
  • 织梦网站上传及安装步骤乐器产品主要在什么网站做推广
  • 太原网站建设方案托管个人性质网站能做论坛吗
  • 课程网站开发背景和意义长安网站优化公司
  • 做数据权威的网站有哪些wordpress博客反应慢
  • 珠海做网站费用做网站公司需要提供的资料
  • icp备案 网站做网站推广的工资
  • 建设动漫网站的目的蚌埠建设学校网站教育学校
  • 公司网站建设需要资质沉默是金 张国荣
  • 柯桥做网站哪家好wordpress查询数据库插件
  • 电商站点是什么意思房屋设计网站有哪些
  • 铜川市新区建设局网站电子商务网站建设 价格
  • wordpress会员可看外贸网站怎么做seo
  • 专业建站教程国际商务网站
  • 石家庄机票网站建设wordpress发表失败
  • 网站建设管理ppt陕西服装网站建设
  • 龙岩做网站开发要多久网站开发与管理实验五
  • wap网站建设课程要写代码吗陕西建设招聘信息网站
  • 句容工程建设招标网站东莞公司网站开发