机器学习实战笔记(训练模型)

训练模型

训练模型的方法

使用成本函数最小的参数

  • 标准方程法
  • SVD奇异值分解

迭代优化,使用梯度下降

  • 批量梯度下降
  • 随机梯度下降
  • 小批量梯度下降

训练模型方法的问题

训练集有数百万特征:(使用迭代优化)随机梯度下降和小批量梯度下降,若训练集可以容纳于内存,使用批量梯度下降

训练集里特征的数值大小迥异

  • 先放缩,再使用梯度下降
  • 使用标准方程法或SVD

使用批量梯度下降,并在每个轮次绘制验证误差。如果验证误差持续上升

  • 如果训练错误增加:学习率过高,如果训练错误没增加,可能过拟合——简化模型

使用多项式回归时,训练误差和验证误差之间差距大

  • 验证误差远高于训练误差

    • 过拟合

      • 减少多项式阶数
      • 添加L1或l2至成本函数
      • 增加训练集的大小

使用岭回归时,训练误差和验证误差差不多且都相当高

  • 欠拟合,减少正则化参数alpha

两种用于分类的模型

Logistic回归

  • 对数几率回归:把线性回归的结果,通过sigmoid函数,从(-∞,∞)映射到(0,1)
  • 成本函数为凸函数,梯度下降不会陷入局部最优

Softmax回归

  • 逻辑回归只能用于二分类,通过softmax函数扩展到多分类问题
  • 成本函数为交叉熵成本函数

多项式回归(可能会过拟合)

处理非线性关系的数据:将每个特征的幂次方添加为一个新特征,在扩展的特征集上训练一个线性模型

  • poly_features = PolynomialFeatures(degree=2, include_bias=False)
  • “斜率”参数(w,也叫作权重或系数)被保存在 coef_ 属性中,而偏移或截距(b)被保
    存在 intercept_ 属性中

若有(a,b)两个特征,使用degree=2的二次多项式则为(1,a, a^2, ab, b ,b^2)。

参数:

degree:度数,决定多项式的次数

interaction_only: 默认为False,字面意思就是只能交叉相乘,不能有a^2这种.

include_bias: 默认为True, 这个bias指的是多项式会自动包含1,设为False就没这个1了

欠拟合——两条曲线接近且都很高

过拟合——曲线之间存在很大的间隙

正则化

正则化线性模型

  • 岭回归

    • alpha:正则化系数,float类型,默认为1.0。
      fit_intercept:是否需要截距b,默认为True。
      normalize:是否先进行归一化,默认为False。
      copy_X:是否复制X数组,否则覆盖,默认为True。
      max_iter:最大的迭代次数,int类型,默认为None。
      solver:求解方法,str类型,默认为auto。可选参数为:auto、svd、cholesky、lsqr、sparse_cg、sag。

    • ridge_reg =Ridge(alpha=1, solver=“cholesky”, random_state=42)

      • sgd_reg = SGDRegressor(penalty=‘l2’,max_iter=50,tol=-np.infty,random_state=42)

        • 也可以这样用
  • Lasso回归

lasso_reg = Lasso(alpha=0.1)

SGDRegressor(penalty=‘l1’)

经常把特征的权重降低为0,只有很少的特征重要时选他

  • 弹性网络

    • elastic_net = ElasticNet(alpha=0.1,l1_ratio=0.5,random_state=42)
    • 二者的一个混合,容易产生一些异常
  • 早期停止法

    • sgd_reg = SGDRegressor(max_iter=1, tol=-np.infty, warm_start=True,
      penalty=None, learning_rate=“constant”, eta0=0.0005, random_state=42)

    • 当 warm_start=True 时,调用 fit() 方法后,训练会从停下来的地方继续,而不是从头重新开始

正则化

正则化就是把额外的约束或者惩罚项加到已有模型(损失函数)上,以防止过拟合并提高泛化能力。损失函数由原来的E(X,Y)变为E(X,Y)+alpha||w||,w是模型系数组成的向量(有些地方也叫参数parameter,coefficients),||·||一般是L1或者L2范数,alpha是一个可调的参数,控制着正则化的强度。当用在线性模型上时,L1正则化和L2正则化也称为Lasso和Ridge。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值