线性回归算法

一、机器学习的基本概念

  • 监督学习

       在监督学习中,给定一组学习数据,我们能够明确的知道输出结果是什么,并且知道输入和输出之间的关系。常用算法:K近邻算法,Logistic回归、支持向量机、朴素贝叶斯、决策树
        例子:使用K近邻算法对手写字进行识别,输入的数据为经过人为标定的手写字图片,我们会将算法得出的结果与标签进行对比,以检测算法的准确率。

  • 无监督学习

        在无监督学习中,我们输入的数据是没有经过人为标定的。我们可以通过聚类的方式从数据中提取相应的特征,对数据进行分类。常用算法:K均值聚类、分层聚类
       例子:新闻分类,通过对某个关键字的提取,实现新闻的统一分类。

  •  泛化能力

         指一个机器学习算法对于没有见过的算法的识别能力

  • 过拟合

        过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。
       过拟合一般由以下几方面导致:
              1、训练样本选择错误;
              2、样本数据噪音太大;
              3、整体算法逻辑不符合现实应用场景;
              4、参数太多,复杂度高;
      解决方法:
             1、加大数据量;
             2、使用正则化;

  •  欠拟合

       欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。
       解决方法:
              1、增加新的特征;
              2、添加多项式;
              3、减少正则化参数;
              4、使用非线性模型。

  •  交叉验证

       交叉验证是用来验证分类器性能的一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(test set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

  •  偏差:

       偏差度量了学习算法的期望预测与真实结果的偏离程序,

  •  误差:

       方差度量了同样大小的训练集的变动所导致的学习性能的变化,


 二、线性回归原理


       这里直接进行公式推导,如我在下面这篇博文中提到的
https://blog.****.net/Smile_Smilling/article/details/82817277
       对西瓜书中第三章公式的推导,以及对3.3习题的解题过程
https://blog.****.net/Smile_Smilling/article/details/82830953

三、线性回归函数

  •  损失函数

        线性回归的损失函数被称为均方误差或者平方损失,具体公式如下所示

 线性回归算法

       均方误差的几何意义:在线性回归中,试图寻找一条直线,使所有样本到直线上的距离之和最小。

  •  代价函数

        代价函数是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

  •  目标函数 

               目标函数等于损失函数加正则化项            

四、优化方法

  • 梯度下降:

         基本思想:要找到某函数的最小值,最好的方法是沿着该函数的梯度方向探寻。

         公式:

                       线性回归算法

                       线性回归算法

          例子:

                     假设目标函数为         线性回归算法

                     假设学习率为             线性回归算法

                     假设初始位置为          线性回归算法

                     梯度函数为                 线性回归算法

                                         线性回归算法         线性回归算法

  • 牛顿法

           牛顿法是一种在实数域和复数域上近似求解方程的方法。

            经过t+1次迭代之后的公式

                            线性回归算法

            步骤如下:

                    1、随机选取起始点线性回归算法;

                    2、计算一阶导和二阶导;

                    3、根据以上公式更新线性回归算法值。

              具体推导流程可以参考“机器学习第三章”这篇博文。

  • 拟牛顿法

              

五、评估指标

  • 平均绝对值误差

         平均绝对误差(MAE)就是指预测值与真实值之间平均相差多大。

         公式:

                            线性回归算法

                          线性回归算法为真实值,线性回归算法为预测值

  • 均方误差

                     线性回归算法

  • R平方值

                     

六、sklearn.linear_model.LinearRegression

线性回归算法

参考链接:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html