Machine Learning - 李宏毅 学习笔记

<Machine Learning - 李宏毅> 学习笔记

b站视频地址:李宏毅<机器学习>2019国语

第一章 机器学习介绍

Hand crafted rules

Machine learning ≈ looking for a function from data

Speech recognition

Image recognition

Playing go

Dialogue system

Framework

define a set of function

goodness of function

pick the best function

Supervised Learning 监督学习

Regression

Linear model

Non-Linear model

Classification

Binary Classification

Multi-class Classification

Semi-supervised Learning 半监督学习

Unlabel

Transfer Learning 迁移学习

Data not related to the task considered

Unsupervised Learning 无监督学习

Structured Learning 监督学习中的结构化学习

输出有结构性

Reinforcement Learning 强化学习

没有答案,只有一个分数来判断行为好坏

当没有data的时候才会选择去做reinforcement learning.

第二章 为什么要学习机器学习

不同model,loss function损失函数解决不同问题

不一定能找出best function

需要有经验

(loss function:通过最小化损失函数求解和评估模型 -参数估计/风险管理/最优控制理论)

第三章 回归 Regression

定义

find a function

Input:feature X

Output:Scalar y

步骤

step1:模型假设,选择模型框架(Linear/Non-Linear)

step2:模型评估,如何判断众多模型的好坏(损失函数)

step3:模型优化,如何筛选最优的模型(梯度下降Gradient Descent)

learning rate 学习率

权重参数移动步长

设置不同的learning rate加强拟合速度 - 动态赋值

梯度Gradient:loss function对每个参数偏导排成的向量

梯度下降Gradient Descent:即更新参数的方式

新参数=原参数-学习率×原参数梯度

向量广播

梯度下降实现的挑战

问题1:当前最优(Stuck at local minima) - 局部最优点

问题2:等于0(Stuck at saddle point) - 一阶导为零的非极值点

问题3:趋近于0(Very slow at the plateau) - 导数极小

如果Loss Function是Convex(凸函数)- Gradient Descent找到的就是全局最优点

Overfitting过拟合

当特征越多,输入越多,数据量没有增加,可能就会导致Overfitting

过拟合:偏差小方差大 - 欠拟合:偏差大

bias(偏差)影响loss function的上下 - variance(方差)影响loss function的曲平

步骤优化

step1:种类特征那个输入优化

类别特征通过δ函数合并优化输入 - 通常是做独热码one-hot

step2:更多参数,更多输入

特征与数据量的均衡,特征过多导致Overfitting过拟合

step3:Regularization正则化

更多特征,会造成某些特征权重w过大,导致过拟合,于此引入正则化 - 正则化影响loss function平滑度,所以与方差/过拟合相关

Regularization的一种简单方式就是在Loss Function中加入正则项λΣ(wi)2 - 使w更小,因为越小的w曲线越平滑,即对变化越不敏感

不敏感让loss function受高权重和噪音的影响小,降低过拟合风险

超参数正则系数λ也不能过大 - 导致bias变大,欠拟合,过于平滑

小结

Gradient Descent梯度下降的做法

Overfitting和Regularization的表象

第五章 误差从哪里来

Error = Variance + Bias

Bias偏差

Bias = 真实值与输出期望之间误差 - 模型越简单,bias越高

Bias大,即模型欠拟合Underfitting,解决办法一般是优化模型,增加更多特征

当Bias=0,即期望=真实值时,就是unbias无偏估计

Variance方差

Variance = 模型输出值与输出期望之间的误差 - 模型越复杂,variance越高

Variance大,即模型过拟合Overfitting,解决办法一般是增加训练数据量或者Regularization

方差 - 数据分布离散程度,越复杂的模型对不同数据集的分布差异越敏感,方差越大

Training set(训练) - Validation set(选择) - Testing set(上传)

训练集的划分方式 - K折交叉验证

第六章 梯度下降 Gradient Descent

新参数=原参数-学习率×原参数梯度

Tip 1:调整学习率

Learning Rate

too small:迭代次数过多,时间开销太大

too big:下降步长太大,可能无法达到最优点

Adaptive Learning Rate 自适应式 - 随迭代次数变小 :学习率除以根号(次数+1)

Adagrad算法

每个学习率都把它自适应式除以之前所有微分的均方根

wnew = wold - (η/σ)* g,其中η是自适应式, σ是w的过去所有偏导数的均方根Root Mean Square(包含本次).

Adagrad为了突出Grad的反差,即grad突然变大,Adagrad就让他变小些;grad突然变小,Adagrad就让他变大些

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsszd.html