课程内容:
回归Regression,回归演示
回归定义:
根据training data和test data,寻找一个合适的function,输入指定的input,获取数值output
回归过程:
(p.s. 以宝可梦为例说明)
step1:模型构建
输入:宝可梦的各种feature,例如当前生命值,身高等
输出:估计的生命值
模型:线性模型,y=b+wx
step2:函数评价
利用训练数据进行函数的评价,定义loss function,用于评估模型建立的好坏
L(f)=sum(y_real-y_esti)^2=sum(y_real-(b+wx))^2
Loss function通过利用模型获取的输出预估值和输出的真实值进行误差计算,评价模型,当L(f)越小,则说明该模型效果越好
step3:确定最优函数
函数集庞大,如何确定最优函数?根据Loss function确定最优函数,即最小L(f)对应的模型
*****Gradient Discent*****
算法步骤:1.随机选择w0,b0;2.计算当前w和b对应的微分值;3.选择合适的learning rate(w和b的learning rate可以不相同,实际应用中也是不相同,并且是动态值);4.更新w和b,当微分值为正,则w或者b需要减小,否则增大
可能遇到的问题:
1.在梯度下降中,会存在局部最优和全局最优。但是对于线性回归,则没有局部最优,只有全局最优。
2.模型的正确选择,对于training data ,loss function并不是越小越好,因为这样容易overfitting,所以需要综合的test data 的情况,酌情选择最优函数
step4:整体优化
对于上述的三个步骤,均可以进一步优化
1.考虑更多的输入:宝可梦的类型,类似于分段函数;输入向量的扩充,将宝可梦的更多特征进行考虑
2.正则化:过多的输入,容易导致过拟合。引入正则化,对loss function进一步优化
L(f)=sum(y_real-y_esti)^2+lambada*sum(w)^2=sum(y_real-(b+wx))^2+lambada*sum(w)^2
意在寻找w小的loss function,因为w参数的值越小,模型的拟合函数更为平滑,即意味模型更不容易受噪音干扰,更为稳定,但同时即使在loss function中考虑了w参数,也不会影响模型的输入输出;
再者,正则化中仅仅考虑了w参数的影响,没有考虑b参数(bias),因为b的数值对于曲线的平滑没有影响
p.s. 以上图片来自于李宏毅老师的《机器学习》课程内容,仅作交流分享,如有侵权,请告知,立即删除,谢谢!