斯坦福公开课Machine Learning笔记(一)--Linear Regression

来源:互联网 发布:淘宝网店需要交税吗 编辑:程序博客网 时间:2024/05/01 09:00

斯坦福公开课Machine Learning笔记(一)–Linear Regression

这系列笔记其实已经手写好, 现在一次性发上来, 主要是怕丢. 内容以Andrew Ng的讲义为主,主要以公式推导与理解为主,引入和介绍省略.对于最后的Reinforcement Learning部分, 由于没有讲义以及对其实在不熟悉, 就没有笔记了(主要还是因为没有讲义).

机器学习的定义:

对于某个任务T,某个程序有了评测方法P,如果在经验E的影响下,P对T的测量结果得到了改进,那就说明程序从E中学习到了.

一.Linear Regression

  • 训练集:S={(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}
  • 预测函数:
    hθ(x)=θ0+θ1x

    改写成向量:
    hθ(x)=i=1nθTx

    其中x中增加了一项常数项1
  • Lost Function:
    J(θ)=12i=1n(hθ(x(i))y(i))2

    这里的代价函数使用的是最小二乘.(那为何是平方呢?后面会有解释)

1. Least mean squares algorithm

θj:=θjαθjJ(θ)

其中α为学习速率.
θjJ(θ)=θj12i=1m(hθ(x(i))y(i))2=(i=1mhθ(x(i))y(i))×θji=1m(hθ(x(i))y(i))=(hθ(x)y⃗ )xj

使用梯度下降法(batch gradient descent)来最小化代价函数:
Repeat until convergence{
θj:=θjα(hθ(x)y)xj

}
梯度下降法在机器学习中是非常常见的优化算法, 但是每次更新参数θ 都需要完整跑一边训练集,当在数据量很大时, 效率会很低,尤其在深度学习中.所以就又有了随机梯度算法和minibatch gradient descent.

随机梯度下降法:
Loop{
for i=1 to m{

θj:=θjα(hθ(x(i))y(i))x(i)j(for every j) 

}
}
随机梯度算法的效率会比梯度下降算法提高很多,他会在其中某几步不是向着最小误差的方向,但是总体方向是向着最小值的.然而随机梯度下降法很可能无法到达最小值,只能在最小值附近徘徊.

batch gradient descent 和minibatch gradient descent的区别其实就是在,batch是一次训练一整个训练集, 而minibatch是一次训练部分训练集.在一定程度上保证了准确性,同时提高了效率.

2.The normal equations

使用梯度下降法需要不断迭代来得到最后的参数, 而 the normal equations可以一次求出θ,在某些数据集比较少的情况下, 效果比较好.

首先把训练集向量化:

X=x(1)Tx(2)Tx(m)T
y=y(1)y(2)y(m)

所以:
xθy=x(1)Tθy(1)x(2)Tθy(2)x(m)Tθy(m)

zTz=iz2i
J(θ)=12mi=1(hθ(x)(i)y(i))2=12(Xθy)T(Xθy)
θJ(θ)=θ12(xTθy)T(xTθy)=θ12(θTXTXθθTxyyTXθ+yTy)=12θtr(θTXTXθθTxyyTXθ+yTy)(,tr, tr)=12θ(tr(θTXTXθ)2tr(yTXθ))(trA=trAT,yTyθ)=12(XTXθ+XTXθ2XTy)(AT=θ,Atr(AB)=BT,B=BT=XTX,ATtrABATC=BTATC+BATC,Atf(A)=(Af(A))T)=XTXθXTy=0(0)

XTXθ=XTy
θ=(XTX)1XTy

3.Probabilistic interpretation

对于线性回归中,为什么J(θ)中使用的是LMS而不是其他次幂? 其实有其概率解释:

y(i)=θTx(i)+ϵ(i)

其中ϵ(i)是我们对未考虑的特征的描述,其实就是误差了.且假设其独立并且服从N(0,σ2).
P(ϵ(i))=12πσexp((ϵ(i))22σ2)
P(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)
y(i)|x(i);θN(θx(i),σ2)

:

L(θ)=i=1mP(y(i)|x(i);θ)=i=1m12πσexp((y(i)θTx(i))22σ2)

:
l(θ)=logL(θ)=logi=1m12πσexp((y(i)θTx(i))22σ2)=i=1mlog(12πσexp((y(i)θTx(i))22σ2))=mlog12πσ1σ212i=1m(y(i)θTx(i))2

最大化 l(θ) 其实就是最小化12mi=1(y(i)θTx(i))2,其中σ 其实并不影响θ

4.Locally weighted linear regression

在线性回归中很容易出现过拟合的现象.因为要拟合全部的样本比较难,所以可以考虑拟合局部样本:
1. minθiw(i)(y(i)θTx(i))2
2. output:θTx
其中w(i) 为样本的权重, w(i)=exp((x(i)x)22τ2).这个公式与高斯函数有些类似,但是并没有关系.
局部加权线性回归是非参算法,预测时需要训练集临时训练出θ ,再进行预测,与KNN类似.

1 0
原创粉丝点击