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

机器学习:随机梯度下降法(线性回归中的应用)

时间:2018-06-06 15:29:22      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:应用   直接   灵活   随机梯度   适合   抽取   出现   style   慢慢   

一、随机梯度下降法基础

技术分享图片

 

# 梯度中的每一项计算:技术分享图片,要计算所有样本(共 m 个);

 

# 批量梯度下降法的思路:计算损失函数的梯度,找到优化损失函数的最近距离,或者称最直接的方向;

  # 批量梯度下降法的梯度计算:每一次都对数据集中的所有样本的所有数据进行计算;

  # 特点:

    # 计算每一个 theta 值对应的梯度时,计算量较大;

    # 是损失函数减小最快的方向

 

# 随机梯度下降法思路:在计算梯度中的一项时,不是计算所有样本的数据,而是只随机抽取一个样本进行计算;

 

# 公式变形:技术分享图片

 

# 新的搜索方向计算公式(也即是优化的方向):技术分享图片

# 根据此搜索方向,逐步寻找损失函数的最小值

 

# 此处称为搜索方向,而不是梯度的计算公式,因为此公式已经不是梯度公式,而表示优化损失函数的方向;

  # 目标:寻找最佳模型对应的参数

  # 最佳模型:损失函数的最小值时所对应的模型;

  # 得到最佳模型的方案:优化损失函数,找到其最小值;

  # 优化损失函数的方案:寻找能使损失函数减小的方向,按此方向逐步优化损失函数,得到其最小值;

  # 损失函数的梯度是损失函数减小最快的方向,也就是每一个 theta 的变化量,对应的损失函数的变化量最大;

 

# 为什么要找损失函数的最小值:

  # 损失函数是线性模型的一部分

  # 线性模型为拟合住数据的数学模型

  # 损失函数的取值越小,表示模型拟合住的数据量越多,则该模型对数据的预测越精确;

 

# 随机梯度下降法的搜索路径:

技术分享图片

# 特点:

  # 每一次搜索的方向,不能保证是损失函数减小的方向;

  # 每一次搜索的方向,不能保证是损失函数减小最快的方向;

  # 其优化方向具有不可预知性;

 

# 意义:

  # 实验结论表明,即使随机梯度下降法的优化方向具有不可预知性,通过此方法依然可以差不多来到损失函数最小值的附近,虽然不像批量梯度下降法那样,一定可以来到损失函数最小值位置,但是,如果样本数量很大时,有时可以用一定的模型精度,换取优化模型所用的时间;

 

# 实现技巧:确定学习率(η:eta)的取值,很重要;

  # 原因:在随机梯度下降法优化损失函数的过程中,如果 η 一直取固定值,可能会出现,已经优化到损失函数最小值位置了,但由于随机的过程不够好,η 又是各固定值,导致优化时慢慢的又跳出最小值位置;

  # 方案:优化过程中让 η 逐渐递减(随着梯度下降法循环次数的增加,η 值越来越小);

 

# η 的去顶过程:

  # 1)如果:η = 1 / i_iters;(i_iters:当前循环次数)

    # 问题:随着循环次数(i_iters)的增加,η 的变化率差别太大;

  # 2)如果:η = 1 / (i_iters + b);(b:为常量)

    # 解决了 η 的变化率差异过大

  # 3)再次变形:η = a / (i_iters + b);(a、b:为常量)

    # 分子改为 a ,增加 η 取值的灵活度;

  技术分享图片

# a、b:为随机梯度下降法的超参数;

# 本次学习不对 a、b 调参,选用经验上比较适合的值:a = 5、b = 50;

 

# 随机梯度下降法特点:

  # 学习率随着循环次数的增加,逐渐递减;

 

# 这种逐渐递减的思想,是模拟在搜索领域的重要思路:模拟退火思想

  # 模拟退火思想:在退火过程中的冷却函数,温度与冷却时间的关系;

 

# 一般根据模拟退火思想,学习率还可以表示:η = t0 / (i_iters + t1)

 

二、实现随机梯度下降法

 

机器学习:随机梯度下降法(线性回归中的应用)

标签:应用   直接   灵活   随机梯度   适合   抽取   出现   style   慢慢   

原文地址:https://www.cnblogs.com/volcao/p/9144362.html

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