zoukankan      html  css  js  c++  java
  • 机器学习笔记(2):梯度下降

     梯度下降算法的定义

    对于cost function J0, θ1, ... θn),要想获取到其最小值,我们需要这么计算:

    1. 从 θn 某个初始值开始,如 θ0 = 0, θ1 = 0,... θn = 0

    2. 不断改变 θn 的值来减小 J0, θ1, ... θn) 的值,直到我们获取到一个最小值

    在不同的点沿着最快下山的路往低处走,会得到不同的最小值

    梯度下降算法(以 2个参数为例)

    注意,其中 θ0, θ1同时发生改变

    而不是像下面这样,先改变 θ0,再根据已改变的 θ0 来计算 θ1


    梯度下降算法中的参数

     α 为 learning rate (学习速率),控制我们以多大幅度更新 (θ0, θ1, ... θn),

    如果 α 太小,只能一点点挪动,需要很多步才能达到最低点;

    如果 α 太大,一步太大,梯度下降法可能会跳过最低点,导致无法收敛甚至发散

    为导数项,在一个参数的线性回归问题中,可以理解为点的切线即斜率

     对于固定的  α 值,梯度下降可以收敛到最小值,因为随着斜率越来越平滑,导数越来越小

    导致梯度下降的每一步越来越小,所以不需要一直减小 α


    梯度下降举例 --- 线性回归中的梯度下降

    将梯度下降算法代入到线性回归模型中,可以得到

    线性回归模型:

    线性回归只有一个全局最优解,没用其他局部最优解

  • 相关阅读:
    linux开机启动服务配置
    流媒体服务器配置安装SRS及nginx+rtmp
    WEBRTC配置安装
    linux操作20200825
    转载流媒体服务器相关收藏
    RabbitMQ中间件使用
    如何查找删除指定进程
    硬件接口,串行比并行快的原因
    JavaBean+jsp开发模式 --结合form表单 实例
    session会话
  • 原文地址:https://www.cnblogs.com/lxb0478/p/8183007.html
Copyright © 2011-2022 走看看