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

原创 2016年08月30日 20:38:12

斯坦福公开课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类似.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Stanford Machine Learning 公开课笔记(1) Linear Regression

【NOTES】 regression: to predict the continues valued output. classification: to predi...

斯坦福公开课Machine Learning笔记(二)--Classification and Logistic Regression

斯坦福公开课Machine Learning笔记(二)–Classification and Logistic Regression Logistic Regression

machine learning公开课学习(一):linear regression(I)

作业链接:ex2 linear regression 参数更新的具体公式推导:ex2 homework: 1.x = load('ex2x.dat'); y = load('ex2y.dat');...

Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”

斯坦福大学机器学习第四课"多变量线性回归“学习笔记,本次课程主要包括7部分: 1) Multiple features(多维特征) 2) Gradient descent for multiple...

Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

斯坦福大学机器学习第二课"单变量线性回归“学习笔记,本次课程主要包括7部分: 1) Model representation(模型表示) 2) Cost function(代价函数,成本函数) ...

Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)” 发表于 2012年05月6号 由 52nl...

《机器学习》(Machine Learning)——Andrew Ng 斯坦福大学公开课学习笔记(一)

看到蘑菇街招聘的一个加分项是学过Andrew Ng的机器学习课程,于是找来看了下目录,大多数内容之前在PRML中有接触过,研究生课程智能信息处理中也有接触,但觉得不够系统,于是按斯坦福的公开课课表过一...

斯坦福公开课Machine Learning笔记(九)--The K-means Clustering Algorithm

斯坦福公开课Machine Learning笔记(九)–The K-means Clustering Algorithm k-means聚类

斯坦福公开课Machine Learning笔记(十一)--Factor Analysis

斯坦福公开课Machine Learning笔记(十一)–Factor Analysis factor analysis 因子分析

《机器学习》(Machine Learning)——Andrew Ng 斯坦福大学公开课学习笔记(三)

第5集 生成学习算法 (一)生成学习模型: 例如:恶性和良性癌症的问题,分别对样本中恶性癌症和良性癌症的特征分别建模,当有新的样本需要判定时,看它是和哪个模型更像,进而预测该样本是良性还是恶性 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)