机器学习补数学
线性代数
特征值与矩阵分解
特征值与特征向量
- 矩阵对向量可以做拉伸也可以旋转
图一的【x,y】向量可以看为一个小方块的单位向量,与对角矩阵相乘之后x轴被拉伸。
图2的M矩阵在对角矩阵的基础上新增了一角,可以实现旋转的操作。
-
特征值和特征向量描述了什么?
可以把方向当做是特征向量,在这个方向上用了多大力量就是特征值。
-
特征向量的数学定义
对于给定的矩阵A,寻找一个常数λ和一个非零向量x,使得向量x被矩阵A作用后所得的向量Ax与原向量x平行,并且满足Ax = λx。
SVD
通俗来讲,若是一个矩阵维度太大,但又比较稀疏,可以将其分解为两个小维度矩阵相乘。
基变换
基类似于基底,再通俗一些就像坐标轴上指定每个点位置的x和y,这两个可以称为一组基。
基变换:数据与一个基做内积运算,结果就作为第一个新的坐标分量,与第二个基做内积运算,结果就是第二个新坐标的分量。
特征值分解
A
=
U
Λ
U
−
1
A = UΛU^{-1}
A=UΛU−1
上式把矩阵A分解为特征向量乘对角阵乘特征向量的逆。
当然前提是N*N得方阵且有N个线性无关的特征向量时就可以。
特征值中比较大的就可以选为这个矩阵的代表。
使用SVD
如果矩阵形状改变,可以用如下方式
但若是M和N都比较大,这种方式却会增加计算量。联系特征值分解,可以取其中较大的特征值的部分来进行操作分解。
按照特征值大小进行筛选,一般取10%(甚至更少)的特征值的和就能占到了总体的99%,假设取前k个。
SVD推导
前提:对于一个二维矩阵M可以找到一组标准正交基v1和v2使得Mv1和Mv2是正交的。
使用另一组正交基u1和u2来表示Mv1和Mv2的方向
其长度分别为
∣
∣
M
v
1
∣
∣
=
σ
1
||Mv1|| =σ_1
∣∣Mv1∣∣=σ1,
∣
∣
M
v
2
∣
∣
=
σ
2
||Mv2|| =σ_2
∣∣Mv2∣∣=σ2,可得
M
v
1
=
σ
1
u
1
Mv1 =σ_1u_1
Mv1=σ1u1,
M
v
2
=
σ
2
u
2
Mv2 =σ_2u_2
Mv2=σ2u2。
那么若有一个向量X,其在这组基中的表示:
X
=
(
v
1
⋅
X
)
v
1
+
(
v
2
⋅
X
)
v
2
X=(v_1·X)v_1+(v_2·X)v_2
X=(v1⋅X)v1+(v2⋅X)v2,点积表示在这个方向上投影的长度,也可以转换为行向量乘列向量
v
⋅
x
=
v
T
x
v·x=v^Tx
v⋅x=vTx。
对上式两边同时乘M, M X = ( v 1 ⋅ X ) M v 1 + ( v 2 ⋅ X ) M v 2 MX=(v_1·X)Mv_1+(v_2·X)Mv_2 MX=(v1⋅X)Mv1+(v2⋅X)Mv2,继续带入, M X = ( v 1 ⋅ X ) σ 1 u 1 + ( v 2 ⋅ X ) σ 2 u 2 MX=(v_1·X)σ_1u_1+(v_2·X)σ_2u_2 MX=(v1⋅X)σ1u1+(v2⋅X)σ2u2,把点积写为行向量与列向量相乘, M X = v 1 T X σ 1 u 1 + v 2 T X σ 2 u 2 MX=v_1^TXσ_1u_1+v_2^TXσ_2u_2 MX=v1TXσ1u1+v2TXσ2u2,从而得到 M = v 1 T σ 1 u 1 + v 2 T σ 2 u 2 M=v_1^Tσ_1u_1+v_2^Tσ_2u_2 M=v1Tσ1u1+v2Tσ2u2,化简得到 M = U Σ V T M=UΣV^T M=UΣVT。
核函数
主要就是想让传入的数据更加复杂更加丰富,或者是提升数据的维度来增加复杂度。解决低纬度线性不可分问题。
线性核函数
线性核函数不对数据做任何变换。 K ( x i , x j ) = x i T x j K(x_i,x_j)=x^T_ix_j K(xi,xj)=xiTxj,使用场景在特征已经很丰富,样本数据量巨大,需要进行实时得出结果的问题。
多项式核函数
需要给定三个参数,
(
ζ
+
γ
x
T
x
′
)
Q
w
i
t
h
γ
>
0
(ζ+γx^Tx^′)^Qwithγ>0
(ζ+γxTx′)Qwithγ>0,一般情况下二次的更常见:
(
1
+
γ
x
T
x
′
)
2
(1+γx^Tx^′)^2
(1+γxTx′)2
γ
γ
γ对内积进行放缩,
ζ
ζ
ζ控制常数项,Q控制高次项。特例就可以化为线性核函数。
核函数在计算过程中,为了减少计算量,采用了先在低纬度计算内积,之后再把内积转换高纬度的做法,这种做法与先转换高纬度再做内积的方法不仅结果一样,还大大减少了计算量,下图是一个例子。
高斯核函数
一维的高斯:
f
(
x
)
=
a
e
−
(
x
−
b
)
2
2
σ
2
f(x)=ae^\frac{-(x-b)^2}{2σ^2}
f(x)=ae2σ2−(x−b)2
二维的高斯:
A
e
x
p
(
−
(
(
x
−
x
0
)
2
2
σ
x
2
)
+
(
y
−
y
0
)
2
2
σ
y
2
)
)
A exp(-(\frac{(x-x_0)^2}{2σ^2_x})+\frac{(y-y_0)^2}{2σ^2_y}))
Aexp(−(2σx2(x−x0)2)+2σy2(y−y0)2))
高斯核函数公式:
K
(
X
,
Y
)
=
e
x
p
{
−
∣
∣
X
−
Y
∣
∣
2
2
σ
2
}
K(X,Y)=exp\{ \frac{-||X-Y||^2}{2σ^2} \}
K(X,Y)=exp{2σ2−∣∣X−Y∣∣2}
X与Y是两个样本数据,表达两个样本点的相似程度,就像是这两个样本的距离的度量,如果很相似结果就是1,如果很不相似就是0。
通过上述推导可以看出,高斯函数理想情况下甚至可以得到无限维度的特征。
但是在公式中的参数对效果影响是很显著的。
σ
σ
σ越小,越尖,切分的越厉害,越容易过拟合。
熵
熵是指物体内部的混乱程度,或者是一件事发生的不确定性: H ( x ) = − ∑ x ∈ X P ( x ) l o g ( P ( x ) ) H(x)=-\displaystyle \sum_{x\in X}P(x)log(P(x)) H(x)=−x∈X∑P(x)log(P(x)),所有的概率值也就是 P ( X ) P(X) P(X)都是0-1之间,所以最终的 H ( x ) H(x) H(x)也必然是一个正数。
随机变量
似然函数
极大似然估计
在一次抽样中,得到观测值x1,x2…xn。选取θ’(x1,x2…xn)作为θ的估计值,使得θ=θ’(x1,x2…xn)时样本出现的概率最大。
贝叶斯分析
- 贝叶斯分析的思路由证据的积累来推测一个事物发生的概率, 它告诉我们当我们要预测一个事物需要的是首先根据已有的经验和知识推断一个先验概率, 然后在新证据不断积累的情况下调整这个概率。整个通过积累证据来得到一个事件发生概率的过程我们称为贝叶斯分析。
基本概念
- 分布函数
贝叶斯公式
我们最终的目标就是要得到后验分布:
P
r
(
θ
∣
Y
=
y
)
Pr(\theta|Y=y)
Pr(θ∣Y=y)
公式:
P
(
A
∣
B
)
=
P
(
B
∣
A
)
P
(
A
)
P
(
B
)
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
P(A∣B)=P(B)P(B∣A)P(A)。
这个条件概率就是在给定观测数据的时候,求得的参数的概率。以前我们想知道一个参数,要通过大量的观测值才能得出,而且是只能得出一个参数值。而现在运用了贝叶斯统计思想,这个后验概率分布其实是一系列参数值θ的概率分布。
P
r
(
θ
∣
y
)
=
P
r
(
y
∣
θ
)
P
r
(
θ
)
∫
P
r
(
y
∣
θ
)
P
r
(
θ
)
d
θ
Pr(\theta|y) = \frac{Pr(y|\theta)Pr(\theta)}{\int Pr(y|\theta)Pr(\theta) d\theta}
Pr(θ∣y)=∫Pr(y∣θ)Pr(θ)dθPr(y∣θ)Pr(θ)
积分求的区间指的是参数θ所有可能取到的值的域,所以可以看出后验概率是在知道x的前提下在θ域内的一个关于θ的概率密度分布,每一个θ 都有一个对应的可能性(也就是概率)。