机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 15628|回复: 0
打印 上一主题 下一主题

fox同学tensorflow学习分享--线性分类法 by fox 20150105

[复制链接]

285

主题

451

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13727
跳转到指定楼层
楼主
发表于 2016-1-15 20:18:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 morinson 于 2016-1-15 20:50 编辑

fox同学tensorflow学习分享--线性分类法 by fox 20150105

作者:fox    整理排版:morinson  来源:FGM学习小组

拟合和欠拟合


还是房价的例子,当
x1为房子大小时:
左图中使用线性函数作为假设,通过梯度下降法,能获得一个比较契合的函数,但是会丢失一些二次成分

右图中,增加了x2=房子大小的平方,即x2= ,获得了一个很契合的函数

下图中,将所有
7个数据都用作特征输入时,可以获得一个满足所有训练数据的曲线,但是不会有人相信这是真实的房价预测函数

所以在左图中,称为欠拟合,下图中称为过拟合

   局部加权回归

这是一个非参数学习算法,即参数数量和训练数据数量相等

首先,看问题:


如图,有图中这样一个训练数据集合,如果使用之前介绍的线性回归,我们或许会得到一个图中虚线表示的函数,但是这肯定不是我们希望得到的结果。


或者你可以用
sin或者二次函数来模拟出一个和训练数据很像的曲线,那样确实是可以的,但是我们希望能够自动的合成一个函数,来适应这个数据集合。

那么我们会使用局部加权回归。


局部加权回归的思路如图


如果我们想求出图中
x的位置的值,那么我们只需要取x周围一些数据来线性回归出一条直线,并且用这个直线来预测hθ(x)的值。

那么他的数学描述如下:


ωi表示一个函数:exp(-
)

所以如果有一个训练样本 (xi - x)很小,那么ωi 近似等于1

相反,如果(xi - x)很大,那么ωi近似等于0

所以这个函数的图像就像一个钟型,使得距离x越近的值获得更高的权值,越远的权值越低

ωi函数可以是其他样子的衰减函数,但是普遍认为指数形式的衰减函数是最有普遍性的。

这个ωi函数看起来有点像高斯分布,但是他跟高斯分布没有一毛钱关系,他只是看起来像而已,千万不能把它和高斯分布联系起来。

ζ(tow)称为波长函数。控制权值下降的速度。


当ζ很小的时候,是中间那个细长的图像,图像衰减的很快,所以x附近只有一点点数据得到权重。

相反,是很粗的那个图像,权重下降的很慢

这个ωi函数也存在过拟合和欠拟合问题,所以选择适当的波长也是一个问题。(这个问题会在后面讲解)

局部加权回归的问题在于每次计算hθ(x)时,都要遍历所有数据集合来拟合出一条线性函数,计算量会非常大。(有方法可以让这个算法在大型数据集中更快的工作,参考andrew mooreKD tree

    线性模型的概率解释

回到预测房价的例子中。

yi = εi

其中
εi表示一个误差项。

可以把误差项看作是任何没有计算在内的特征,比如房子在几层,房子有没有花园,房主心情不好等情况的总和。


假设εi服从高斯分布即εi  ~ N0 ),这个公式的意思是εi服从高斯分布均值为0,方差为

file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image013.png  

如图中εi的密度公式和图像  

所以,房屋价格的概率密度公式,如图


所以,换句话说,房价是一个服从高斯分布,如图
  

关于
εi误差项的性质:为什么使用高斯分布来模拟误差项?
1)便于数学计算
2)误差项是由很多独立事件构成的,符合高斯分布特征
3)误差足够使用,机器学习中没有绝对精确这个概念  

新概念:似然性L(θ)


这里的
θ不是随机变量,而是一个确定的值,只是我们还不知道,这是频率学派的观点,所以公式中θ前面是分号,如果是贝叶斯学派,则用逗号。

所以似然性L(θ)是每一个训练数据i的概率之积。


   似然性L(θ)表示的事以θ为参数的函数,而函数hθ(x)的概率表示的是以x为参数的函数,虽然他们是相等的。但是要从概念上把他们区分出来。

首先要选取一个θ,使得似然性最大


上图中,让花写的L(θ)等于L(θ)的对数,这样做为了获得数学上便利

利用对数的性质,对一个乘积取对数,等于各项取对数之和。




得到上图中的式子,这时log和exp会互相抵消



得到上图的式子

所以,如果要让花写的L(θ)最大化,那么需要让


最小化。最终这个结果就是之前线性回归中的J(θ)


在上图中的 不管取什么值,并不会影响最终θ的取值

所以也就是说误差项的在服从高斯分布的情况下,不管方差是多少,都不会影响θ的取值。

下面,要用线性回归的概率解释,来阐述我们第一个分类算法:

有时候数据结果是二元的,比如病人是否得病。所以函数的值只能是0或者1


现在有这样的数据集:


如果用一个线性回归来预测这个数据集,我们能看到会是上图这样,看起来似乎很好

但是如果再给一个数据时:


很明显,线性回归会表现的不好。


如果想让hθ(x)在0-1之间,我们选择这样一个函数:
它的图像如上图,我们称这个函数为sigmoid函数或者logistic函数

下面是概率解释


当y=1的时的概率是hθ(x)那么反过来y=0时就是1- hθ(x)

如果写成一行就是




所以似然性L(θ)等于所有数据概率的积


跟刚才一样,加上log获得花写的L(θ)

然后为了让L(θ)最大化,我们使用之前的梯度法,不同的是,这次是梯度上升法


然后对花写L(θ)求偏导


推倒过程被忽略。。。


最终将偏导结果带入梯度上升法公式



这里,老师提出了一个问题,这个公式似曾相识,和上一节课讲的线性回归公式不是一样吗?

只是负号变成了加?
因为hθ(x)不一样,它不再是一个线性函数了,而是一个sigmoid函数,这是一个通用的优雅的学习模型

感知器算法perceptronalgorithm




又是一个hθ(x)不同而不同的算法,由于感知器算法简单粗暴,所以在后面会使用这个算法来做基础构建,所以这里就只讲这么多


a.png.jpg (10.67 KB, 下载次数: 494)

a.png.jpg
我是笨鸟,我先飞!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-5-7 22:12 , Processed in 0.065184 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表