目录
模型的定义
将m个样本,n个特征的训练集表示为:
对于线性回归,我们假设(为了方便起见,我们令)
试图学习一个通过属性的线性组合来进行预测的函数,其中是待学习的参数,直观表达了各属性在预测中的重要性,即是我们取的n个特征,其中第一项,即是表示截距。
损失函数
其中
,,
目标是找到一组参数,使得预测值和真实值之间的差距最小,即要求一组参数使得损失函数最小。
参数的求解
梯度法
偏导数
,
参数的更新
梯度下降法的执行过程
Gradient descent
Repeat{
}(同时更新 )
用矩阵形式表示为
其中,括号中的三项均为标量,求的导数,按的形状来求解比较容易。
梯度
批量梯度下降
随机梯度下降
更新
小trick
1、当所有的特征取值范围相近时,梯度下降法更容易收敛,可以通过特征缩放做到,例如归一化处理。
2、绘制J(theta)随步数变化的曲线,或许有助于帮助学习率的调试,有助于发现损失函数是否真的在变小,通常这样取学习率,(0.001,0.01,...,1,10,...)。
最小二乘法
当为满秩矩阵或正定矩阵,令(1)式为0,可得
然而,限时任务中往往不是满秩矩阵,例如特征树木超过样本数,可以求出多个能使均方误差最小化的,选择哪一个解作为输出,有学习算法的归纳偏好决定,常见做方法是引入正则化。
不可逆,可能的原因:
1.列向量线性相关,即训练集中存在冗余特征,此时应该剔除掉多余特征;
2.特征过多(例如:当样本总数 m 小于等于特征数 n 时, 则一定不可逆),此时应该去掉影响较小的特征,或使用“正则化”。
变形
预测值可以逼近实值y,也可以逼近y的衍生物。例如下面的输出标记是在指数尺度上变化,可将输出标记的对数作为线性模型逼近的目标。
这就是对数线性回归,实际上是试图让逼近y。
参考:吴恩达的机器学习课程
周志华:机器学习