本文主要是介绍【Machine Learning公开课】Chapter 3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这一讲Ng主要讲的内容有:局部加权回归,Logistic回归,感知器。
对于一个监督学习模型来说,特征集合太小,会使模型过于简单,称为欠拟合,反之特征集太大,会使模型过于复杂,称为过拟合。解决此类学习问题的方法:
1) 特征选择算法:一类自动化算法,在这类回归问题中选择用到的特征。
2) 非参数学习算法:缓解对于选取特征的需求。
PS:参数学习算法(parametric learning algorithm)
定义:参数学习算法是一类有固定数目参数,以用来进行数据拟合的算法。设该固定的参数集合为。线性回归即使参数学习算法的一个例子。
非参数学习算法(Non-parametric learning algorithm)
定义:一个参数数量会随m(训练集大小)增长的算法。通常定义为参数数量虽m线性增长。换句话说,就是算法所需要的东西会随着训练集合线性增长,算法的维持是基于整个训练集合的,即使是在学习以后。
那么我们看到一种特定的非参数学习算法:局部加权回归,也叫Loess,算法思想如下:
假设对于一个确定的查询点x,在x处对你的假设h(x)求值。
对于线性回归,步骤如下:
1) 拟合出 θ ,使 ∑i(y(i)−θTx(i))2 最小
2) 返回
对于局部加权回归,当要处理x时:
1) 检查数据集合,并且只考虑位于x周围的固定区域内的数据点
2) 对这个区域内的点做线性回归,拟合出一条直线
3) 根据这条拟合直线对x的输出,作为算法返回的结果
用数学语言描述就是:
1) 拟合出 θ ,使 ∑iw(i)(y(i)−θTx(i))2 最小
2) w为权值,这里定义一个指数衰减函数:
w(i)=exp(−(x(i)−x)22τ2)
其意义在于,所选取的x(i)越接近x,相应的w(i)越接近1;x(i)越远离x,w(i)越接近0。直观的说,就是离得近的点权值大,离得远的点权值小。
τ 被称作波长函数,它控制了权值随距离下降的速率。它越小,钟形越窄,w衰减的很快;它越大,衰减的就越慢。
PS:这里定义的指数衰减函数跟高斯分布没有关系,只是长的像而已。
3) 返回 θTx
于是我们可以得到结论:
对于局部加权回归,每进行一次预测,都要重新拟合一条曲线。但如果沿着x轴对每个点都进行同样的操作,你会得到对于这个数据集的局部加权回归预测结果,追踪到一条非线性曲线。
Logistic回归
是一种常用的二分类算法,之前的回归问题尝试预测的变量y是连续变量,在这个分类算法中,变量y是离散的,y只取0和1两个值。
对于这种离散情况下,用线性回归效果并不好,容易造成预测错误。
若y取值{0,1},首先改变假设的形式,使假设得到的值总在[0,1]之间,即: hθ(x)∈[0,1]
那么选取如下函数:
h(θ)=g(θTx)=11+e−θTx
其中 g(x)= 11+e−z ,称为Logistic函数
接下来看感知器,它是一种非常简便的学习算法,输出同样只能是0和1,比Logistic更简单。
在logistic方法中,g(z)会生成[0,1]之间的小数,但如何是g(z)只生成0或1?
所以,感知器算法将g(z)定义如下:
g(z)=1 if z ≥ 0 ; g(z)=0 if z<0
同样令 hθ(x)=g(θTx) ,和logistic回归的梯度上升算法类似,学习规则如下:
θj:=θj+α(y(i)−hθ(x(i)))x(i)j
这就是感知机算法
这篇关于【Machine Learning公开课】Chapter 3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!