一般形式:
有数据集
其中n表示变量的数量,d表示每个变量的维度。
可以用以下函数来描述y和x之间的关系:
为什么可以用均方误差:
把目标值和变量写成如下等式:
𝜖表示我们未观测到的变量的印象,即随机噪音。我们假定𝜖是独立同分布,服从高斯分布。(根据中心极限定理)
数据集独立同分布:
选择θ,使似然函数最大化:
最大化𝑙(𝜃)即最小化
得证
线性回归损失函数、代价函数、目标函数
- 损失函数(Loss Function):度量单样本预测的错误程度,损失函数值越小,模型就越好。
- 代价函数(Cost Function):度量全部样本集的平均误差。
- 目标函数(Object Function):代价函数和正则化函数,最终要优化的函数。
思考题:为什么要设定目标函数?
当模型复杂度增加时,有可能对训练集可以模拟的很好,但是预测测试集的效果不好,出现过拟合现象,这就出现了所谓的“结构化风险”。结构风险最小化即为了防止过拟合而提出来的策略,定义模型复杂度为𝐽(𝐹),目标函数可表示为:
线性回归的优化方法
梯度下降法
设定初始参数𝜃,不断迭代,使得𝐽(𝜃)最小化:
即
最小二乘法矩阵
牛顿法
利用海森矩阵
拟牛顿法
简化海森矩阵的牛顿法
线性回归的评价指标
MSE、RMSE、MAE、R2(可以避免量纲不一致问题)
测试
数据集:
np.random.seed(1234)
x = np.random.rand(500,3)
y = x.dot(np.array([4.2,5.7,10.8]))
结果:
lr 、最小二乘法的矩阵求解和梯度下降法基本一致
梯度下降法略有偏差