我是靠谱客的博主 直率豌豆,最近开发中收集的这篇文章主要介绍李宏毅深度学习笔记1-2Linear Regression,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、什么是regression(回归)

就是找到一个函数 function,通过输入特征x,输出一个数值Scalar。

2、实现回归的步骤
step1、model(确定一个模型)–线性模型
step2、goodness of function(确定评价函数)——损失函数

用真实的数据衡量模型的好坏。从数学的角度来讲,使用距离。即实际进化后的CP值与模型预测的CP值差,来判定模型的好坏。也就是使用损失函数(Loss function)来衡量模型的好坏,距离之和越小模型越好。
L = ∑ n ( y ^ n − ( b + ∑ w i x i n ) ) 2 L=sum^n (hat{y}^n-(b+sum w_ix_i^n))^{2} L=n(y^n(b+wixin))2

step3、best function(找出最好的一个函数)——梯度下降法

1、问题的实质:就是找最佳参数,也就是使损失函数最小的参数,也就是使距离之和最小的参数

2、一些概念
梯度:在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率。在多变量函数中,梯度是一个向量,其方向指出函数在给定点上升最快的方向,即方向导数取最大值的方向。
梯度下降:求“下山最快路径”的一种算法
learning rate学习率:每次移动的步长

3、先考虑一个参数w
步骤1:随机选取一个。
步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向。大于0向左移动,小于0向右移动
步骤3:根据学习率和微分的乘积移动。斜率越大移动的越快
w t + 1 = w t − η ∂ L ∂ w w^{t+1}=w^t-eta frac{partial L}{partial w} wt+1=wtηwL
重复步骤2和步骤3,直到找到最低点。

4、再考虑两个参数(w、b)
计算偏微分,按梯度方向移动直到找到最低点。

5、梯度下降算法的问题
递归下降只能找到局部最优解,甚至只是一个拐点

step4、回归结果分析

使用新的数据进行预测,并通过实际的结果计算与预测结果的差值来分析模型的好坏

3、进一步的改进方法:解决欠拟合

方法一:选择更加细致的线性模型,解决欠拟合Overfitting问题
问题:过于细致的模型会放大数据中的随机性,发生Overfitting
方法二:考虑更多的影响因素
问题:考虑过多的因素也会Overfitting,说明有些因素跟结果没有关系

4、再进一步的改进方法:防止过拟合

正则化Regularization:在loss function里面加一个与model高次项系数相关的term,它会让model里高次项的参数越小越好,也就是说曲线越平滑越好;这个新加的term前面可以有一个weight,代表你希望曲线有多平滑(weight代表平滑程度)
加了Regularzation之后,很不平滑的曲线就不会再出现,再增加weight,会让曲线变得更平滑
缺点:正则化能够减少过拟合的现象即减少测试误差,但可能会增加训练误差

最后

以上就是直率豌豆为你收集整理的李宏毅深度学习笔记1-2Linear Regression的全部内容,希望文章能够帮你解决李宏毅深度学习笔记1-2Linear Regression所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部