0 .符号解释
在了解线性回归之前,先引入一些基本的符号以便更好的解释线性回归:
? 代表训练集中实例的数量
? 代表特征/输入变量
? 代表目标变量/输出变量
(?, ?) 代表训练集中的实例
(?(?), ?(?)) 代表第? 个观察实例
ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis),即预测值
1 .线性回归
线性回归主要包括两个方面:单变量线性回归和多变量线性回归。
1.1 单变量线性回归
因为只含有一个特征或输入变量,故称为单变量线性回归问题
线性回归的模型为:
其中size of house为输入变量,我们将训练数据放入学习的算法中训练,最终得到一个合适的假设函数 h 。将输入的变量带入h中,便可得到预测结果。通常,我们将h表示为:其中的
theta 值就是学习算法要计算的参数,也称为权重(w)。
另外,模型所预测的值与训练集中实际值之间会存在差距,这个差距为建模误差。我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数 最小。如果能有
0和
1使得代价函数最小,我们便可以认为这两个theta值是做预测最合适的值。
如何使得代价函数最小呢? 这里便引入一个算法,梯度下降。梯度下降的思想可以类比你现在在某个山上,你要往最低的地方走,那么你的思考两个问题,往哪里走和走多大步。往哪里走,梯度下降中使用了导数,对代价函数求导便可以确定你的方向。使用学习率来确定你要走的步伐多大。
下面这个图展示了为何导数可以使我们选择往下的方向,导数其实是某点的斜率,就是这条刚好与函数曲线相切的这条直线,这条直线的斜率正好是这个三角形的高度除以这个水平长度,现在,这条线有一个正斜率,也就是说它有正导数,因此,我得到的新的?1,?1更新后等于?1减去一个正数乘以?。这就是梯度下降法的更新规则:
同时注意学习率α不易过大或过小。通常设置为0.1,0.3,0.01,。或者变化的学习率
1.2 多变量线性回归
多变量将涉及多个