人工智能中文网
  • 主页
  • 线代考研视频
  • 线性代数
  • Python机器学习与算法
  • 大数据与机器学习
  • Python基础入门教程
  • 人工智能中文网
    教程目录
    阅读:

    最小二乘法(线性回归)详解版

    < 上一篇:线性回归模型 下一篇:牛顿法 >
    对于线性回归模型,假设训练集中有 m 个训练样本,每个训练样本中有 n-1 个特征,可以使用矩阵的表示方法,预测函数可以表示为:


    其损失函数可以表示为:


    其中,标签 Y 为 m×1 的矩阵,训练特征 X 为 m×n 的矩阵,回归系数 W  为 n×1 的矩阵。在最小二乘法中,对 W 求导,即:


    令其为 0,得到:


    现在让我们一起利用 Python 实现最小二乘的解法,在最小二乘法的求解过程中,需要用到矩阵的计算,因此,我们需要导入 Python 的矩阵计算模块:
    import numpy as np
    最小二乘的具体实现如下所示:
    def least_square(feature, label):
        '''最小二乘法
        input:  feature(mat):特征
                label(mat):标签
        output: w(mat):回归系数
        '''
        w = (feature.T * feature).I * feature.T * label
        return w
    程序中,函数 least_square 实现了线性回归模型的最小二乘解法,函数的输入是训练数据的特征和标签,其输出是线性回归模型的回归系数。回归系数的求解如程序中的 w 所示,其与上述的公式一致。

    广义逆的概念

    对于线性回归的模型,其预测函数的矩阵表示为:


     
    若矩阵 X 是一个方阵,且矩阵 X 的行列式 |X|≠0,则矩阵 X 的逆 X-1 存在,即对于满秩矩阵 X,其逆矩阵存在。如果矩阵 X 不是方阵,可以求矩阵 X 的 Moore-Penrose 广义逆  X。Moore-Penrose 广义逆具有很好的性质,如 Moore-Penrose 广义逆存在而且唯一,则回归系数可以表示为:

    < 上一篇:线性回归模型 下一篇:牛顿法 >