版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/winycg/article/details/83834480
线性回归模型
线性函数的定义如下:
h(x)=w1x1+w2x2+...+wdxd+b=wTx+b
给定数据集
D={(xi,yi)}1N,其中
xi,yi都是连续型变量。线性回归试图去学习到
h(x)能准确地预测
y。
回归任务最常用的性能度量就是均平方误差(MSE,mean squared error):
J(w,b)=21i=1∑N(yi−h(xi))2=21i=1∑N(yi−wTxi+b)2
参数的优化:(入门人士只需掌握(1)即可,实用简单)
(1)可以使用梯度下降来优化误差,每一步的更新为:
wj:=wj−η∂wj∂J(w,b)=wj−ηi=1∑N(yi−h(xi))xij,j=1,2,...db:=b−η∂b∂J(w,b)=wj−ηi=1∑N(yi−h(xi)),j=1,2,...d
(2)最小二乘估计:
将
w和
b合起来写为
w^=(w;b),把数据集表示为
N×(d+1)的矩阵,前
d个元素对应属性值,最后一个数为
1对应参数
b。
标记也写为向量的形式:
y=(y1;y2;...;yN),则求最小化误差的参数
w^可表示为:
w^∗=w^minJ(w^)=w^min(y−Xw^)T(y−Xw^)
∂w^∂J(w^)=0⇒2XT(Xw^−y)=0
当
XTX为满秩矩阵(判断矩阵是否可逆的充要条件)或正定矩阵时,上式可解为:
w^=(XTX)−1XTy
此时的回归模型为:
h(xi)=xiT(XTX)−1XTy
当
XTX不是满秩矩阵时,相当于求线性方程组
(XTX)w^=XTy,此时可能解出多个
w^,它们都能使得误差均方误差最小化(所得到的误差都是相同的)。选择哪个将由算法决定,通常引入正则化项来解决。
当加入正则项时,误差为:
w^∗=w^minJ(w^)=w^min[(y−Xw^)T(y−Xw^)+2λ∣∣w^∣∣2]
w^=(XTX+λI)−1XTy
(3)最大似然估计
设
ϵ(i)为样本
i的误差,则有:
y(i)=wTx(i)+ϵ(i),i=1,2,...,N
ϵ(i)与
ϵ(j),i̸=j之间独立同分布,都满足正态分布
ϵ(i)∼N(0,σ2),i=1,2,...,N
p(ϵ(i))=2π
σ1exp(−2σ2(ϵ(i))2)
因为
ϵ(i)=y(i)−wTx(i),
ϵ(i)的概率就是
x(i)能映射到
y(i)的概率。
p(y(i)∣x(i);w)=2π
σ1exp(−2σ2(y(i)−wTx(i))2)
最大化似然函数:
L(w)=i=1∏Np(y(i)∣x(i);w)
取对数似然:
logL(w)=i=1∑Nlog(p(y(i)∣x(i);w)=i=1∑Nlog[2π
σ1exp(−2σ2(y(i)−wTx(i))2)]=i=1∑N[−21log(2π)−logσ−2σ2(y(i)−wTx(i))2]=−N21log(2π)−Nlogσ−2σ21i=1∑N(y(i)−wTx(i))2
最大化对数似然函数等价于最小化均方误差。