自学笔记-------梯度下降

这篇自学笔记详细介绍了梯度下降法,包括其可视化、算法解析和实际应用中学习率的选择问题。通过一个线性回归模型的示例,解释了如何计算损失函数、梯度以及如何调整学习率进行参数更新,强调了在特征缩放中的重要性。
摘要由CSDN通过智能技术生成

自学笔记

梯度下降

梯度下降的可视化

在这里插入图片描述

算法解析

假设函数
一个简单的线性回归拟合函数可以表示为:hθ(x) = θ0 + θ1·x
当然Xi 可以有很多通常也用矩阵来表示,但为了方便理解后面均用简单的线性函数
损失函数
又称为代价函数,对于线性回归的损失函数可以表示为:
J(θ) = 1/(2 *n) * ∑ ( hθ(xi) − yi )2 (其中n表示样本数量)
梯度
损失函数的梯度,即对 θi 求偏导
下降过程
(1) 学习得到损失函数 J(θ) 及样本点xi 的损失:
例如,对于线性回归模型的假设函数为: hθ(x) = θ0 + θ1·x1 + θ2·x2 ,则损失函数为:J(θ) = 1/(2 *n) * Σ(θ0 + θ1·x1 + θ2·x2 - y)2;我们为样本添加一个维度x0 ,x0 恒等于 1。则,我们可以变损失函数表示为:J(θ) = 1/(2 *n) * Σ(θ0·x0 + θ1·x1 + θ2·x2 - y)2

为了便于自己理解,我只取一个样本点进行计算。对于样本点 x1 = (x0 = 1,x1 = 1,x2 = 2),对应的目标变量 y1 = 10,的损失为:J(θ)1 = 1/2 (θ0 + θ1+ 2θ2 - 10)
(2) 求出样本点 xi 损失函数的梯度向量:(求偏导)
根据 J(θ)1 ,求出样本点 x1 对应的梯度▽J(θ) = <(θ0+ θ1 + 2θ2 - 10),(θ0+ θ1 + 2θ2 - 10),(θ0+ θ1 + 2*θ2 - 10)*2 >
(3) 初始化假设函数的参

对 θ 进行随机取值,假设θi 第一次全部取0,θ = < 0,0,0>;
    将θ0 带入 J(θ)1 ,得到 取 θ0 时的损失为 J(θ) = 1/2 (0 + 0+ 20 - 10)2 = 50
    将θ0 带入▽J(θ)1 ,得到 θ0 处的梯度向量为 ▽J(θ) = < -10,-10,-20 >
(4)设置学习率,其实根据上面的可视图,可以理解为步长:
设立步长 α = 0.1 ,对 θ 进行梯度下降,得到 θ1
第一次梯度下降:
θ1 = θ0 - α * ▽J(θ)01 = < 0,0,0 > - 0.1 * < -10,-10,-20 > = < 1,1,2 >
将θ1 带入 J(θ)1 ,得到 取 θ0 时的损失为 J(θ)01 = 1/2 (1 + 1+ 22 - 10)2 = 8
将θ1 带入▽J(θ)1 ,得到 θ0 处的梯度向量为 ▽J(θ)01 = < -4,-4,-8 > ;
第二次梯度下降:
θ2 = < 1,1,2 > - 0.1 * < -4,-4,-8 > = < 0.4,0.4,1.2 >    
J(θ)01 = 1/2 (0.4 + 0.4+ 21.2 - 10)2 = 23.12  
此时我们发现,θ2 处的损失为23.12,大于 θ1 处的损失8,说明,我们可能步子迈的大了,跨过了最低点,我们重新设定α = 0.05,重复上述过程:
    重新设立步长 α = 0.05
    通过重复这个过程,会将步长逐渐变小,取出最合适的学习率

注意:运用梯度下降这种方法,此学习率是很难找到最佳的,所有才会和上述过程一样通过递归去找到最佳学习率,此方法适合n较大的时候选用

特征缩放

特征缩放使得运用梯度下降时,能更快找到最低点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值