梯度下降方法(上)

举报
咔吧咔吧 发表于 2020/12/26 09:17:26 2020/12/26
【摘要】 1 详解梯度下降算法1.1梯度下降的相关概念复习在详细了解梯度下降的算法之前,我们先复习相关的一些概念。步长(Learning rate):       步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。用前面下山的例子,步长就是在当前这一步所在位置沿着最陡峭最易下山的位置走的那一步的长度。特征(feature):      指的是样本中输入部分,比如2个单特征的样本则第一个样...

1 详解梯度下降算法
1.1梯度下降的相关概念复习
在详细了解梯度下降的算法之前,我们先复习相关的一些概念。

步长(Learning rate):

       步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。用前面下山的例子,步长就是在当前这一步所在位置沿着最陡峭最易下山的位置走的那一步的长度。


特征(feature):

      指的是样本中输入部分,比如2个单特征的样本则第一个样本特征为,第一个样本输出为

假设函数(hypothesis function):

       在监督学习中,为了拟合输入样本,而使用的假设函数,记为。比如对于单个特征的m个样本,可以采用拟合函数如下:

损失函数(loss function):

  • 为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。
  • 在线性回归中,损失函数通常为样本输出和假设函数的差取平方。比如对于m个样本,采用线性回归,损失函数为:

1.2 梯度下降法的推导流程

1) 先决条件: 确认优化模型的假设函数和损失函数。

比如对于线性回归,假设函数表示为其中为模型参数,为每个样本的n个特征值。这个表示可以简化,我们增加一个特征 ,这样

同样是线性回归,对应于上面的假设函数,损失函数为:

2) 算法相关参数初始化,
主要是初始化,算法终止距离ε以及步长a 。在没有任何先验知识的时候,我喜欢将所有的 初始化为0, 将步长初始化为1。在调优的时候再 优化。

3) 算法过程:

3.1) 确定当前位置的损失函数的梯度,对于,其梯度表达式如下:

             
3.2) 用步长乘以损失函数的梯度,得到当前位置下降的距离,即

           

对应于前面登山例子中的某一步。
3.3) 确定是否所有的,梯度下降的距离都小于ε,如果小于ε则算法终止,当前所有的即为最终结果。否则进入步骤4.

4)更新所有的,对于,其更新表达式如下。更新完毕后继续转入步骤1。

             

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。