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

河南科技园网站建设免费站长工具

河南科技园网站建设,免费站长工具,梅州网站制作baidu,网站建设公司推荐在本文中,我将尝试解释 SVD 背后的数学及其几何意义,还有它在数据科学中的最常见的用法,图像压缩。 奇异值分解是一种常见的线性代数技术,可以将任意形状的矩阵分解成三个部分的乘积:U、S、V。原矩阵A可以表示为&#…

在本文中,我将尝试解释 SVD 背后的数学及其几何意义,还有它在数据科学中的最常见的用法,图像压缩。

奇异值分解是一种常见的线性代数技术,可以将任意形状的矩阵分解成三个部分的乘积:U、S、V。原矩阵A可以表示为:

具体来说,A矩阵中的奇异值就是\Sigma矩阵中的对角线元素,它们是矩阵A的特征值的平方根,表示A矩阵在各个主方向上的拉伸程度。U矩阵是AAT的特征向量构成的正交矩阵,表示数据集在降维后的新的坐标系中的投影。V矩阵是ATA的特征向量构成的正交矩阵,表示每个数据点在降维后的新坐标系中的坐标。

一个矩阵的奇异值(singular values)是指其奇异值分解中的\Sigma矩阵的对角线上的元素,也就是特征值的平方根。换句话说,矩阵的奇异值是矩阵的奇异值分解中量度矩阵对输入矩阵进行的线性变换的尺度因子。

奇异值在很多应用中都有广泛的应用,例如在图像处理中,它可以用来对图像进行压缩和降噪;在推荐系统中,它可以用来对用户的偏好进行建模和推荐相关的产品或服务;在自然语言处理中,它可以用来对文本数据进行降维和特征提取等。

数学原理

如果我们有一个矩阵A

要计算 SVD,首先需要通过找到 AA^{T} 的特征值来计算奇异值。

上述矩阵的特征方程为:

所以得到的奇异值是:

奇异向量就是 ATA 的正交特征向量集。ATA 的特征值是 25、9 和 0,由于 ATA 是对称的,我们知道特征向量是正交的。

所以,先计算 λ=25

然后进行化简:

其方向的单位向量为:

同理 对于 λ = 9,特征向量为:

对于第三个特征向量 0,我们可以使用它垂直于 v1 和 v2 的属性:

求解上述方程得到第三个特征向量

现在,我们计算 U,得到

这样就得到了最终的 SVD 方程:

图像压缩

通过仅保留最重要的奇异值及其对应的奇异向量,SVD 被用于图像压缩以减小图像的大小。这可以从根本上减少在不丢失其最重要的视觉数据的情况下存储图像所需的额外存储量。

我们将使用下面的图像进行图像压缩:

导入库和读取图片十分简单

 import requestsimport cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('flower.bmp')gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)gray_image = gray_image.astype(np.float64)

这里我们将图像转换成灰度图,执行奇异值分解

 U, s, V = np.linalg.svd(gray_image, full_matrices=False)

numpy中就包含了该方法,所有我们直接调用即可,我们看看前 10 个奇异值

 top_10_singular_values = s[:10]

可视化

 plt.plot(range(1, len(s) + 1), s, 'r-')plt.xlabel("Rankings")plt.ylabel("Singular Values")plt.title("Singular Values versus their Rankings")plt.savefig("Singular_values_vs_rankings.png")plt.show()

从奇异值和排序图中可以注意到图像的大部分值都包含在少量奇异值中,所以可以得出到较高的奇异值包含的图像信息水平非常低,这也说明使用奇异值分解进行降维和图像压缩是可行的。

现在,让我们尝试重建和显示图像。

 k_values = [10, 50, 100]plt.figure(figsize=(12,6))for i in range(len(k_values)):low_rank = U[:, :k_values[i]] @ np.diag(s[:k_values[i]]) @ V[:k_values[i], :]plt.subplot(2,3,i+1),plt.imshow(low_rank, cmap='gray'),plt.title(f"For K value = {k_values[i]}")plt.savefig("Reconstruction_with_k_values.png")

可以注意到具有不同 K 值的所有图像都有显着差异。使用了前 10 个奇异值,结果图像一点也不清晰。使用了前 50 个奇异值,生成的图像比之前的图像清晰多了,但是还有一些轻微的模糊。当我们使用前 100 个奇异值时,图像比前两张图像越来越清晰,基本和原图很接近了。随着 K 值的增加,图像的清晰度也会增加。

总结

本文介绍了奇异值分解 (SVD) 的数学原理和一个实际的应用案例,可以看到SVD是一种强大的图像压缩方法,有助于在减小图像尺寸的同时保留大部分重要的视觉信息。

https://avoid.overfit.cn/post/f0a675aad6994b61a2aa93fb647a0633

作者:Neokai

http://www.ds6.com.cn/news/82924.html

相关文章:

  • 宜昌网站制作电商运营培训班多少钱
  • 做网站简历怎么写软件推广是什么工作
  • 南通网站建设外包四川seo关键词工具
  • 软件公司都是帮别人做网站么关键词优化教程
  • 做设计都有什么网站aso优化榜单
  • 怎么看网站谁做的游戏推广平台哪个好
  • 怎么给客户谈做网站中央广播电视总台
  • winxp下做网站名风seo软件
  • 网站建设的背景有哪些推广网站有效的免费方法
  • 湘西网站建设吧网络推广外包公司干什么的
  • 外贸自建站源码网站排名优化推广
  • 哪有专做注册小网站的双桥seo排名优化培训
  • 怎么登录住房城乡建设部网站seo站内优化和站外优化
  • 网店网站设计seo软件资源
  • 网站项目建设目标百度推广哪种效果好
  • 有了空间怎么做网站品牌营销策划ppt
  • 专做国外旅游的网站怎么找需要推广的商家
  • 网站搭建中企动力第一51趣优化网络seo工程师教程
  • 英文网站建设szjijie企业培训课程设计
  • 石家庄网站建设开发注册推广赚钱一个80元
  • 你们网站做301自动app优化最新版
  • 有哪些品牌做打底衫的网站百度流量
  • 网站怎么做安全企业宣传方式
  • 网站建设费用初步预算发布项目信息的平台
  • 电子商务网站的目的国际要闻
  • 成都专业做网站的公司有哪些宁波谷歌seo推广公司
  • 广州网站建设推荐直通车怎么开
  • python免费下载安装东莞百度seo
  • 衡阳网站推广优化公司北京seo经理
  • b站推广有用吗色盲测试图动物