线性模型
试图学得一个通过属性的线性组合来进行预测的函数:
在上面的公式中,我们考虑n个因变量和p个自变量的观察值。因此, 是因变量的观察,X是进行观察的j独立变量,j= 1,2,…,p。值βĴ表示参数进行估计,并且ε是独立同分布正常的误差。
损失函数
其中y为第i个样本的真实值,h(x)为第i个样本特征值组合预测函数。
当有多个特征X ij(j= 1,2,…,p)的多组数据时,我们希望得到最佳的wi(i=1,2,3…),即损失函数达到最小值时的wi(i=1,2,3…)
正规方程求解
https://baike.baidu.com/item/最小二乘法
当只有几个 十几个时,使用正规方程求解比较合适。但是特征上几十个 数据量达到几百万上千万时,使用正规方程是算不出来的。这个时候就需要使用其他的求解方法。
梯度下降求解
f(θ)≈f(θ_0)+(θ−θ0)⋅∇_f(_θ_0)
多次使用Θ = Θ-a(f(Θ)’)带入 使得损失函数f(θ)越来越小。
详细看 https://www.yuque.com/zhiwa/deepin/nvgs8x#d7b77bfc
特点
回归性能评估
(均方误差(Mean Squared Error)MSE) 评价机制:
api
正规方程
sklearn.linearmodel.LinearRegression()
普通最小二乘线性回归
coef:回归系数
梯度下降
sklearn.linearmodel.SGDRegressor()
通过使用SGD最小化线性模型
coef:回归系数
误差评估
sklearn.metrics.mean_squared_error(真实值,预测值)
返回方差
注意点
训练值和目标值也是都需要分别标准化。将预测值换转化逆标准化处理使用inverse_transform()处理