机器学习|李宏毅机器学习02-回归Regression
李宏毅机器学习02-回归Regression
回归定义 Regression 就是找到一个函数 function ,通过输入特征 x,输出一个数值 Scalar。
模型步骤
- step1:模型假设,选择模型框架(线性模型)
- step2:模型评估,如何判断众多模型的好坏(损失函数)
- step3:模型优化,如何筛选最优的模型(梯度下降)
一元线性模型(单个特征) 一元线性模型假设 y = b + w ? x y = b + w·x y=b+w?x, w w w和 b b b是模型参数, x x x为特征, y y y为预测值。
多元线性模型(多个特征) 多元线性模型 y = b + ∑ w i x i y=b+∑w_ix_i y=b+∑wi?xi?,其中 w i w_i wi?为各个特征的权重, b b b为偏移量,都是模型参数, x i x_i xi?为各种特征。
Step 2:模型评估 - 损失函数
一元线性模型 求真实值与预测值的距离(差值),来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计训练集中$ \left ( \hat{y}^n - f(x^n) \right )^2$的和,和越小模型越好。
L ( f ) = ∑ n = 1 N ( y ^ n ? f ( x n ) ) 2 将 f ( x ) = y , y = b + w ? x 代 入 , L ( w , b ) = ∑ n = 1 N ( y ^ n ? ( b + w x ) ) 2 L(f)=∑_{n=1}^{N}(\hat y^n?f(x^n))^2\\ 将f(x)=y,y=b+w?x代入,\\ L(w,b)=∑_{n=1}^{N}(\hat y^n?(b+wx))^2 L(f)=n=1∑N?(y^?n?f(xn))2将f(x)=y,y=b+w?x代入,L(w,b)=n=1∑N?(y^?n?(b+wx))2
Step 3:最佳模型 - 梯度下降
如何筛选最优的模型(参数 w w w, b b b) 对于单个参数 w w w:
- 步骤1:随机选取一个w 0 w^0 w0
- 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
- 大于0向左移动(减少 w w w)
- 小于0向右移动(增加 w w w)
- 步骤3:根据学习率(移动的步长)η η η移动
- 重复步骤2和步骤3,直到找到最低点
文章图片
多个参数过程类似,求偏导:
文章图片
文章图片
梯度下降算法在现实世界中面临的挑战
- 问题1:局部最优(Stuck at local minima)
- 问题2:等于0(Stuck at saddle point)
- 问题3:趋近于0(Very slow at the plateau)
文章图片
模型验证 训练集和测试集分别求平均误差:
文章图片
优化 四种方法优化模型:
- 选用更复杂的模型;
- 根据数据分类训练不同的模型分类进行拟合;
- 做特征工程,增加输入的特征;
- 加入正则化,减少噪声数据的影响。
文章图片
过高次方的模型,可能会导致过拟合overfitting现象。
文章图片
分类训练不同的模型
根据数据分布进行分析,或许对数据初步分类后,训练多个模型能提升性能。
文章图片
通过对 Pokemons种类 判断,将 4个线性模型 合并到一个线性模型中
文章图片
文章图片
文章图片
增加输入特征
通过利用特征工程提取更多的特征,于是线性模型需要更多的参数,或许能提升性能。
文章图片
加入正则化
重 ww 可能会使某些特征权值过高,仍旧导致overfitting,所以加入正则化
文章图片
文章图片
- w w w 越小,则 w △ x w△x w△x越小,预测结果变化越小,表示 function较平滑,更加能抗噪声。
- 在很多应用场景中,并不是w w w 越小模型越平滑越好,但是经验值说明 w w w 越小大部分情况下都是好的。
- b b b 为function的偏移量,对曲线平滑没有影响
【机器学习|李宏毅机器学习02-回归Regression】李宏毅机器学习视频2019春季
推荐阅读
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习
- 【韩语学习】(韩语随堂笔记整理)
- 焦点学习田源分享第267天《来访》