奇异值分解SVD--几个实例

SVD is extraordinarily useful and has many applications such as data analysis, signal processing, pattern recognition, image compression, weather prediction, and Latent Semantic Analysis or LSA (also referred to as Latent Semantic Indexing or LSI).


1,Data compression

Singular value decompositions can be used to represent data efficiently.  Suppose, for instance, that we wish to transmit the following image, which consists of an array of 15 * 25 black or white pixels.

Since there are only three types of columns in this image, as shown below, it should be possible to represent the data in a more compact form.

We will represent the image as a 15 * 25 matrix in which each entry is either a 0, representing a black pixel, or 1, representing white.  As such, there are 375 entries in the matrix.

If we perform a singular value decomposition on M, we find there are only three non-zero singular values.

σ1 = 14.72 σ2 =  5.22 σ3 =  3.31 

Therefore, the matrix may be represented as

M=u1σ1v1T  + u2σ2v2T  +  u3σ3v3T

This means that we have three vectors vi, each of which has 15 entries, three vectors ui, each of which has 25 entries, and three singular values σi.  This implies that we may represent the matrix using only 123 numbers rather than the 375 that appear in the matrix.  In this way, the singular value decomposition discovers the redundancy in the matrix and provides a format for eliminating it.

Why are there only three non-zero singular values?  Remember that the number of non-zero singular values equals the rank of the matrix.  In this case, we see that there are three linearly independent columns in the matrix, which means that the rank will be three.


2,Noise reduction

The previous example showed how we can exploit a situation where many singular values are zero.  Typically speaking, the large singular values point to where the interesting information is.  For example, imagine we have used a scanner to enter this image into our computer.  However, our scanner introduces some imperfections (usually called "noise") in the image.

We may proceed in the same way: represent the data using a 15 * 25 matrix and perform a singular value decomposition.  We find the following singular values:

σ 1 = 14.15 σ 2 = 4.67 σ 3 = 3.00 σ 4 = 0.21 σ 5 = 0.19      ... σ 15 = 0.05

Clearly, the first three singular values are the most important so we will assume that the others are due to the noise in the image and make the approximation

Mu1σ1v1T  + u2σ2v2T  +  u3σ3v3T

This leads to the following improved image.


3,Data analysis

Noise also arises anytime we collect data:  no matter how good the instruments are, measurements will always have some error in them.  If we remember the theme that large singular values point to important features in a matrix, it seems natural to use a singular value decomposition to study data once it is collected.

As an example, suppose that we collect some data as shown below:

 

We may take the data and put it into a matrix:

-1.030.74-0.020.51-1.310.990.69-0.12-0.721.11
-2.231.61-0.020.88-2.392.021.62-0.35-1.672.46

and perform a singular value decomposition.  We find the singular values

σ 1 = 6.04 σ 2 = 0.22

With one singular value so much larger than the other, it may be safe to assume that the small value of σ2 is due to noise in the data and that this singular value would ideally be zero. In that case, the matrix would have rank one meaning that all the data lies on the line defined by ui.

 

This brief example points to the beginnings of a field known as principal component analysis, a set of techniques that uses singular values to detect dependencies and redundancies in data.

In a similar way, singular value decompositions can be used to detect groupings in data, which explains why singular value decompositions are being used in attempts to improve Netflix's movie recommendation system.  Ratings of movies you have watched allow a program to sort you into a group of others whose ratings are similar to yours. Recommendations may be made by choosing movies that others in your group have rated highly

本文转自http://www.ams.org/samplings/feature-column/fcarc-svd

Singular Value Decomposition (SVD) Tutorial:http://www.puffinwarellc.com/index.php/news-and-articles/articles/30-singular-value-decomposition-tutorial.html

Latent Semantic Analysis (LSA) Tutorial:http://www.puffinwarellc.com/index.php/news-and-articles/articles/33-latent-semantic-analysis-tutorial.html

转载于:https://www.cnblogs.com/liangzh/archive/2013/04/25/3042931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值