-
给定训练集D=(x1,y1),(x2,y2),…,(xn,yn)其中xi∈Rd;y∈R;线性回归模型如下:f(xi)=wTxi+b并且我们期望得到的模型有下面式子成立:f(xi)≈yi
-
为便于讨论我们将将b并入到w中:xi=[xi1,xi2,…,xid,1]Twi=[wi1,wi2,…,wid,b]T所以线性回归模型可以表示为:f(xi)=wTxi
-
我们将每个样本的预测值与真实值记为:εi yi=wTxi+εi
-
假设误差εi是独立同分布的,并且服从高斯分布。即:P(εi)=2πσ1exp(−2σ2εi2)εi=yi−xi带入得到:P(yi∣xi,w)=2πσ1exp(−2σ2(yi−wTxi)2)已知参数w和数据xi的情况下,预测值为yi的条件概率.
-
注:这个地方个人感觉比较疑惑:P(εi)按理来说表示的是误差为εi时的概率,为啥一下变成预测值为yi的条件概率了呢?个人的一个理解:当我们的模型f(xi)=wTxi确定后,w是固定的,所以我们向模型输入一个xi都会有一个预测值f(xi)输出,并且预测值是唯一确定的。而样本xi的标签yi也是唯一确定的;那么误差εi也唯一确定的并且与标签yi是一一对应关系,所以εi的概率就等于yi的概率。
-
于是可以得到最大似然函数:L(w)=i=1∏nP(yi∣xi,w)=i=1∏n2πσ1exp(−2σ2(yi−wTxi)2)取对数:l(w)=i=1∑nlog(P(yi∣xi,w))=i=1∑nlog(2πσ1)−i=1∑n2σ2(yi−wTxi)2=nlog(2πσ1)−2σ21i=1∑n(yi−wTxi)2
-
使用极大似然估计法最大化上面函数得到w,从而得到模型。由于上面函数为w的函数所以其它量都是常量,则最大化l(w)就是最小化下面公式:J(w)=21i=1∑n(yi−wTxi)221只是为了求导方便留下的。这就是最小二乘法的目标函数。
-
将上面式子转化为矩阵运算:J(w)=21i=1∑n(yi−wTxi)2=21∣∣∣∣∣∣∣∣∣⎣⎢⎢⎢⎡y1−wTx1y2−wTx2⋮yn−wTxn⎦⎥⎥⎥⎤∣∣∣∣∣∣∣∣∣2=21∣∣Y−XTW∣∣2=21(Y−XTW)T(Y−XTW)其中:Y=[y1,y2,…,yn]T∈Rn×1X=[x1,x2,…,xn]∈Rd+1×nxi=[xi1,xi2,…,xid,1]T∈Rd+1×1wi=[wi1,wi2,…,wid,b]T∈Rd+1×1∣∣为行列式
-
将J(w)称为线性回归模型的目标函数或损失函数,该函数是凸函数,只要找到一阶导数为0的位置,就找到了最优解
-
对J(w)求导:∂w∂J(w)=21∂w∂((Y−XTW)T(Y−XTW))=21∂w∂(YTY−YTXTW−WTXY+WTXXTW) 由于YTXTW为一个常数所以:YTXTW=(YTXTW)T=WTXY所以有:∂w∂J(w)=21∂w∂(YTY−2WTXY+WTXXTW)=−∂w∂(WTXY)+21∂w∂(WTXXTW)=−XY+21∂w∂(WT(XXTW)+∂w∂((WTXXT)W)=−XY+21(XXTW+(WTXXT)T)=XXTW−XY=X(XTW−Y)
-
线性模型的学习算法主要有:最小二乘法和梯度下降法