机器学习一:Regression回归算法

1.什么是回归?

回归算法输出一个标量,例如:股票预测,预测明天股价;自动驾驶,方向盘的角度;推荐系统,预测购买的概率

2. 实例:

预测数码宝贝进化后的战力值(CP)在这里插入图片描述

Setup1:设计Model

假设战力值和特征之间存在线性关系:y:进化后的战力值,x:进化前的战力值,w:特征值,b:战力补偿值,
一元一次方程:仅仅考虑cp特征,即一元线性关系
y = b + w * x
由于存在多个特征值: y = b + w * x => y = b + Σw*x

Setup2:Training Model

假设有10个Training Data,
在这里插入图片描述

Setup3:确定参数w和b

函数 y = b + Σw*x中b是一个固定的常量,对我们的预测结果并无影响,so 预测结果主要受特征值w的影响,我们如何求得最合适的w值????

Setup4: Loss Function

Loss Function:损失函数,是Test Data的实际值与预测值差的平方和,这里的x为常量,而w特征值为变量,当loss function值最小时,预测值与实际值的差异最小,所以我们求w的最优值,实际在求当w为多少时,loss fuction的值最小,这是一个关于w的线性方程。我们通过Gradient Descent求解Loss Function
在这里插入图片描述

Setup5.Gradient Descent:梯度下降法

知识点:偏微分
梯度下降法分为Batch gradient descent(BGD:批处理梯度下降法),Stochastic Gradient Descent(SGD:随机梯度下降法)和Mini-batch gradient descent(Mini-batch梯度下降法)

什么是梯度下降法?
在这里插入图片描述
我们随机取取一个点,求解该点的微分值,即为该点的斜率,根据该点微分值,选择比该点更优的值应该在该点的左侧还是右侧,选择方向(与该点的斜率反方向)
我们现在只知道在w0上应该增加还是减小,但是增加减小多少,我们不知道。在这里提到一个η参数,如果你了解spark mllib经常看到学习效率这个参数,η就是所谓的学习效率,η如何确定我们稍后再讲解,我们现在只需要知道η是决定在上一个w应该增加或者减小多少的关键参数
在这里插入图片描述
多个特征w,b,同理在这里插入图片描述

在这里插入图片描述
公式推导
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Setup6:判断模型的好坏

通过均差值来判断
均差:预测值与实际值的差的和/数据个数
在这里插入图片描述
在这里插入图片描述
test data算出的均差一般要比training data的均差大

3.设计模型优化

特征补偿

一元二次:元:表示特征种类

在这里插入图片描述
一元三次
在这里插入图片描述
一元四次
在这里插入图片描述
各个model的对比在这里插入图片描述

在这里插入图片描述

隐藏特征,例如物种等

除了显性特征,隐性特征也会影响预测结果,不同的物种战力值的预测函数可能也不一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他显性特征,如胖瘦w,高低h等

在这里插入图片描述

4.模型优化

采用不同的梯度下降法优化

Batch gradient descent(BGD)、Mini-batch gradient descent(BGD) 和 stochastic gradient descent
BGD
Batch gradient descent 就是一次迭代训练所有样本(X,Y)组成loss function,就这样不停的迭代
SGD
为了加快收敛速度,并且解决大数据量无法一次性塞入内存(显存)的问题,stochastic gradient descent(SGD)就被提出来了,SGD的思想是每次只训练一个样本(X,Y)组成loss function去更新参数W
mini-batch gradient descent 是batch gradient descent和stochastic gradient descent的折中方案,就是mini-batch gradient descent每次用一部分样本来更新参数
在这里插入图片描述
在这里插入图片描述

过拟合和欠拟合

模型越复杂,越拟合training data(预测值和实际值的误差越小),但是有的模型就是因为过于拟合training data,对test data反而误差会更大,这就是所谓的过拟合

如何解决过拟合问题:Regularization正则化

所谓正则化就是loss function后面加上λ乘以W平方的和
在这里插入图片描述
相当于将loss function关于w的图像变得更加平滑,即y受x的特征影响变小

learning rates学习效率η优化

在这里插入图片描述
我们可以想象到,当我们增加或者减小w值时,跨度交大,可能会错过最小的loss function 值,mode的最优参数w值.但是跨度太小,迭代次数太多,影响效率

Vanilla Gradient descent
思路: 总结较大的一阶导数意味着远离最小值,随着迭代次数的增加,一阶导数越来越小,我们需要减小learning rates

Vanilla Gradient descent,自动调整learning rates的一种方法,思路就是随着迭代次数t的增大,减小learning rates
在这里插入图片描述

Adagrad方法调节learning rates

较大的一阶导数意味着远离最小值,这仅仅针对一维函数成立,当多维函数(多个参数)时是否成立???显然它是不成立的

帮助理解一

仅仅考虑迭代次数是不够的,当loss function是一条不怎么平滑的曲线的时候多个特征变量,斜率由小变大,此时我们应该适当的增大learning rates,同理斜率由大变小,此时说明离最优解不远了,我们应该的减小learning rates。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
帮助理解二
两维函数对应的每一个一维关系是二次方程
在这里插入图片描述
loss function二次方程,什么时候最小???
最佳学习效率就是在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
由于当函数较为复杂并且一维函数没有二阶微分,所以为了普遍适用,统一为上面的公式
虽然分母与二次微分不相等,但是都能反映梯度变化的快慢

优化:特征缩放

也是解决过拟合的一种方法,不过这是针对某些特征过拟合的一种方法,而正则化数针对所有特征
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值