线性模型
以经典的房屋价格数据举例:
居住面积 | 卧室数量 | 价格 |
---|---|---|
2104 | 3 | 400 |
1600 | 3 | 330 |
1416 | 2 | 232 |
··· | ··· | ··· |
假定价格是居住面积和卧室数量呈现线性关系,满足
其中和分别表示特征-居住面积和特征-卧室数量的值,而表示房屋的价格。
假定,那么上面的公式可以表示为
为了让模型更加准确,我们通常要让计算出的价格更加接近实际的价格(表示原始数据中真实的价格)。据此,我们引入了均方误差形式的代价函数:
其中表示样本数量,表示样本的预测价格,表示样本的真实价格。
最小均方算法
我们的目的是找到一个让达到最小值;常用的做法是首先初始化,然后不断地改变直到达到最小值。这种思路也就对应着我们常用的梯度下降算法:首先初始化一个,然后使用下面公式不断更新:
其中被称为学习率,,注意:这个公式针对中的是同步更新的。结合代价函数对公式进行简化:
所以梯度下降公式就变成(针对单个样例):
这个公式就被称为最小均方算法(LMS),也被称为Widrow-Hoff学习算法。
批量梯度下降算法和随机梯度下降算法
以上使用单个样本进行公式推导,在实际过程中对多样本对情况,有两种方法:
批量梯度下降算法
Loop {
}
批量梯度下降算法是在每一次梯度下降过程中,将所有样本加入计算。持续执行该算法,直到收敛。
随机梯度下降算法
Loop {
for i=1 to m, {
}
}
每一次循环中,我们都遍历每一个样本。持续执行循环,直到收敛。
参考
吴恩达老师斯坦福课程
网友评论