机器学习算法分享——《SVD》
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性空间
线性空间:“客观”存在的一种空间,对加法和数乘具 有封闭性。 向量:既有大小又有方向的量,同时没有起点 线性空间的基:描述空间内向量的一组“特殊”的向量, 空间内的所有向量都能被一组基的线性组合表示。 举例:直线就是一维的线性空间,平面就是二维线性空 间,三维立体空间就是三维线性空间。
矩阵运算(2)
m×n
n×m
=
m×n
m×m
Baidu Nhomakorabean×m
=
n×n
矩阵运算(3)
a b x y z= c x a b c y = z
ax ay az bx by bz cx cy cz ax +by +cz
奇异值从大到小依 次排序
SVD分解(3)
U T A AV T
T T u1 u1 A T U A A= T T um um A 1 0 T AV 0 r 0 0 T 1v1 T u1 A r vT T r um A 0
数据示例2
黄色数据点代表probe数据集,用于参 赛选手自己做测试用
蓝色数据点代表最终的测试数据,对 参赛的人来说是隐藏的
movie movie movie movie movie movie movie movie movie movie 1 2 3 4 5 6 7 8 9 10 user1 user2 user3 user4 user5 user6 user7 user8 user9 user10 1 2 1 2 4 4 1 3 2 4 2 2 2 4 1 1 4 1 2 3 1 1 2 3 1 3 4 4 1 3 2 1 2 1 2 3 4 2 2 2 4 1 3 1 1 2 2 2 3 2 4 1 4 3 3 3 1 1 4 4 2 1 1 3 2 4 1 2 4 2 2 3 1 1 3 4 1 2 4 1 3 2 2 1 4 4 2 3 1 2 1 1 2 4 4 4 4 1 1 3
奇异值从大到小依 次排序
T 1v1 0 T v1 0 T r vT r vn 0 0
T T u1 A 1v1 u T A vT r r r
1 1
表示线性变换(矩阵)可以由其特征 根和特征向量还原
AV2
AV3 AQ
方阵还原
矩阵维度相当大时,可以用对角化变化的方法来逼近矩阵:
特征向量:矩阵的特征
A QQ
1 ' 1
特征值:各特征所占的 权重
1 0 v A v1 ,v2 ,,vn v' 0 n n ' ' ' =1v1v1 +2 v2 v2 + +n vn vn v v + v v + + v v
线性变换(矩阵)A的特征值和对应的特征向量为: 1 1 =2,v1 = 0 =1,v = 1 2 2 -1 v1和v2不共线,因此可以作为平面空间内一组新的基。 特征值和特征向量的几何意义为把空间内的向量在 v1方向拉伸为原来的2倍,在v2方向拉伸为原来的1倍。
' 1 1 1 ' 2 2 2 ' r r r
,
rn
思考1
特征值分解使用条件有限,仅适用于方阵,且要求是实 对称矩阵。 试想:如果需要分析的矩阵不是方阵(事实经常如此), 该怎样处理呢?
SVD简介 SVD:奇异值分解 SVD可以看做是特征值分解的一种推广,或者说特 征值分解可以看作是SVD的一种特例。当矩阵不是 方阵时同样适用,应用很广。
SVD矩阵近似(1)
U u1 ,u2 , ,um ,ui :n 1向量(代表矩阵A的行特征) V v1 ,v2 , ,vn ,vi :m 1向量(代表矩阵A的列特征) 1 A 0 0
SVD分解(1)
对任意矩阵A F
左奇异向量
mn
, rank ( A) r ,总可以取A的如下分解
右奇异向量
T A n
A U m V
其中U 、V 为正交矩阵 1 A 0 0 0 0 0 , 0 0
非零奇异值,从大 到小依次排序
数据结构:
训练数据:
测试数据:
评测标准:均方误差根
CineMatch精度:0.951
数据示例1
数据示例 user1 user2 user3
movie1
movie2
movie3
(t11,r11)(t12,r12)(t13,r13) (t21,r21)(t22,r22)(t23,r23) (t31,r31)(t32,r32)(t33,r33)
a11 a1n A a n1 ann
T x1 ,x2 , ,xn T x1 , T x2 , , T xn x1 ,x2 , ,xn A
线性变换
二维空间上,对(x,y)做变换:
对应矩阵A
求解特征向量
(1)1 =2的特征向量:
(2) =1的特征向量: 2 1 x x =1 0 1 y y 2 x +y x = y y 2 x +y =x x =-y y =y (k ,-k )为 =1的特征向量。(k 0)
2 1 A , 0 1 x 2 x +y A = , y y 3 n = , -1 则n在线性变换A的作用下变为 2 3-1 5 n m= = -1 -1
A
特征值的几何意义(2)
特征值的几何意义(3)
对角化变换(特征值分解)
如果线性变换的特征向量可以构成线性空间的一组基,那么有
A QQ
1
其中Q为特征向量组成的矩阵,为对角阵,对角 线上的元素为特征向量对应的特征值。 简证: Q V1 V2 V3 1 0 0 0 0 2 0 0 3 Q 1V1 2V2 3V3 = AV1 A AQQ QQ
矩阵运算(1)
a11 a1n ka11 ka1n 数乘:k = a ka m1 amn m1 kamn 加法: a11 a1n b11 b1n a11 +b11 a1n +b1n + = a b a +b m1 amn m1 bmn m1 m1 amn +bmn 乘法: a11 a21 a 31 a12 b11 b12 a22 b21 b22 a32 c11 c12 b13 = c21 c22 b23 c31 c32 c13 c23 , cij =ai1b1 j +ai 2b j 2 c33
r
A A v
T
i
i vi, i = i
SVD分解(2)
A U AV
T T
U u1 ,u2 , ,um , ui :n 1向量 AV U AV V U A , , T T T T U A U U AV AV V v1 ,v2 , ,vn ,v1:n 1向量 AV U A Av1 , ,Avn = u1 , ,um A 1 Av1 , , Avn = u1 , ,um 0 0 Av1 =u1 1 Av =u r r r 0 r 0 0 = u1 1 , ,u2 r ,0 0 0
求解特征值
2 1 1 0 A ,A v = v v 0 1 0 1 1 0 -A v =0 0 1 -2 -1 v =0 0 -1 -2 -1 =0 0 -1 ( -2)( -1)=0,解得1 =2,2 =1
2 1 x x =2 0 1 y y 2 x +y 2 x = y 2y 2 x +y =2 x y =0 y =2 y k ,0 为特征值2的特征向量。(k 0)
特征值的几何意义(1)
空间内的线性映射称之 为线性变换。
线性变换的矩阵表示
设x1 ,x2 , ,xn为数域P上线性空间V 的一组基,T 为V 的 线性变换。基向量的向可以被基线性表示出来,设 T x1 =a11 x1 +a12 x2 + +a1n xn T x2 =a21 x1 +a22 x2 + +a2 n xn , T x =a x +a x + +a x n n1 1 n2 2 nn n 用矩阵表示即为:
x'=x +y 2 1 x 2x +y = ,矩阵表示: = y'=y 0 1 y y 线性变换的特征值: A为线性变换的矩阵表示,如果存在非0值和向量v,满足 Av = v, 则称为线性变换的特征值,v为特征值对应的特征向量。
线性空间的基
基实际就是一组人为规定的 参照物,用来描述空间内的 其他向量
x=(1,0), y=(0,1), c(5,3)=5x+3y, 则c在基x,y下的坐标为(5,3); a=(1.5,1.5), b=(2,0), c=(5,3)=2a+b, 则c基a,b下的坐标为(2,1);
线性映射&线性变换
SVD
特征值 奇异值
Netflix Prize背景介绍
目标:
悬赏100万美元,将Netflix的推荐算法预测准确度提高10%。 用户ID、电影名称、日期、分数(1-5之间的整数) 48万用户对两万部电影的上亿条评分 包括一个与测试数据集分布相同的probe数据集,包含06年附近140多万条的 数据点,每个用户至少对9部电影进行了打分,服从正态分布。 280万个数据点(隐藏的,参赛选手不能获得,并且参赛选手自己也不能获得 自己模型作用在测试数据集上的最终效果)
SVD算法解析
1 A 0 0
0 r 0
0 , 0 0
奇异值从大到小依 次排序
A A v v , =
T i i i i
i
可以看作是矩阵A的“平方”,而奇异值又是A“平方”阵的特征 根的开方,因此奇异值可以看作是矩阵A的“伪特征向量”,左奇 异向量可以看作矩阵A的“行特征向量”,右奇异向量可以看作是 矩阵A的“列特征向量”。