本篇笔记包含学习章节:
P3回归
P4回归演示
(由于时间有限,仅仅做一些intuition的东西来展示自我理解,公式的表示等暂且省略)
Regression 就是找到一个函数function ,通过输入特征 x,输出y 。
一、模型步骤
step1:模型假设,选择模型框架(线性模型)
step2:模型评估,如何判断众多模型的好坏(损失函数)
step3:模型优化,如何筛选最优的模型(梯度下降)
step1:模型假设(线性模型)
线性模型分成一元线性模型(单特征)和多元线性模型(多特征)。
step2:模型评估
如果判断模型好坏呢?用损失函数去衡量真实值和预测值之间的差异。
回归的损失函数是真实值和预测值差的平方和。
step3:模型优化(梯度下降)
意思就是找到使损失函数最小的function,即最优的参数。这里用到了梯度下降法。
梯度下降法有一个预先设定的参数:学习率,表示移动的步长
梯度下降法的步骤是:(假设只有一个参数w)
1.设定初始值w0
2.损失函数对w0求导,大于0往左移动,小于0往右移动(画出一个开口向上的二次函数图可以很快理解),移动的步长就是学习率
3.移动后w0被更新,重复步骤12,直到找到最低点(损失函数对w0求导=0)
若延伸到多参数问题,求导就变成了梯度导数,移动的方法就是梯度导数的方向(下降最快的方向)。
梯度下降法找到的是局部最优,不一定是全局最优。但由于线性函数的损失函数是二次函数,所以梯度下降法可以找到全局最优。
二、验证模型的好坏
一些优化方法:
1.引入高次方项
由于大多数函数都可以写出多项式,所以多项式能拟合出大多数模型。
缺点是看似可以更好的拟合,但可能过拟合。(训练集误差变小,测试集误差变得很大。)
2.分组回归
通过隐藏的类别,在不同类别之间分别做回归,说不定可以得到更加精确的模型。
可以通过添加调节参数将不同组的回归放到一个模型里。
3.引入更多的参数,更多的input
拥有更多的信息可以使模型更好。缺点是也可能导致过拟合。一些改进方法是加入正则化惩罚项,表示希望参数变小,可以过滤掉一些干扰项的影响。