码迷,mamicode.com
首页 > 其他好文 > 详细

Stanford机器学习[第三课]-欠拟合与过拟合

时间:2015-05-29 23:16:50      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:方法   机器学习   算法   拟合和过拟合   

1.本次课程大纲

  • 局部加权回归: 线性回归的变化版本
  • Probability interpretation:另一种可能的对于线性回归的解释
  • Logistic回归: 基于2的一个分类算法
  • 感知器算法: 对于3的延伸,简要讲
  • 牛顿方法(用来对logistic进行拟合的算法,这节课没讲)

2.过拟合与欠拟合的距离

评估房子的价格,假设三种拟合算法:
(1)X1=size, 拟合出一条线性曲线;
(2)x1=size,x2=(size)2,拟合出一条二次曲线;
(3)训练集共有7个数据,建立六个特征,拟合出一个六次多项式。

对于第三种方案,Jθ=0,可以完全拟合这7个数据点,但是并不能反映出真实的房价,属于过拟合的一个极端例子;第一种情况由于特征不足,未能捕获到一些数据点,同样未能很好的展示房价的趋势,属于欠拟合的例子;相比于第一和第三,第二种情况较为合理(只是同第一第三相比较,具体是否欠拟合或过拟合,还需验证)

So, two problems:
a) How to judge whether a hypothesis is over fitting or under fitting?
Andrew Ng教授是这么说的:对于一个监督学习模型来说,过小的特征集合使得模型过于简单,过大的特征集合使得模型过于复杂。

Summarize:
对于特征集过小的情况,称之为欠拟合(underfitting);
对于特征集过大的情况,称之为过拟合(overfitting)

b) How to solve these two problems above?
(1) 特征选择算法:一类自动化算法,在这类回归问题中选择用到的特征
(2)非参数学习算法:缓解对于选取特征的需求,引出局部加权回归

3.非参数学习算法:可以不用考虑特征选择

参数学习算法(parametric learning algorithm):参数学习算法是一类有固定数目参数,以用来进行数据拟合的算法。线性回归即使参数学习算法的一个例子。

下面是非参数学习方法

局部加权回归(LOESS):距离较近的点贡献的权重大,用一个波长参数控制距离对贡献的影响大小。(即便是无参的,仍然不能避免过拟合和欠拟合,权重参数仍然影响拟合的准确性),那么如何确定bandwidth parameter?

总结:对于局部加权回归,每进行一次预测,都要重新拟合一条曲线。但如果沿着x轴对每个点都进行同样的操作,你会得到对于这个数据集的局部加权回归预测结果,追踪到一条非线性曲线。

4.概论解释

根据经验发现:高斯分布是回归问题中误差分布的很好假设。另外用高斯分布假设误差在数学上也便于处理。

似然性与概率,说法上的区别,数据的概率、参数的似然性。

极大似然估计:chooseθ to maximize the likelihood. In other words, choose the parameter to make the data as probably big as possible. 即选择恰当的参数,使得数据出现的可能性尽可能的大。

为了数学上的便利性,定义θ的似然性L(θ)=log L(θ)(注:在一些实际数学建模应用时经常这样,比如现有一组微博用户的数据,数据中有这样一个维度特征:一个账号所发微博数,假设现在想挖掘微博意见领袖,把账号所发微博数作为一个特征,而我们认为发10条微博与发100条微博用户有明显的活跃度不同,而发1000条微博与发1090条微博的活跃差明显不如10条与100条的,所以此时最好先用LOG对数据进行预处理;同理,对数据的平滑处理也是一个道理)

最小二乘法解决的问题:最小化成本函数,寻找最佳θ拟合曲线。

但为什么是最小二乘,而不是面积绝对值或其他?

由此概率解释引出以下第一个要学习的分类算法

5.Sigmoid function和Logistic回归算法

先介绍一个Sigmoid函数:

技术分享

它的函数图如下所示
技术分享

这是要学习的第一个分类算法。之前的回归问题尝试预测的变量y是连续变量,在这个分类算法中,变量y是离散的,y只取{0,1}两个值。

一般这种离散二值分类问题用线性回归效果不好。比如x<=3,y=0;x>3,y=1,那么当x>3的样本占得比例很大是,线性回归的直线斜率就会越来越小,y=0.5时对应的x判决点就会比3大,造成预测错误。

classification 目标值是离散的,例如0,1.(eg,判断肿瘤是否良性);对此类分类问题应用线性回归是一个糟糕的主意。

解决肿瘤的问题,令Py=1|x;θ=hθ(x), Py=0|x;θ=1?hθ(x),合并上述两个公式为Py|x;θ=hθ(x)y(1?hθ(x))1?y,这里的hθ(x)即是logistic函数,即将一条数据是良性肿瘤的值转化成了Logistic函数计算的概率值。h(θ)的表达式如下

技术分享

我们会得到一个极大似然函数:

技术分享

对极大似然函数取对数

技术分享

接下来怎么去的这个函数的最大值呢?下面是推导过程,对θ求偏导;
技术分享

事实上,我们使用的是 g(z)=g(z)(1?g(z)),因此可以得到下面这个梯度上升算法:

技术分享

6.感知器算法

在logistic方法中,g(z)会生成[0,1]之间的小数,但如何是g(z)只生成0或1?
所以,感知器算法将g(z)定义如下:

技术分享

说明:可以根据这个感知器算法对我们的回归结果做一个分类处理。下面是感知学习算法的整个公式:

技术分享

总结的不是很好,做个笔记,一步一步改善吧。

Referenc

视频链接:http://open.163.com/movie/2008/1/E/B/M6SGF6VB4_M6SGHM4EB.html


机器学习持续更新中

Stanford机器学习[第三课]-欠拟合与过拟合

标签:方法   机器学习   算法   拟合和过拟合   

原文地址:http://blog.csdn.net/dream_angel_z/article/details/46240115

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!