机器学习多元线性回归模型推导
1 基础知识必备
1.1 线性代数
矩阵的运算
线性代数在数学、物理和计算机方面扮演的角色是非常非常重要,建议大家可以在闲暇时间认真复习复习相关的知识,对于我们理解自己的相关工作以及提升自己非常有用。接下来就简单且“重点”的概括一下矩阵的运算,毕竟在后面的推导以及学习过程中要用到。
定理一 设
A,
B,
C均为
m×n矩阵,
k,
l为数. 则
-
A+B=
B+A;(加法的交换律)
-
(A+B)+C=A+(B+C; (加法的结合律)
-
A+0=A;(加法单位元的存在性)
-
A+(−A)=0;(加法逆元的存在性)
-
1A=A;
-
(kl)A=k(lA);
-
k(A+B)=kA+kB;(数乘对加法的结合律)
-
(k+l)A=kA+lA;(数的加法对数乘的分配率)
定理二 设
A,
B,
C都是矩阵,
k是数.则在下列各项中有意义的情况下,等式成立.
-
(AB)C=A(BC);(乘法的结合律)
-
k(AB)=k(A)B=A(kB);
-
AE=A,EB=B;(乘法单位元的存在性)
-
A(B+C)=AB+AC; (乘法对加法的左分配率)
-
(A+B)C=AC+BC. (乘法对加法的右分配率)
定义 设矩阵
A为
m×n . 称矩阵
B为A的转置,记做
B=AT 或
B=A′,如果
B是一个
n×m矩阵并且对任意
i=1,2,...,n,j=1,2,...,m,[B]ij=Aji,也就是说,如果
A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤
则
AT=⎣⎢⎢⎢⎡a11a12⋮a1Na21a22⋮a2n⋯⋯⋱⋯am1am2⋮amn⎦⎥⎥⎥⎤
特别地,
n维列向量
α=⎣⎢⎢⎢⎡a1a2⋮an⎦⎥⎥⎥⎤
的转置
αT是一个
n维行向量,
n维行向量的转置是一个
n维列向量.
定理三 设
A,
B都是矩阵,
k是数,如果下列等式中的运算都有意义,那么等式成立
-
(AT)T=A;
-
(A+B)T=AT+BT;
-
(kA)T=kAT;
-
(AB)T=BTAT;
1.2 概率论与数理统计
具体的关于推导后面的博文会讲到,主要是极大似然估计以及概率的一些基础知识(很重要)。
2 多元线性回归
给定数据集
D=(x1,y1),(x2,y2),...,(xm.,ym),其中
xi=(xi1;xi2;...xid),yi∈R.样本由
d个属性描述,试图得到
f(xi)=ωTxi+b,使得f(xi)≃yi
利用最小二乘法来对
ω和
b进行估计,为了便于讨论,将
ω和
b吸收入向量形式
w^=(ω;b),相应的,把数据集
D表示为一个
m×(d+1)大小的矩阵
X,其中每行对应于一个示例,该行前d个元素对应于示例的
d个属性值,最后一个元素恒置为1,即
X=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋱⋯x1dx2d⋮xmd11⋮1⎦⎥⎥⎥⎤
再把标记也写出向量形式
y=(y1;y2;..;ym),则有
ω^∗=argminω^(y−Xω^)T(y−Xω^)
令
Eω^=(y−Xω^)T(y−Xω^),则采用上面矩阵的相关运算可得
Eω^=(y−Xω^)T(y−Xω^)=(yT−ω^TXT)(y−Xω^)=ω^TXTXω^−ω^TXTy−yTXω^+yTy
对上式对
ω^求导
∂ω^∂Eω^=∂ω^∂(ω^TXTXω^−ω^TXTy−yTXω^+yTy)=2XTXω^−XTy−yTX=2XTXω^−XTy−XTy=2XT(Xω^−y)
令上式为零可得
ω^最优解的闭式解,但是由于涉及矩阵运算逆的运算,比单变量的情形复杂一些,下面做一些讨论:
-
当
XTX为满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix)时,令上式为零,可得
ω^∗=(XTX)−1XTy
最终学得的线性回归模型为
f(xi^)=xi^(XTX)−1XTy
因此在编程中要判断上述条件是否成立,不成立则不能进行运算。
-
如果
XTX不是满秩矩阵,则引入正规项(regularization)进行处理,具体的讨论在后面博客中讨论
3 总结
机器学习的学习是一个循序渐进的过程,对于好多理论公式的推导是非常有必要的,因此后期我会一一推导相关的公式,希望可以跟这个领域的大牛们交流讨论,谢谢大家了!