zoukankan      html  css  js  c++  java
  • 机器学习——梯度下降算法

    梯度下降法是一个最优化算法,通常也称为最速下降法
    最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。
    最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。
    可以用于求解非线性方程组。
    举一个非常简单的例子,如求函数
     f(x) = x^2 的最小值。
     
    利用梯度下降的方法解题步骤如下:
     
    1、求梯度
    ▽ = 2x
     
    2向梯度相反的方向移动
    ,如下x = x - v·▽,其中,
    v
    为步长。
    如果步长足够小,则可以保证每一次迭代都在减小,但可能导致收敛太慢,如果步长太大,则不能保证每一次迭代都减少,也不能保证收敛。
     
    当x=1的时候,斜率是2,x = 1-0.001×2 = 1-0.002 = 0.998,逐渐接近0
    当x=1的时候,斜率是-2,x = -1+0.001×2 = -1+0.002 = -0.998,逐渐接近0
     
    3循环迭代步骤2,直到x的值变化到使得
     f(x) 在两次迭代之间的差值足够小,比如0.00000001,也就是说,直到两次迭代计算出来的
     f(x)基本没有变化,则说明此时
     f(x)已经达到局部最小值了。
     
    4、此时,输出x,这个
    就是使得函数
     f(x)
    最小时的x的取值 。
  • 相关阅读:
    在CentOS-6.9里安装openvswitch-2.5.4
    Django 2.0.7 使用小知识
    微信小程序 存储数据到本地以及本地获取数据
    微信小程序目录结构与配置介绍
    微信小程序视图层介绍及用法
    小程序 wx.request请求
    小程序的启动流程(生命周期)
    小程序的双线程模型
    小程序之基础组件
    小程序之路由跳转
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/6067379.html
Copyright © 2011-2022 走看看