眷恋你的方圆

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

(大部分都不是自己写的,而是看完视频再总结的过程中看到有的博客已经总结的很好了,只是拿来保存一下,非原创)

复习:

(x(i),y(i))  第 i 个样本,样本总数为 m

,以参数向量为条件,对于输入x,输出为:

hθ(x(i))=θTx

n为特征数量

最小二乘法:

通过正规方程组推导的结论:                  

 

 

一、 过拟合与欠拟合

  
   1、欠拟合:

    欠拟合就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据,例如下面的例子:

    左图表示size与prize关系的数据,中间的图就是出现欠拟合的模型,不能够很好地拟合数据,如果在中间的图的模型后面再加一个二次项,就可以很好地拟合图中的数据了,如右面的图所示。

 

  2、过拟合:

    通俗一点地来说过拟合就是模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差。例如下面的例子。

    若训练集有7个数据,则可拟合出最高6次的多项式,可以找到一条完美的曲线,该曲线经过每个数据点。但是这样的模型又过于复杂,拟合结果仅仅反映了所给的特定数据的特质,不具有通过房屋大小来估计房价的普遍性。

    过拟合 中的到的曲线仅仅反应了特定数据的 特质,不具有普遍性

 

二、参数学习算法和非参数学习算法

    解决此类学习问题的方法:

 

    1)       特征选择算法:一类自动化算法,在这类回归问题中选择要用到的特征

 

    2)       非参数学习算法:缓解对于选取特征的需求,引出局部加权回归

 

 

参数学习算法(parametric learning algorithm)

 

定义:参数学习算法是一类有固定数目参数,以用来进行数据拟合的算法。设该固定的参数集合为。线性回归即使参数学习算法的一个例子

 

 

 

非参数学习算法(Non-parametric learning algorithm)

 

定义:参数的 数目会随着训练集合的大小线性增加

 

 

   局部加权回归(Locally Weighted Regression)

 

  一种特定的非参数学习算法。也称作Loess。

 

 

 

算法思想:

 

假设对于一个确定的查询点x,在x处对你的假设h(x)求值。

 

 

 

对于局部加权回归,当要处理x时:

 

1)       检查数据集合,并且只考虑位于x周围的固定区域内的数据点

 

2)       对这个区域内的点做线性回归,拟合出一条直线

 

3)       根据这条拟合直线对x的输出,作为算法返回的结果

 

 

 

用数学语言描述即:

 

1)       拟合出,使     最小

 

2)       w为权值,有很多可能的选择,比如:

 

    if |x(i)-x|  small  then  w(i)≈1

    if |x(i)-x|  large  then  w(i)≈0

 

-          其意义在于,所选取的x(i)越接近x,相应的w(i)越接近1;x(i)越远离x,w(i)越接近0。直观的说,就是离得近的点权值大,离得远的点权值小。

 

-          这个衰减函数比较具有普遍意义,虽然它的曲线是钟形的,但不是高斯分布。

 

-          被称作波长函数,它控制了权值随距离下降的速率。它越小,钟形越窄,w衰减的很快;它越大,衰减的就越慢。

 

3)       返回

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

 

  *局部加权回归的问题:

由于每次进行预测都要根据训练集拟合曲线,若训练集太大,每次进行预测的用到的训练集就会变得很大,有方法可以让局部加权回归对于大型数据集更高效,详情参见Andrew Moore的关于KD-tree的工作。

 

 

 

  

3、 概率解释

 

 

 

概率解释所解决的问题:

 

在线性回归中,为什么选择最小二乘作为计算参数的指标,使得假设预测出的值和真正y值之间面积的平方最小化?

 

 

 

我们提供一组假设,证明在这组假设下最小二乘是有意义的,但是这组假设不唯一,还有其他很多方法可以证明其有意义。

 

 

 

(1)      假设1:

 

假设输入与输出为线性函数关系,表示为:

 

其中,为误差项,这个参数可以理解为对未建模效应的捕获,如果还有其他特征,这个误差项表示了一种我们没有捕获的特征,或者看成一种随机的噪声。

 

 

 

假设服从某个概率分布,如高斯分布(正态分布):,表示一个均值是0,方差是的高斯分布。

 

高斯分布的概率密度函数:

 

 

根据上述两式可得:

 

 

即,在给定了特征与参数之后,输出是一个服从高斯分布的随机变量,可描述为:

 

*为什么选取高斯分布?

 

1)         便于数学处理

 

2)         对绝大多数问题,如果使用了线性回归模型,然后测量误差分布,通常会发现误差是高斯分布的。

 

3)         中心极限定律:若干独立的随机变量之和趋向于服从高斯分布。若误差有多个因素导致,这些因素造成的效应的总和接近服从高斯分布。

 

 

 

注意:并不是一个随机变量,而是一个尝试估计的值,就是说它本身是一个常量,只不过我们不知道它的值,所以上式中用分号表示。分号应读作“以…作为参数”,上式读作“给定x(i)以为参数的y(i)的概率服从高斯分布”。

 

 

 

假设每个 IID(independently and identically distributed)独立同分布

 

即误差项彼此之间是独立的,并且他们服从均值和方差相同的高斯分布

 

 

 

(2)      假设2:

 

的似然性为(即给定x(i)以为参数的y(i)的概率):

 

由于是独立同分布,所以上式可写成所有分布的乘积:

 

 

 

 

(3)      假设3:

 

极大似然估计:选取使似然性最大化(数据出现的可能性尽可能大)

 

定义对数似然函数

 

 

上式两个加项,前一项为常数。所以,使似然函数最大,就是使后一项最小,即:

 

 

这一项就是之前的 ,由此得证,即之前的最小二乘法计算参数,实际上是假设了误差项满足高斯分布,且独立同分布的情况,使似然最大化来计算参数。

 

 

 

注意:高斯分布的方差对最终结果没有影响,由于方差一定为正数,所以无论取什么值,最后结果都相同。这个性质会在下节课讲到。

 

 

 

4、 Logistic回归

 

 

 

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

 

 

 

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

 

 

 

y取值{0,1},首先改变假设的形式,使假设得到的值总在[0,1]之间,即:

 

所以,选取如下函数:

 

 

其中:

 

 

g函数一般被称为sigmoid函数,图像如下:

 

 

 

z很小时,g(z)趋于0,z很大时,g(z)趋于1,z=0时,g(z)=0.5

 

 

 

对假设的概率解释:

 

假设给定x以为参数的y=1和y=0的概率:

 

 

可以简写成:

 

参数的似然性:

 

 

求对数似然性:

 

 

为了使似然性最大化,类似于线性回归使用梯度下降的方法,求对数似然性对的偏导,即:

 

 

因为求最大值,此时为梯度上升。

 

偏导数展开:

 

 

则:

 

 

即类似上节课的随机梯度上升算法,形式上和线性回归是相同的,只是符号相反,logistic函数,但实质上和线性回归是不同的学习算法。

 

 

 

5、 感知器算法

 

 

 

logistic方法中,g(z)会生成[0,1]之间的小数,但如何是g(z)只生成0或1?

 

所以,感知器算法将g(z)定义如下:

 

 

同样令,和logistic回归的梯度上升算法类似,学习规则如下:

 

 

尽管看起来和之前的学习算法类似,但感知器算法是一种非常简便的学习算法,临界值和输出只能是0或1,是比logistic更简单的算法。后续讲到学习理论是,会将其作为基本的构造步骤。

 

posted on 2017-06-04 16:56  眷恋你的方圆  阅读(5270)  评论(0编辑  收藏  举报