本文主要是介绍线性代数|机器学习-P9向量和矩阵范数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. 向量范数
- 2. 对称矩阵S的v范数
- 3. 最小二乘法
- 4. 矩阵范数
1. 向量范数
范数存在的意义是为了实现比较距离,比如,在一维实数集合中,我们随便取两个点4和9,我们知道9比4大,但是到了二维实数空间中,取两点A(1,0),B(3,4),这时候我们就没办法比较它们之间的大小了,因为它们不是可以比较的实数,于是我们引入了范数这个概念,把我们的A,B两个点变成 ∣ ∣ A ∣ ∣ = 0 2 + 1 2 = 1 , ∣ ∣ B ∣ ∣ = 3 2 + 4 2 = 5 ||A||=\sqrt{0^2+1^2}=1,||B||=\sqrt{3^2+4^2}=5 ∣∣A∣∣=02+12=1,∣∣B∣∣=32+42=5,这样我们就可以比较这两个点了,范数它其实是一个函数,它把不能比较的向量转换成可以比较的实数
-
向量的0-范数:非0元素个数
∣ ∣ X ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ 0 \begin{equation} ||X||_1=\sum_{i=1}^n|x_i|^0 \end{equation} ∣∣X∣∣1=i=1∑n∣xi∣0 -
向量的1-范数:各元素的绝对值之和
∣ ∣ X ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ \begin{equation} ||X||_1=\sum_{i=1}^n|x_i| \end{equation} ∣∣X∣∣1=i=1∑n∣xi∣ -
向量的2-范数:解决机器学习中的过拟合问题
∣ ∣ X ∣ ∣ 2 = ( ∑ i = 1 n x i 2 ) 1 2 \begin{equation} ||X||_2=(\sum_{i=1}^nx_i^2)^{\frac{1}{2}} \end{equation} ∣∣X∣∣2=(i=1∑nxi2)21 -
向量的p-范数: 每个元素p次方和再p次方跟
∣ ∣ X ∣ ∣ p = ( ∑ i = 1 n x i p ) 1 p , p ≥ 1 \begin{equation} ||X||_p=(\sum_{i=1}^nx_i^p)^{\frac{1}{p}},p\geq 1 \end{equation} ∣∣X∣∣p=(i=1∑nxip)p1,p≥1 -
向量的 + ∞ + \infty +∞-范数: 所有向量元素绝对值中的最大值
∣ ∣ X ∣ ∣ + ∞ = max i ∣ x i ∣ \begin{equation} ||X||_{+ \infty}=\max \limits_{i}|x_i| \end{equation} ∣∣X∣∣+∞=imax∣xi∣ -
向量的 − ∞ - \infty −∞-范数: 所有向量元素绝对值中的最小值
∣ ∣ X ∣ ∣ + ∞ = min i ∣ x i ∣ \begin{equation} ||X||_{+ \infty}=\min \limits_{i}|x_i| \end{equation} ∣∣X∣∣+∞=imin∣xi∣ -
我们假设在二维平面上,我们就三个范数进行图形形象表达:
-
小结,随着范数越大,图形由原来的菱形膨胀到了正方形,这个正方形就是极限了。这个思路真神奇!!!
2. 对称矩阵S的v范数
假设我们有一个矩阵S和一个列向量v,可得到如下方程
∣ ∣ v ∣ ∣ S = v T S v \begin{equation} ||v||_S=\sqrt{v^TSv} \end{equation} ∣∣v∣∣S=vTSv
- 当 ∣ ∣ v ∣ ∣ S ≤ 1 ||v||_S\leq1 ∣∣v∣∣S≤1,当矩阵S是单位矩阵的时候,那么我们就得到了 L 2 L_2 L2二范数,得到椭圆方程
S = [ 2 0 0 3 ] , v = [ x y ] → [ x y ] [ 2 0 0 3 ] [ x y ] = 1 → x 2 1 2 + y 2 1 3 = 1 \begin{equation} S=\begin{bmatrix}2&0\\\\0&3\end{bmatrix},v=\begin{bmatrix}x\\\\y\end{bmatrix}\rightarrow \begin{bmatrix}x&y\end{bmatrix}\begin{bmatrix}2&0\\\\0&3\end{bmatrix}\begin{bmatrix}x\\\\y\end{bmatrix}=1\rightarrow \frac{x^2}{\frac{1}{2}}+\frac{y^2}{\frac{1}{3}}=1 \end{equation} S= 2003 ,v= xy →[xy] 2003 xy =1→21x2+31y2=1
3. 最小二乘法
我们知道在我们得到很多点的情况下,需要拟合直线能更好的拟合所有点。
y = arg m i n ( A x − b ) 2 \begin{equation} y=\arg \limits_{min}(Ax-b)^2 \end{equation} y=minarg(Ax−b)2
- 我们定义需要拟合的直线方程如下:
c 1 x + c 2 y = b \begin{equation} c_1x+c_2y=b \end{equation} c1x+c2y=b - 那么这个直线的最小二乘值为: z = x 2 + y 2 z=x^2+y^2 z=x2+y2,那么最小二乘的意义就是要在直线上找到一点,使得这个点距离原点的距离最短,那么我们就以原点作为中心画圆,当圆与直线相切的时候,这个距离就是最短的,就是我们要找的点。这个点满足L2范数最小;当我们用一个以原点为中心不断扩大菱形的时候,我们发现,目前以y轴上的与直线的交点为最先相交的点,这个就是L1范数最小值。如图所示
4. 矩阵范数
具体定义请看如下链接:引用别人的笔记-矩阵范数
1-范数:列和范数,即所有矩阵列向量绝对值之和的最大值
2-范数:谱范数,即A’A矩阵的最大特征值的开平方
无穷范数:行和范数,即所有矩阵行向量绝对值之和的最大值
F-范数:Frobenius范数,即矩阵元素绝对值的平方和再开平方
核范数:矩阵A的奇异值之和,貌似很重要,但不太会,后续研究吧
- 矩阵2范数
∣ ∣ A ∣ ∣ 2 = max ∣ ∣ A x ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 , \begin{equation} ||A||_2=\max\frac{||Ax||_2}{||x||_2}, \end{equation} ∣∣A∣∣2=max∣∣x∣∣2∣∣Ax∣∣2, - 代入可得 A v = σ u Av=\sigma u Av=σu
∣ ∣ A ∣ ∣ 2 = max ∣ ∣ A v ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 = max ∣ ∣ σ u ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 = max ∣ ∣ σ u ∣ ∣ \begin{equation} ||A||_2=\max\frac{||Av||_2}{||v||_2}=\max\frac{||\sigma u||_2}{||v||_2}=\max ||\sigma u|| \end{equation} ∣∣A∣∣2=max∣∣v∣∣2∣∣Av∣∣2=max∣∣v∣∣2∣∣σu∣∣2=max∣∣σu∣∣ - 以前证明过向量乘以正交矩阵后范数大小不变, ∣ ∣ σ u ∣ ∣ = ∣ ∣ σ ∣ ∣ ||\sigma u||=||\sigma|| ∣∣σu∣∣=∣∣σ∣∣,最大的 σ \sigma σ为 σ 1 \sigma_1 σ1
∣ ∣ A ∣ ∣ 2 = max ∣ ∣ A v ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 = max ∣ ∣ σ u ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 = max ∣ ∣ σ u ∣ ∣ = σ 1 \begin{equation} ||A||_2=\max\frac{||Av||_2}{||v||_2}=\max\frac{||\sigma u||_2}{||v||_2}=\max ||\sigma u||=\sigma_1 \end{equation} ∣∣A∣∣2=max∣∣v∣∣2∣∣Av∣∣2=max∣∣v∣∣2∣∣σu∣∣2=max∣∣σu∣∣=σ1 - 综上所述可得:
∣ ∣ A ∣ ∣ 2 = max ∣ ∣ A x ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 = σ 1 \begin{equation} ||A||_2=\max\frac{||Ax||_2}{||x||_2}=\sigma_1 \end{equation} ∣∣A∣∣2=max∣∣x∣∣2∣∣Ax∣∣2=σ1
这篇关于线性代数|机器学习-P9向量和矩阵范数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!