-
给定训练集
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]T
wi=[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)2
21只是为了求导方便留下的。这就是最小二乘法的目标函数。
-
将上面式子转化为矩阵运算:
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×1
X=[x1,x2,…,xn]∈Rd+1×n
xi=[xi1,xi2,…,xid,1]T∈Rd+1×1
wi=[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)
-
线性模型的学习算法主要有:最小二乘法和梯度下降法