李宏毅机器学习笔记(2): Regression

Regression : output a scalar 输出一个标量

 

1 例子

股票市场预测:通过输入各种股票市场参数:输出数字

无人车驾驶:输入车上传感器参数:输出方向盘角度

商品 推荐:使用者特征,商品特征:输出购买可能性

例子详解:预测宝可梦的CP值:妙蛙种子的特性:进化之后的CP

图1-1 样例详解

 

定义变量:xcp 当前cp值、xs种类、xhp生命值、xw重量、xh高度

y 输出进化之后cp

 

2 step1:寻找模型

图2-1 第一步 模型建立

 

y=b+w×xcp  b、w是模型参数,可以任何值

通过b、w不同,可以组成无限多的函数。

Linear model:y=b+wixi  

xi:称作feature 包括:xcp 当前cp值、xs种类、xhp生命值、xw重量、xh高度   

wi:weight        b:bias

 

3 Step 2:模型优劣

图3-1 样本点

 

通过大量的样本,xi,每个样本实际输入,yi样本实际输出

Loss function:输入:函数

              输出:该函数对实际情况不适应性

Lf=n=110(yn-f(xcpn))2 =L(w,b)=n=110(yn-(b+w×xcpn))2

图3-2 损失函数

 

通过不同w,b的值计算loss function 得到相关图像,其中红色越深,损失函数太大,蓝色越深越小。使用穷举的方法耗费资源太多。

4 Step3:best function

寻找某一个函数,使得损失函数最小。

Gradient descent:梯度下降

可以使用梯度下降的方法,去寻找损失函数最小的函数。

图4-1 梯度下降

 

寻找响应的w参数来使得损失函数最小。

  1. 随机选一个初值
  2. 计算初值的偏导数 若偏导数增加则放弃,偏导数越小越好。,
  3. 利用权值计算下一个点进行求偏导
  4. 偏导数为0说明达到了局部最低点

两个参数情况下,梯度下降法:

  1. 随机选2个参数w,b
  2. 计算分别计算两个参数处的偏微分,分别对每个数分别移动
  3.   梯度

图4-2 梯度下降结果

 

最后的目标当求到导数为0时,结果可得到局部最优值。但是当抵达导数为0时(驻点),算法也会停止。

图4-3 拟合出相关函数

 

5使用其他非线性模型

图5-1 非线性结果

 

  1.  发现使用非线性拟合结果更好,于是选择更高阶模型尝试,在更高阶的模型中,出现了明显的过拟合。在模型越来越复杂时,发现产生过拟合,复杂的模型在测试集上不一定是最好的。
  1. 收集更多的数据,通过收集更多的数据可以发现可能存在更多的隐藏因素影响。
  2. 使用δ函数可以进行函数的分情况处理。
  3. 正则化(regularization):过拟合情况处理,增加一个正则惩罚项。使L最小同时,使w较小,这样可以使拟合的函数较为平滑。曲线平滑我们认为较为正确。

给偏压值加上正则化,在该项目中影响不大,对函数是否平滑没有影响。

图5-2 正则化之后的结果

 

我们发现,在λ变化时,寻找最合适的模型,该模型在测试集上正则化损失函数达到最小,我们更倾向于使曲线更平滑,但不是过于平滑。

 

 

 

 

发布了14 篇原创文章 · 获赞 4 · 访问量 2795

猜你喜欢

转载自blog.csdn.net/wasser000/article/details/89892321
今日推荐