机器学习:回归模型,正则化

一、线性回归

1.最小二乘法:最小化均方误差MSE,即点到直线的欧式距离最小,从而求解w和b
2.优点:速度快,建模简单,解释性强
3.缺点:异常值敏感

from sklearn.linear_model import LinearRegression
'''
(1)fit_intercept:是否计算截距。False-模型没有截距
(2)normalize: 当fit_intercept设置为False时,该参数将被忽略。
如果为真,则回归前的回归系数X将通过减去平均值并除以l2-范数而归一化。
(3)n_jobs:指定线程数
'''
model = LinearRegression(fit_intercept=True, normalize=False)
model.coef_  #回归系数
model.intercept_  #回归截距

二、多项式回归

1.随机梯度下降(SGD):求解w和b
2.优点:能拟合非线性数据
3.缺点:需要先验知识,指数选择不当容易过拟合

from sklearn.preprocessing import PolynomialFeatures #多项式回归
model = PolynomialFeatures(degree=2)
model.fit_transform(X_train)

三、正则化

  • 在损失函数中,为每一个特征加一个惩罚项

1.lasso回归/L1正则化

  • 权值向量w中各个元素的绝对值之和
  • 用于稀疏矩阵
  • 特征选择中常用
  • 损失函数不可导,梯度下降不能用
  • 利用坐标轴下降法进行求解,沿着坐标轴的方向,每次总是固定另外n-1个值,求另外一个的局部最优值。

2.岭回归/L2正则化

  • 权值向量w中各个元素的平方和然后再求平方根

你可能感兴趣的:(机器学习)