一、线性回归
1、回归的概念(Regression、Prediction)
- 如何预测上海浦东的房价?
- 未来的股票市场走向?
线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。
2、符号约定
- m 代表训练集中样本的数量
- n 代表特征的数量
- x 代表特征/输入变量
- y 代表目标变量/输出变量
- (x,y) 代表训练集中的样本
- (x^(i),y^(i)) 代表第i个观察样本
- ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)
- ̂┬y=ℎ(x),代表预测的值
建筑面积 |
总层数 |
楼层 |
实用面积 |
房价 |
143.7 |
31 |
10 |
105 |
36200 |
162.2 |
31 |
8 |
118 |
37000 |
199.5 |
10 |
10 |
170 |
42500 |
96.5 |
31 |
13 |
74 |
31200 |
…… |
…… |
…… |
…… |
…… |
x^(i)是特征矩阵中的第i行,是一个向量。
x_j^(i)代表特征矩阵中第 i 行的第 j 个特征
3、算法流程
损失函数(Loss Function):
度量单样本预测的错误程度,损失函数值越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。
代价函数(Cost Function):
度量全部样本集的平均误差。常用的代价函数包括均方误差、均方根误差、平均绝对误差等。
目标函数(Objective Function):
代价函数加正则化项,最终要优化的函数。
x 和 y 的关系:
可以设x_0=1,则
损失函数采用平方和损失:
要找到一组 w(w_0,w_1,w_2,...,w_n) ,
4、最小二乘法(LSM)
要找到一组 w(w_0,w_1,w_2,...,w_n) ,使得残差平方和最小。转为矩阵表达形式,令
其中X为m行n+1列的矩阵(m为样本个数,n为特征个数),w为n+1行1列的矩阵(包含了w_0),Y为m行1列的矩阵,则
注:(可由数学推导)
为最小化,接下来对J(w)偏导,
由于中间两项互为转置:
需要用到以下几个矩阵的求导结论:
二、梯度下降
梯度下降的三种形式
1、批量梯度下降(Batch Gradient Descent,BGD):
梯度下降的每一步中,都用到了所有的训练样本
2、随机梯度下降(Stochastic Gradient Descent,SGD):
度下降的每一步中,用到一个样本,在每一次计算之后便更新参数 ,而不需要首先将所有的训练集求和
3、小批量梯度下降(Mini-Batch Gradient Descent,MBGD):
梯度下降的每一步中,用到了一定批量的训练样本
每计算常数b次训练实例,便更新一次参数 w
b=1(随机梯度下降,SGD)
b=m(批量梯度下降,BGD)
b=batch_size,通常是2的指数倍,常见有32,64,128等。(小批量梯度下降,MBGD)
梯度下降与最小二乘法比较
梯度下降:
需要选择学习率α,需要多次迭代,当特征数量n大时也能较好适用,适用于各种类型的模型。
最小二乘法:
不需要选择学习率α,一次计算得出,需要计算(X^TX)^−1,如果特征数量n较大则运算代价大,因为矩阵逆的计算时间复杂度为O(n^3),通常来说当n小于10000 时还是可以接受的,只适用于线性模型,不适合逻辑回归模型等其他模型。