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

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

fox同学tensorflow第4周学习分享--梯度下降法原理 by fox 20151217

[复制链接]

285

主题

451

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13747
跳转到指定楼层
楼主
发表于 2015-12-21 15:02:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
fox同学tensorflow第4周学习分享--梯度下降法原理 by fox 20151217

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


最简单的情况,数据集分布呈线性分布


所以我们假设我们想要推导的函数,是一个线性函数:h(x) = hӨ(x) = Ө0 + Ө1x1 + Ө2x2…….
每个x表示一个特征,这个Ө表示任意实数,并且他就是我们要得到的值


首先我们要计算h(x)和真实数据的方差:(hӨ (x) – y)^2
根据方差的定义,方差越小,说明h(x)和真实函数越契合


然后计算所有数据的方差:

1/2是用来简化后面的计算的,n表示训练数据的数量
最后要求通过不断变化Ө,来找到一个J(Ө)最小的那个值。


通过偏导的定义,可以知道,对J(Ө)求偏导,可以获得Ө的方向,即 收敛的方向,所以





所以,当有多个训练数据时就是这样:


α表示步长,一般是手动设置的,
将上面的式子带入得到:

通过对
J(x)求偏导,然后加上原来的Ө,就可以获得新的Ө,然后再用这个新的Ө
这是更新Ө的过程,获得最小的(x)的公式,这就是梯度下降法

当循环这个公式直到函数收敛,最后的Ө值就是最小值

收敛:一般来说判断函数是否收敛可以通过上次和这次的值是否很接近来判断

由于假设函数是一个线性函数,所以全局最优解就是局部最优解
因为j(Ө)的偏导是一个二次函数,所以它实际上是一个碗形:


求出Ө就可带入我们一开始假设的那个函数中,然后通过输入x预测我们想要的y


附件是全文的word版
梯度下降法 by fox 20151217.docx (155.49 KB, 下载次数: 13)



我是笨鸟,我先飞!
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-16 18:15 , Processed in 0.059993 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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