【ML学习笔记】3:机器学习中的数学基础3(特征值,特征向量,认识SVD)

矩阵乘以向量的几何意义

这里写图片描述
实际上也就是
这里写图片描述
所以,它还可以写成
这里写图片描述
那么把原来的矩阵按照列视图来看,也就是
这里写图片描述
而[x]和[y]作为1x1的矩阵,在刚刚那个式子里可以看成一个标量,也就变成了
这里写图片描述
所以矩阵乘以一个列向量,可以看成把这个列向量的每一个分量当做一个权重,而把刚刚那个矩阵分成几个列向量,用这些权重去对这些分解出的列向量做一定的线性组合,然后得到了一个新的列向量。
而(x,y)也就可以看成(1,5)这个向量在(2,1)向量和(-1,1)向量为单位构成的坐标系上的坐标
这里写图片描述

方阵的特征值和特征向量

如果对于方阵A,存在一个列向量x,满足Ax=λx,则x就是矩阵A的特征向量,而λ是相应的特征值。

一个例子

这里写图片描述
比如对于方阵A,我们去看一下A矩阵乘以这三个向量得到的向量:
这里写图片描述
显然Ax1,Ax2是找不到一个对应的λ使得前面的等式成立的,而对于Ax3可以找到λ=5,所以x3是A的一个特征向量,5就是对应的特征值。

几何意义

对于列向量x,在其前面乘以了这个方阵A相当于对向量进行了旋转和缩放:
这里写图片描述
在上图中可以看到,x1和x2经过方阵A给予的旋转缩放后,所得向量和之前的列向量并不共线,所以找不到一个特征值λ。而对于x3这个向量:
这里写图片描述
经过方阵A给予的旋转缩放后,所得向量和之前的列向量(x3)是共线的,所以就能找到一个常数λ,作为这个缩放的方向和倍数,这里λ=+5也就是与x3同方向放大了5倍。

初识SVD

SVD(矩阵的奇异值分解)是机器学习中一个重要的降维算法。假如有这样一个矩阵,每一行表示一个文本,这个文本中只可能出现n种单词,在这行记录每一个单词的出现次数,也就形成了一个矩阵:
这里写图片描述
列数n可能会非常大,也就是每一行对应的向量维数会很大,不便于处理。我们想把它截短成一个较小的长度,实际上也就是降维的工作。
SVD所做的也就是把这个原始矩阵拆分成三个矩阵相乘的形式:
这里写图片描述
中间的矩阵是一个对角矩阵,表示原来信息矩阵中的特征和向量(也就是行和列)相关的重要程度。对这个对角矩阵Σ的主对角元排一下序(从左上角到右下角从大到小排序),然后从中截取出左上角的一个小方阵:
这里写图片描述
因为剩下的那些主对角元都比较小,干脆就把它们删去,这样之前一个比较大的对角矩阵就变成了一个比较小的对角矩阵。因为它的行和列压缩了,相应地,第一个矩阵的列数和第三个矩阵的行数也会被压缩,这样就把原来的信息矩阵的列数压缩(每一行的向量降维)了。
这里写图片描述
SVD所做的也就是从一堆特征中提取出最重要的那些特征,放弃那些不那么重要的特征,从而实现降维。

矩阵运算的优势

因为矩阵运算在底层有优化(例如学过的矩阵连乘的优化算法),所以在机器学习中尽量将多重循环等复杂的运算变成矩阵运算的方式,能优化性能。
比如之前学习过的得分函数的一个简单例子,Function(色泽,口感,…,大小)=w0+w1*色泽+w2*口感+..+wn*大小,那么权重w1~wn就是一个列向量,而每个商家的苹果的特征构成了一个矩阵,所做的正是矩阵乘以这个列向量(矩阵列视图下列向量根据这个权重列向量的线性组合)。
这里写图片描述
类似地,算损失函数也可以用矩阵运算来做,更快更好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值