zoukankan      html  css  js  c++  java
  • 机器学习算法概述第一章——线性回归

    一、机器学习是什么

      机器学习是人类用数学的语言通过大量的数据训练"教会"计算机做出一系列的行为。

    二、机器学习的主要算法

      ①线性回归算法

        衍生的:正则化

      ②逻辑回归算法

      ③KNN算法

        衍生的KD-tree

    三、算法介绍

      ①线性回归算法

      运用线性模型y=ax+b,去拟合数据集,进行数据集的预测。在算法中,X为特征向量,即y的影响因素,w与b为可调整的模型参数。为了方便记忆,W=(w1,w2,w3,…wn,b),X=(x(1),.....x(n)

      

      解析解:最小二乘法(又称最小平方法)是一种数学优化技术.它由两部分组成:
      一、计算所有样本误差的平均(代价函数)
      二、使用最优化方法寻找数据的最佳函数匹配(抽象的)
      数值解:梯度下降法、牛顿法、拟牛顿法等等

     

     

     待估参数的值可以用两种方法:极大似然估计,最小二乘法

     

     关于最小二乘法的注意事项:

     

    原理

     还有批量梯度下降法(BGD):使用所有样本的梯度值作为当前模型参数θ的更新

      随机梯度下降算法(SGD):使用单个样本的梯度值作为当前模型参数θ的更新

      优先选择SGD,因为速度快,但是很少情况下效果比BGD差一些,其他在此不作叙述

      小批量梯度下降法(MBGD)
    MBGD中丌是每拿一个样本就更新一次梯度,而且拿b个样本(b一般为10)的平均梯度作为更新方向

    梯度下降法调优策略

     目标函数:

      线性回归一般用于预测连续值变量,如房价预测问题。参数w是特征所占的权重,w的更新,一般可选用梯度下降等相关优化方法。因为预测值为连续变量且MSE对特征值范围变化比较敏感,所以一般情况下对会对特征进行归一化处理。

    正则化/惩罚项

    正则化的作用:

     

    所谓稀疏模型就是模型中很多的参数是0,这就相当于进行了一次特征选择,只留下了一些比较重要的特征,提高模型的泛化能力,降低过拟合的可能。

     使用L2的回归叫做岭回归,Ridge回归

    使用L1的回归叫做Lasso回归

    L1与L2同时使用的叫弹性网络(没什么卵用)

    Ridge与LASSO的选择

    Ridge模型具有较高的准确性、鲁棒性以及稳定性(冗余特征已经被删除了);

    LASSO模型具有较高的求解速度。

    模型效果判断:

    MSE:误差平方和,越趋近于0表示模型越拟合训练数据。
    RMSE:MSE的平方根,作用同MSE
    R2:取值范围(负无穷,1],值越大表示模型越拟合训练数据;最优解是1;当模型预测为随机值的时候,有可能为负;若预测值恒为样本期望,R2为0
    TSS:总平方和TSS(Total Sum of Squares),表示样本乊间的差异情况,是伪方差的m倍RSS:残差平方和RSS(Residual Sum of Squares),表示预测值和样本值乊间的差异情况,是MSE的m倍
     线性回归调参
      在实际工作中,对于各种算法模型(线性回归)来讲,我们需要获取θ、λ、p的值;θ的求解其实就是算法模型的求解,一般丌需要开发人员参不(算法已经实现),主要需要求解的是λ和p的值,这个过程就叫做调参(超参)。
      
      交叉验证:将训练数据分为多份,其中一份进行数据验证并获取最优的超参:λ和p;比如:十折交叉验证、五折交叉验证(scikit-learn中默认)等。
     线性回归拓展

     线性回归总结:

  • 相关阅读:
    怎么统计指定文件夹下含有.xml格式的文件数目
    SQLServer触发器创建、删除、修改、查看
    Devexpress 学习不错的网址
    Devexpress
    SQL 查找重复项及批量修改数据成固定格式
    elementui carousel不能自适应问题
    node中console自定义样式
    forEach for for in for of性能问题
    骚东西
    关于arr.map()问题
  • 原文地址:https://www.cnblogs.com/qianchaomoon/p/12101507.html
Copyright © 2011-2022 走看看