回归定义
Regression 就是找到一个函数 function ,通过输入特征 x,输出一个数值 Scalar。
应用举例
股市预测(Stock market forecast)
输入:过去10年股票的变动、新闻咨询、公司并购咨询等
输出:预测股市明天的平均值
自动驾驶(Self-driving Car)
输入:无人车上的各个sensor的数据,例如路况、测出的车距等
输出:方向盘的角度
商品推荐(Recommendation)
输入:商品A的特性,商品B的特性
输出:购买商品B的可能性
Pokemon精灵攻击力预测(Combat Power of a pokemon):
输入:进化前的CP值、物种(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)
输出:进化后的CP值
模型步骤
step1:模型假设,选择模型框架(线性模型)
xi:就是各种特征(fetrure)
wi:各个特征的权重
b:偏移量
单个特征: xcp
step2:模型评估,如何判断众多模型的好坏(损失函数)
这里定义x1 是进化前的CP值,y^1 进化后的CP值,y^ 所代表的是真实值。
如何判断众多模型的好坏——距离,求【进化后的CP值】与【模型预测的CP值】差,来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏
• 图中每一个点代表着一个模型对应的 w 和 b
• 颜色越深代表模型更优
step3:模型优化,如何筛选最优的模型(梯度下降)
仅有一个参数w时:
1.随机选择一个w0;
2.计算损失函数L对w的导数(斜率)根据斜率来判定移动的方向,大于0向右移动(增加w),小于0向左移动(减少w)
3. 根据学习率移动
重复步骤2和步骤3,直到找到最低点
注:这里并不能保证是全局的最优
有两个参数w,b的情况L(w,b)
此时需要求偏导数
每一条线围成的圈就是等高线,代表损失函数的值,颜色约深的区域代表的损失函数越小,红色的箭头代表等高线的法线方向
梯度下降面临的问题
过拟合:在测试集中表现良好但在测试集中表现很差
每一个模型结果都是一个集合,5次模型包⊇4次模型⊇3次模型 所以在4次模型里面找到的最佳模型,肯定不会比5次模型里面找到更差
将错误率结果图形化展示,发现3次方以上的模型,已经出现了过拟合的现象:
步骤优化
Step1优化:2个input的四个线性模型是合并到一个线性模型中
Step2优化:如果希望模型更强大表现更好(更多参数,更多input)
更多特征,但是权重 w 可能会使某些特征权值过高,仍旧导致overfitting
Step3优化:加入正则化
w越小,表示function 较平滑的,function输出值与输入值相差不大。
在很多应用场景中,并不是w越小模型越平滑越好,但是经验值告诉我们w 越小大部分情况下都是好的。
b的值接近于0 ,对曲线平滑是没有影响