线性回归和lr和svm_v2

线性回归

https://www.jianshu.com/p/6c9af5a1386b

第7课:回归_哔哩哔哩_bilibili

【小萌五分钟】机器学习 | 线性回归 (三): 优化问题解法② 梯度下降 Gradient Descent_哔哩哔哩_bilibili

假设特征和结果满足线性关系;它的损失函数是,假设误差独立同分布,服从均值为0,方差为定值的高斯分布,经过最⼤似然估计推导出来的,损失函数与平⽅损失函数是等价的。

1.最小二乘推导-极大似然估计

 

 

推导出来线性回归的目标函数是最小二乘的形式

2.岭回归和LASSO回归

为什么要加正则?

因为w不能太大,w太大容易过拟合,比如-1000x1+20000x2,参数的一点偏差会造成结果的很大差距。

线性回归&lasso回归&岭回归介绍与对比 - 知乎

l1是绝对值形式,l2是平方形式,绝对值形式的可进行特征筛选。

l1正则与l2正则的特点是什么,各有什么优势? - 知乎

为什么l1可进行特征选择?从梯度的角度出发进行说明,l1的导数,是1或者-1,在接近0的时候参数很容易下降到0,而l2的导数是2*x,在0点导数是0,参数只能接近0,不能下降到0。

 l1是绝对值形式,l2是平方形式,绝对值形式的可进行特征筛选。

为什么l1可进行特征选择?从梯度的角度出发进行说明,l1的导数,更容易下降到0。

l1正则与l2正则的特点是什么,各有什么优势? - 知乎

l1正则与l2正则的特点是什么,各有什么优势? - 知乎

正则化为什么能防止过拟合(重点地方标红了)

正则化为什么能防止过拟合(重点地方标红了) - alexanderkun - 博客园

梯度下降

为什么梯度反方向是函数下降最快的方向

梯度的方向为什么是函数值增加最快的方向? - 知乎

为什么梯度反方向是函数下降最快的方向?

逻辑回归

1.交叉熵推导-最大似然估计

假设分类问题的样本服从伯努利分布

 损失函数是似然函数,求的是似然函数的最大值,应该是梯度上升,而不是梯度下降,一般情况下,在概率似然函数前面加一个负号,就是求最小值了,用梯度下降。

2.直观理解交叉熵

3.理解sigmoid函数

揭开YouTube深度推荐系统模型Serving之谜 - 知乎

 

损失函数总结

学习分享一年,对神经网络的理解全都在这40分钟里了_哔哩哔哩_bilibili

优化器

“随机梯度下降、牛顿法、动量法、Nesterov、AdaGrad、RMSprop、Adam”,打包理解对梯度下降法的优化_哔哩哔哩_bilibili

编程入门教程_名企面试真题面经_牛客网_牛客网

Adam那么棒,为什么还对SGD念念不忘 | 吴良超的学习笔记

优化器是做什么的

是用来最小化损失函数的,损失函数是用来度量模型预测值真实值间的偏差,偏差越小,模型越好,所以我们需要最小化损失函数,求极值点,寻找最优下降路径。

比较基本的是梯度下降法,有3种分别是批量梯度下降,随机梯度下降,小批量梯度下降。

梯度下降的优化方法,SGD(小批量梯度下降)最为常用。

优点: 收敛速度快。

缺点:1. 训练不稳定。2. 选择适当的学习率可能很困难。 太小的学习率会导致收敛性缓慢,而学习速度太大可能会妨碍收敛,并导致损失函数在最小点波动。3. 无法逃脱鞍点。

所以后面发展了不少其他的优化方法改进了SGD。

优化器有两个参数很重要。一个是优化方向,决定“前进的方向是否正确”,在优化器中反映为梯度或动量。另一个是步长,决定“每一步迈多远”,在优化器中反映为学习率

一阶动量为与梯度相关函数,二阶动量为与梯度平方相关的函数

3种梯度下降法

  1. 批量梯度下降法

    梯度下降法是原始的优化方法,梯度下降的核心思想负梯度方向是使函数值下降最快的方向,因此我们的目标就是求取目标函数的负梯度

    在梯度下降法中,因为每次都遍历了完整的训练集(每次一个batch),其能保证结果为全局最优(优点),但是也因为我们需要对于每个参数求偏导,且在对每个参数求偏导的过程中还需要对训练集遍历一次,当训练集很大时,计算费时(缺点)

  2. 随机梯度下降法

    再极端一点,就是随机梯度下降法,即每次从训练集中随机抽取一个数据来计算梯度。因此,其速度较快(优点),但是其每次的优化方向不一定是全局最优的(缺点)。因为误差,所以每一次迭代的梯度受抽样的影响比较大,也就是说梯度含有比较大的噪声,不能很好的反映真实梯度,并且SGD有较高的方差,其波动较大而且SGD无法逃离鞍点

  3. 小批量梯度下降法:是最广泛使用的一种算法,该算法每次使用m个训练样本(称之为一批)进行训练,能够更快得出准确的答案。小批量梯度下降法不是使用完整数据集,在每次迭代中仅使用m个训练样本去计算代价函数的梯度。一般小批量梯度下降法所选取的样本数量在50到256个之间,视具体应用而定。减少了参数更新时的变化,能够更加稳定地收敛。同时,也能利用高度优化的矩阵,进行高效的梯度计算。

momentum

介绍一下Momentum:

本质上是用历史数据去修正下一步要下降的方向,可以减少震荡。

Momentum借用了物理中的动量概念,即历史梯度也会参与当前参数下降方向的运算,根据指数加权平均,历史梯度对当前的影响随着时间会衰减。

Momentum的好处是,momentum在梯度方向相同时,能够加速收敛,在梯度方向相反时,可以抑制震荡。并且动量有机会逃脱局部极小值(鞍点)

为什么有机会逃脱鞍点优化算法 - Momentum 动量 - 梯度下降 - 缓解山谷与鞍点的影响_GoWeiXH的博客-CSDN博客

如果在鞍点处,因为当前所在位置的周围非常平缓,Error 值非常接近,导致梯度近乎为 0,致使无法更新,训练停滞。

那么如果加入Momentum 动量项,相当于在梯度下降中加入了惯性,这种情况下梯度的计算不单单依据当前所在位置,而是仍然具有之前的梯度量。那么一旦遇到了山谷地形,那么按照之前的梯度速度,在最小值方向上仍然具有一定的梯度,所以会更加快速的迭代到最小值。再看鞍点的情况,此时所在的是平坦地带,梯度为 0,但因为存在动量项,相当于在此时具有一定的初始速度,所以可以依靠“惯性”冲过平坦地带,进而向最小值更新。

 指数加权平均

Nesterov momentum

NAG在步骤 1,不计算当前位置的梯度方向,而是计算如果按照累积动量走了一步,那个时候的下降方向:然后用下一个点的梯度方向,与历史累积动量相结合,计算步骤2中当前时刻的累积动量。

介绍一下Nesterov momentum:

本质是前进方向不是当前梯度方向,而是上一步计算出来的下降方向。根据历史梯度向前走一步,然后对当前方向进行修正。

梯度下降更新方法SGD,Mini-batch,Momentum, Nesterov, RMSprop - 知乎

Adagrad

介绍一下Adagrad:

自适应梯度的一种梯度下降法,根据梯度变化的缓急来对学习率进行调整,梯度变化快的时候学习率变换,梯度变化慢的地方学习率加快。

为什么adagrad适合于稀疏数据

因为稀疏数据0较多,频率高,梯度平方和大,学习率会调整变小。

高频面试题

【算法岗必看】机器学习高频面试题汇总

推荐系统常见面试问题(38~48) - 知乎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值