【机器学习】9、最小二乘法和岭回归

2023-11-07

一、最小二乘法(线性回归)

1.1 公式

最小二乘法的本质

公式推导过程

1.2 矩阵

假设我们有n个样本数据,每个数据有p个特征值,然后p个特征值是线性关系。

即对应的线性模型
这里写图片描述

写成矩阵的形式即是Y=XA

由于样本与模型不一定百分百符合,存在一些噪声,即误差,用B表示,B也是一个向量

即B=Y-XA

Y为样本值,XA为模型的计算值,即期望值

误差平方的计算公式为:

e = ∑ i = 1 n ( y i − X i A ) 2 e=\sum_{i=1} ^n(y_i-X_iA)^2 e=i=1n(yiXiA)2
其中, X i X_i Xi为行向量, A A A为列向量。

最小二乘法的目标是取得最小的e对应的A,由于方差的计算是一个二次函数,即抛物线,所以对应存在一个最小值,即导数为0对应的A,所以对e求A的偏导数,再使其等于0,求解方程即可获得A。

将误差写为矩阵形式:

E = ( Y − X A ) ( Y − X A ) T E=(Y-XA)(Y-XA)^T E=(YXA)(YXA)T

矩阵求解:

关于最小二乘问题的求解,之前已有梯度下降法,还有比较快速的牛顿迭代,此处的最小二乘通过矩阵求导来计算,计算方式更加简洁高效,不需要大量的迭代,只需要解一个正规方程组。

矩阵的迹:矩阵主对角线上各个元素之和,也等于特征值的总和

这里写图片描述

这里写图片描述

这里写图片描述

有了上述7个定理,就可以求解最小二乘的解了,设:

这里写图片描述
那么进一步得到:
这里写图片描述

接下来会涉及到矩阵求导,因为

这里写图片描述

那么进一步利用矩阵求导并利用上述定理,得到

这里写图片描述

我们知道在极值点处梯度值为零,即
这里写图片描述

上述得到的方程组叫做正规方程组,那么最终得到:

这里写图片描述

这样最小二乘问题只需解一个线性方程组即可,不再需要像梯度下降那样迭代了。

奇异矩阵: ∣ A ∣ = 0 |A|=0 A=0

非奇异矩阵: ∣ A ∣ ≠ 0 |A| \not= 0 A=0

矩阵可逆的条件是矩阵非奇异,所以如果矩阵中有线性相关的列,也就是存在共线性,则无法求逆,只能求广义逆矩阵。

广义逆矩阵:

若A为非奇异矩阵,则线性方程组 A x = b Ax=b Ax=b的解为 x = A − 1 b x=A^{-1}b x=A1b ,其中 A A A的逆矩阵 A − 1 A^{-1} A1满足 A − 1 A = A A − 1 = I A^{-1}A=AA{-1}=I A1A=AA1=I( I I I为单位矩阵)。

A A A是奇异阵或长方阵, A x = b Ax=b Ax=b可能无解或有很多解。

若有解,则解为 x = X b + ( I − X A ) y x=Xb+(I-XA)y x=Xb+(IXA)y ,其中у是维数与A的列数相同的任意向量,X是满足 A X A = A AXA=A AXA=A的任何一个矩阵,通常称X为A的广义逆矩阵,用 A g A^g Ag A − A^- A A 1 A^1 A1 等符号表示,有时简称广义逆。

当A非奇异时, A − 1 A^{-1} A1 也满足 A A − 1 A = A AA^{-1}A=A AA1A=A ,且 x = A − 1 b + ( I − A − 1 A ) y = A − 1 b x=A^{-1}b+(I-A^{-1}A)y=A^{-1}b x=A1b+(IA1A)y=A1b

故非奇异阵的广义逆矩阵就是它的逆矩阵,说明广义逆矩阵确是通常逆矩阵概念的推广。

当A的维数比Y的维数多,即样本数量n少于特征值p的时候,下式存在多个解,可能导致结果 θ = ( X T X ) − 1 X T Y \theta=(X^TX)^{-1}X^TY θ=(XTX)1XTY很不稳定,所以要确保 n > p n>p n>p

这里写图片描述

矩阵X不存在广义逆的情况有两种:

  1. X本身存在线性相关关系(即多重共线性),即矩阵非满秩(矩阵的值为0,存在多个解),

当采样值误差造成本身线性相关的样本矩阵仍然可以求出逆阵时,此时的逆阵非常不稳定,所求的解也没有什么意义。

  1. 当变量比样本多时,即p>n

这时,回归系数会变得很大,无法求解。在统计学上,可证明A的最小二乘解为无偏估计,即多次得到的采样值X而计算出来的多个系数估计值向量 的平均值将无限接近于真实值向量β。

为什么进行回归分析要消除共线性的影响:

  1. X本身存在线性相关关系(多重共线性),即矩阵非满秩,表明在数据矩阵X中,至少有一个列向量可以用其余的列向量线性表示,则说明存在完全的多重共线性。也就是 ( X T X ) − 1 (X^TX)^{-1} (XTX)1不存在。导致 θ = ( X T X ) − 1 X T Y \theta=(X^TX)^{-1}X^TY θ=(XTX)1XTY无法估计。

  2. 进行回归分析需要了解每个自变量对因变量的单纯效应,多重共线性就是说自变量间存在某种函数关系,如果你的两个自变量间(X1和X2)存在函数关系,那么X1改变一个单位时,X2也会相应地改变,此时你无法做到固定其他条件,单独考查X1对因变量Y的作用,你所观察到的X1的效应总是混杂了X2的作用,这就造成了分析误差,使得对自变量效应的分析不准确,所以做回归分析时需要排除多重共线性的影响。

如何消除共线性:1.逐步回归,2.主成分回归,3.岭回归

1. 删除不重要的共线性变量
2. 增加样本容量
3. 对变量进行一定的变换(构造一个多重共线性变量的组合;把方程的函数形式转换为一阶差分形式)

4. 岭回归:

线性回归模型的基本假设满足时,用最小二乘法得到的回归系数估计量是无偏的且具有最小方差,即使在高度多重相关的情况下,最小二乘法的回归系数估计量依然是线性无偏的,且具有最小的方差,也就是说多重共线性并不影响最小二乘估计量的无偏性和最小方差性。因此在所有的线性无偏估计中,最小二乘估计仍然具有较小的方差,但这并不意味着最小二乘的估计量的方差一定是最小的,因为虽然它在所有线性无偏估计量中方差较小,但是该值确不一定是最好的。
于是就启发我们,是否可以找到一个有偏估计,使得虽然有微小的偏差,但其精度却能够大大高于无偏的估计量。岭回归就是一种放弃无偏估计性要求的方法。
这里写图片描述

此时估计量比普通最小二乘估计要稳定的多。

5. 主成分回归

这里写图片描述

1.3 代码实现

公式为:
在这里插入图片描述

实际代码实现时,给 b 的分子分母同时乘以 n,如下:
在这里插入图片描述

代码实现如下:

//功能 : 最小二乘法直线拟合 y = a + b*x, 计算系数a 和 b
//参数 :  x -- 辐照度的数组
//       y -- 功率的数组
//       num 是数组包含的元素个数,x[]和y[]的元素个数必须相等
//       a,b 都是返回值
//返回 : 拟合计算成功返回true, 拟合计算失败返回false
//-------------------------------------------------------------
voud LeastSquareLinearFit(float x[], float y[], const int num, double &a, double &b)
{
    uint64_t sum_x  = 0;
    uint64_t sum_y  = 0;
    uint64_t sum_x2 = 0;
    uint64_t sum_xy = 0;

    for(uint32_t i = 0; i < num; i++)
    {
        sum_x += x[i];
        sum_y += y[i];
        sum_x2 += x[i]*x[i];
        sum_xy += x[i]*y[i];
    }

    a = (double)(sum_x2*sum_y - sum_x*sum_xy)/(double)(num*sum_x2-sum_x*sum_x); // 偏移
    b = (double)(num*sum_xy - sum_x*sum_y)/(double)(num*sum_x2 - sum_x*sum_x);  // 斜率
}

二、岭回归

当训练集足够大的时候,经验风险最小化能够保证得到很好的学习效果,当训练集较小时,会产生过拟合现象,虽然对训练数据的拟合程度高,但对未知数据的预测精度低,这样的模型不适用。

这里写图片描述

结构风险最小化是为了防止过拟合现象而提出的策略,结构风险最小化等价于正则化,在风险函数上加上表示模型复杂度的正则化项:
这里写图片描述

通过调节 λ \lambda λ值权衡经验风险和模型复杂度。

岭回归和Lasso,使用的是结构风险最小化的思想,在线性回归的基础上,加上对模型复杂度的约束。

岭回归:

这里写图片描述

LASSO回归:

这里写图片描述

在原先的A的最小二乘估计中加一个小的扰动 λ I \lambda I λI,是原先无法求广义逆的情况变成可以求出广义逆,使得问题稳定并得以求解。

A ( λ ) = ( X T X + λ I ) − 1 X T Y A(\lambda)=(X^TX+\lambda I)^{-1}X^TY A(λ)=(XTX+λI)1XTY

可以得到 ( X T X + λ I ) (X^TX+\lambda I) (XTX+λI)变为满秩矩阵,可以求得稳定的逆。

对应的推导过程如下:

这里写图片描述

上式写为矩阵的形式为:

这里写图片描述

对上式子采用一样的方式(求A的偏导数=0)可得

这里写图片描述

岭回归和最小二乘的区别在于:

这里写图片描述

该项称为正则项,这一项可以看成是对A的各个元素,即各个特征的权的总体的平衡程度,也就是权之间的方差。

偏差:预测数据和真实数据的差距

方差:预测出来数据的分散程度

<img src=“https://img-blog.csdn.net/20180619171840747?”,width=60%,alt=“”/>

二维的情况下可以这样理解(RSS为误差):

这里写图片描述

椭圆形抛物面为 ( y i − ∑ j = i p x i j a j ) 2 (y_i-\sum_{j=i}^p x_{ij}a_j)^2 (yij=ipxijaj)2,圆柱形为 λ ∑ j = 1 p a j 2 \lambda \sum_{j=1}^p a_j^2 λj=1paj2,由最小二乘法求得的解释抛物面的最低点,由岭回归得到的是黄色的点,一般来说,拟合的误差值(偏差)越小,A的各个元素(权值)的方差越高,所以岭回归是找到一个方差不会太大,误差也不会太大的权衡的点,随着r增大,方差变大

岭回归的性质:

1)当岭参数为0,得到最小二乘解。
2)当岭参数λ趋向更大时,岭回归系数A估计趋向于0。
3)岭回归是回归参数A的有偏估计。它的结果是使得残差平和变大,但是会使系数检验变好。
4)在认为岭参数λ是与y无关的常数时,是最小二乘估计的一个线性变换,也是y的线性函数。
但在实际应用中,由于λ总是要通过数据确定,因此λ也依赖于y、因此从本质上说,并非的线性变换,也非y的线性函数。
5)对于回归系数向量来说,有偏估计回归系数向量长度<无偏估计回归系数向量长度。即 ∣ ∣ A ( λ ) ∣ ∣ < ∣ ∣ A ∣ ∣ ||A(\lambda)||<||A|| ∣∣A(λ)∣∣<∣∣A∣∣
6)存在某一个λ,使得它所对应的的MSE(估计向量的均方误差)<最小二乘法对应估计向量的的MSE。即 存在λ>0,使得 M S E ( A ( λ ) ) < M S E ( A ) MSE(A(\lambda))<MSE(A) MSE(A(λ))<MSE(A)

岭迹图:

是λ的函数,岭迹图的横坐标为λ,纵坐标为A(λ)。而A(λ)是一个向量,由a1(λ)、a2(λ)、…等很多分量组成,每一个分量都是λ的函数,将每一个分量分别用一条线。

当不存在奇异性时,岭迹应是稳定地逐渐趋向于0

这里写图片描述

岭迹图作用:

1)观察λ较佳取值;
2)观察变量是否有多重共线性;

在λ很小时,A很大,且不稳定,当λ增大到一定程度时,A系数迅速缩小,趋于稳定。

λ的选择:一般通过观察,选取喇叭口附近的值,此时各β值已趋于稳定,但总的RSS又不是很大。
选择变量:删除那些β取值一直趋于0的变量。

三、LASSO回归:

LASSO回归和岭回归的区别只在于正则项不同

这里写图片描述

两者的区别对应到图形上则是

这里写图片描述

图片中的黑色粗线,即为一个底面为正方形的柱体与抛物面的交点

这里写图片描述

从投影图看则更加的直观,lasso更容易产生解为0的情况,可以起到筛选变量的目的。

(次梯度方法(subgradient method)是传统的梯度下降方法的拓展,用来处理不可导的凸函数)

这里写图片描述

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【机器学习】9、最小二乘法和岭回归 的相关文章

随机推荐

  • SingalR自托管(self-host)实例

    实例说明 Microsoft AspNet SignalR SelfHost 用于创建自托管服务器端 Microsoft AspNet SignalR JS 用于创建Web浏览器客户端 Microsoft AspNet SignalR Cl
  • 图解通信原理与案例分析-32:物流仓储、智能交通中的RFID通信技术详解

    前言 RFID射频身份识别 是一个非常成熟的通信技术 在仓储物流 交通运输等行业有广泛的应用 本文就将介绍RFID的通信原理 目录 第1章 RFID射频身份识别概述 第2章 RFID网络架构 2 1 RFID通信无线通信 2 2 RFID系
  • pcie总线协议入门基础知识

    1 PCIe基础知识 PCI Express是一种高速串行计算机扩展总线标准 它原来的名称为 3GIO 是由英特尔在2001年提出的 旨在替代旧的PCI PCI X和AGP总线标准 与大多数总线一样 PCIe总线也包括电气属性和协议组成两部
  • Docker 安装 Nginx

    方法一 通过 Dockerfile构建 创建Dockerfile 首先 创建目录nginx 用于存放后面的相关东西 edualiyun edualiyun mkdir p nginx www nginx logs nginx conf ww
  • 光纤收发器指示灯及常见问题详解

    一 光纤收发器6指示灯的含义 光纤收发器有6个LED指示灯 它们显示了收发器的工作状态 根据LED所示 就能判断出收发器是否工作正常和可能有什么问题 从而能帮助找出故障 它们的作用分别如下所述 PWR 灯亮表示DC5V电源工作正常 FX 1
  • VisualStudio2019配置OpenCV4.5.0

    目录 一 下载安装OpenCV4 5 0 二 配置环境变量 三 配置VS2019 四 测试代码 五 测试结果 一 下载安装OpenCV4 5 0 1 进入opencv官网 2 点击Release进入Release界面 选择Windows版本
  • unity3d的血量减少和增加的数字显示制作(NGUI)

    首先说明一下为什么要放在NGUI里面讲这节内容 因为即将要用到了一个插件HUD Text 这个插件必须是在已经安装了NGUI的前提下才能安装并使用 首先安装HUD text这个插件 这个插件里面最重要的就是HUD Text这脚本下图红色线标
  • freeswitch/conference分析

    member由conference function进入 1 查找会议 如果会议不存在 则 2 创建会议 创建会议画布 conference video parse layouts 根据conference layouts conf 配置创
  • CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection---CVPR 2020

    仅翻译了与目标识别相关的内容 论文地址 https arxiv org pdf 2003 09119 pdf 源码地址 https github com KiveeDong CentripetalNet 目录 Abstract 1 Intr
  • SM3密码杂凑算法和SM2数字签名算法的PDF签名方法

    支持SM3密码杂凑算法和SM2数字签名算法的PDF签名方法 其特征在于 包括以下步骤 1 发送端发送待签名的PDF文档 2 接收端存在签名者的数字证书 接收端获取PDF文档 对签名者的数字证书的有效性进行检查 3 用SM3密码杂凑算法对获取
  • JS Base64 内容,数字加密、解密

    加密 let message Hello World let encoded btoa message console log encoded SGVsbG8gV29ybGQh 解密 let decoded atob encoded con
  • java 判断电脑盘符是否存在

    public static void lkm FileSystemView fileSystemView FileSystemView getFileSystemView 获取FileSystemView对象 File roots File
  • 全套大数据平台个人开发环境手动搭建(CDH版本) 伪分布式

    文章目录 1 简介 2 准备 2 1 关闭防火墙 2 2 免密登陆 3 通用配置 3 1 安装包准备 3 2 统一环境变量配置 1 Hadoop配置 1 1 env文件 1 2 core site xml 1 3 hdfs site xml
  • C# 扫描识别图片中的文字(.NET Framework)

    环境配置 本文以C 及VB NET代码为例 介绍如何扫描并读取图片中的文字 本次程序环境如下 Visual Studio版本要求不低于2017 图片扫描工具 Spire OCR for NET 图片格式 png 这里的图片格式支持JPG P
  • LeetCode初级算法——数组:买卖股票的最佳时机 II

    122 买卖股票的最佳时机 II 给定一个数组 它的第 i 个元素是一支给定股票第 i 天的价格 设计一个算法来计算你所能获取的最大利润 你可以尽可能地完成更多的交易 多次买卖一支股票 注意 你不能同时参与多笔交易 你必须在再次购买前出售掉
  • ora-01536:超出表空间"XXXX"的空间限额的解决办法

    原因 当前使用的用户被数据库限制了在建表的表空间 解决方案 1 alter user 用户名quota 100M on 表空间名 为指定用户在指定表空间上增加100M限额 这个数字可以任意 2 alter user 用户名quota unl
  • 云服务器应用镜像和系统镜像选哪个好?

    很多的新手用户在咨询 云服务器应用镜像和系统镜像选哪个 一般推荐选择安装系统镜像 安装纯净的操作系统 这样的话操作系统是纯净的未安装过任何环境和程序的 方便我们操作 1 服务器的镜像和操作系统是可以直接更换的 我们在阿里云的服务器后台直接就
  • ES6---new Promise()讲解(尤其注意里面的参数resolve、reject)

    ES6 new Promise 讲解 尤其注意里面的参数resolve reject 直接打印出来看看吧 console dir Promise 这么一看就明白了 Promise是一个构造函数 自己身上有all reject resolve
  • CVE-2023-25194漏洞 Apache Kafka Connect JNDI注入漏洞

    Apache Kafka 的最新更新解决的一个漏洞是一个不安全的 Java 反序列化问题 可以利用该漏洞通过身份验证远程执行代码 Apache Kafka 是一个开源分布式事件流平台 被数千家公司用于高性能数据管道 流分析 数据集成和任务关
  • 【机器学习】9、最小二乘法和岭回归

    文章目录 一 最小二乘法 线性回归 1 1 公式 1 2 矩阵 1 3 代码实现 二 岭回归 一 最小二乘法 线性回归 1 1 公式 最小二乘法的本质 公式推导过程 1 2 矩阵 假设我们有n个样本数据 每个数据有p个特征值 然后p个特征值