全面讲解最小二乘法

常见的最小二乘法我们就不多说了,下面主要介绍一下最小二乘法的一些先进方法。

  • 正则化的最小二乘法

在使用常见的最小二乘法进行回归分析时,常常会遇到过拟合的问题,也就是在训练数据集上表现的很好,但是在测试数据集上表现的很差。这时候就需要将最小二乘法中引入一个正则化项。常见的正则化有两种。

L2正则化(Ridge回归):

arg min_{w\in D}L(W)=\sum_{i=1}^{n}(y_i-Wx_i)^2+\lambda\sum_{j=1}^{d}W^2_j \\ =||y-Wx||^2_2+\lambda||W||^2_2

L1正则化(Lasso回归):

arg min_{w\in D}L(W)=\sum_{i=1}^{n}(y_i-Wx_i)^2+\lambda\sum_{j=1}^{d}|W_j| \\ =||y-Wx||^2_2+\lambda||W||_1

从概率的角度解释正则化:正则化相当于参数W的先验分布。如果该分布是\mu=0的高斯分布,就是L2正则化;如果该分布是\mu=0的拉普拉斯分布,则是L1正则化。通过加入正则化来限制参数空间,控制模型的复杂度,从而防止过拟合。

  • 阻尼最小二乘法(Levenberg–Marquardt algorithm,LMA)

        我们常用的最小二乘法是拟合线性方程组y=Wx,但是对于非线性的函数,我们就要用阻尼最小二乘法,本质上是一个迭代求解的过程,基本思想是利用泰勒展开把非线性函数线性化。

        设方程y=f(x;c),其中x是变量,c是要拟合的参数。我们要找到一组c使得:

arg min_{c\in D}L(W)=\sum_{i=1}^{n}(y_i-f(x_i;c))^2

将函数f(x;c)泰勒展开,只保留一阶项,可以得到:

Y=f(x;c_0)+J\Delta c

其中J是雅克比矩阵:

J=\begin{pmatrix} \frac{\partial f(x_1)}{\partial c_1} &\frac{\partial f(x_1)}{\partial c_2} & ...&\frac{\partial f(x_1)}{\partial c_n} \\ \frac{\partial f(x_2)}{\partial c_1}& \frac{\partial f(x_2)}{\partial c_2} & ... & \frac{\partial f(x_2)}{\partial c_n}\\ ...& ... & ... &... \\ \frac{\partial f(x_n)}{\partial c_1}& \frac{\partial f(x_n)}{\partial c_2}& .... & \frac{\partial f(x_n)}{\partial c_n} \end{pmatrix}

从而有J \Delta c = Y-F,从而可以解出\Delta c =(J^TJ)^{-1}J^T( Y-F),不断迭代更新c=c+\Delta c,直到\Delta c <\xi

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/26428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 实现语音转文本

Python 实现语音转文本 Python可以使用多种方式来实现语音转文本&#xff0c;下面介绍其中两种。 方法一&#xff1a;使用Google Speech API Google Speech API 是 Google 在 2012 年推出的一个 API&#xff0c;可以用于实现语音转文本。使用 Google Speech API 需要安装 Sp…

64位交叉编译器版本切换

操作系统版本 lkmaoubuntu:~$ cat /proc/version Linux version 5.6.18 (lkmaoubuntu) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #1 SMP Tue Jul 25 23:11:17 PDT 2023 lkmaoubuntu:~$ 64位 安装默认版本和gcc5版本。 sudo apt-get install gcc-aarch64-linux-g…

无涯教程-Perl - if...elsif...else语句函数

if 语句后可以跟可选的 elsif ... else 语句&#xff0c;这对于使用单个if ... elsif语句测试各种条件非常有用。 if...elsif...else - 语法 Perl编程语言中的 if ... elsif...else语句的语法是- if(boolean_expression 1) {# Executes when the boolean expression 1 is tr…

C语言案例 打印秋水仙花数-05

题目&#xff1a;打印出所有的水仙花数。 步骤一&#xff1a;定义程序目标 编写一个C程序&#xff0c;输出所有的水仙花数。步骤二&#xff1a;程序设计 原理&#xff1a;所谓“水仙花数”是指一个三位数&#xff0c;其各位数字立方和等于该数本身例如&#xff1a;153是一个“…

JavaScript 一段代码快速入门

仅记录了和c有所不同之处&#xff0c;其余类似。 一段简单代码 // 关注点分离&#xff0c;指html页面设计和javascript页面行为分离// 对象&#xff0c;键值对形式 const user {name: "gyf",age: 20,jobs: ["front-end", "engineer", 2, true…

智能卡通用安全检测指南 思度文库

范围 本标准规定了智能卡类产品进行安全性检测的一般性过程和方法。 本标准适用于智能卡安全性检测评估和认证。 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件&#xff0c;仅注日期的版本适用于本文件。凡是不注日期的引用文件&#xff0c;…

STM32 CubeMX USB_CDC(USB_转串口)

STM32 CubeMX STM32 CubeMX 定时器&#xff08;普通模式和PWM模式&#xff09; STM32 CubeMX一、STM32 CubeMX 设置USB时钟设置USB使能UBS功能选择 二、代码部分添加代码实验效果 ![请添加图片描述](https://img-blog.csdnimg.cn/a7333bba478441ab950a66fc63f204fb.png)printf发…

Python自动化实战之使用Pytest进行API测试详解

概要 每次手动测试API都需要重复输入相同的数据&#xff0c;而且还需要跑多个测试用例&#xff0c;十分繁琐和无聊。那么&#xff0c;有没有一种方法可以让你更高效地测试API呢&#xff1f;Pytest自动化测试&#xff01;今天&#xff0c;小编将向你介绍如何使用Pytest进行API自…

【二】SPI IP核的使用

【一】SPI IP核使用&#xff1a;传送门 基于qsys通过spi外部总线协议对sd卡进行读写操作 一、实验平台与实验的目的&#xff1a; ​ 正点原子开拓者、芯片型号&#xff1a;EP4CE10F17C8&#xff1b;还需要一张sd卡。 ​ 该实验主要是利用SPI IP核驱动SD卡来实现读写实验&am…

05 并发编程挑战,上下文切换问题,死锁问题,受限于硬件和软件的资源问题

JAVA多线程 并发编程上下文切换如何减少上下文切换减少上下文切换实战 死锁资源限制的挑战什么是资源限制资源限制引发的问题如何解决资源限制的问题在资源限制情况下进行并发编程 并发编程 有的并发程序写得不严谨&#xff0c;在并发下如果出现问题&#xff0c;定位起来会比较…

Java中String方法学习总结_kaic

String详解 Java中的String是一个不可变的字符序列&#xff0c;它是Java中最常用的数据类型之一。 常用构造方法 String()&#xff1a;无参构造方法&#xff0c;创建一个空字符串对象。 String(char[] value)&#xff1a;通过字符数组创建一个字符串对象。 String(char[] val…

一文学透设计模式

设计模式是什么&#xff1f; 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案&#xff0c;代表了解决一些问题的最佳实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 说白了&#xff0c;设计模式对于软件开发人员来说就…

K8S系列文章 之 容器网络基础 Docker0

什么是Docker0 使用ip addr命令看一下网卡&#xff1a; rootKitDevVps:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host…

优维低代码实践:对接数据

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…

数据结构--单链表OJ题

上文回顾---单链表 这章将来做一些链表的相关题目。 目录 1.移除链表元素 2.反转链表 3.链表的中间结点 4.链表中的倒数第k个结点 5.合并两个有序链表 6.链表分割 7.链表的回文结构 8.相交链表 9.环形链表 ​编辑 10.环形链表II ​编辑 ​编辑 1.移除链表元素 思…

windows永久暂停更新

目录 1.winr,输入regedit打开注册表 2.打开注册表的这个路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 右键空白地方新建QWORD值命名为:FlightSettingsMaxPauseDays 3.双击FlightSettingsMaxPauseDays,修改里面的值为100000,右边基数设置…

Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

学习视频&#xff1a;尚硅谷2023版Node.js零基础视频教程&#xff0c;nodejs新手到高手 文章目录 &#x1f4da;关于Node.js&#x1f407;为什么要学Node.js&#x1f407;Node.js是什么&#x1f407;Node.js的作用&#x1f407;Node.js下载安装&#x1f407;命令行工具&#x1…

ebay儿童书包产品CPC认证

儿童书包是一种能够盛放书本或者文具的包。现在的书包五花八门&#xff0c;以普通的布料或者是帆布等制成&#xff0c;有背带&#xff0c;包内一般分栏。一般分三种&#xff0c;背在身后的&#xff0c;挎在肩上的&#xff0c;轮式&#xff08;可以拖行&#xff09;的。 一、美国…

树,森林的遍历,以及其与二叉树遍历之间的关系

树和森林的的遍历 树的遍历 先根遍历 以下列树为演示 首先将树转化成二叉树&#xff08;孩子兄弟表示法&#xff1a;就是每个节点的左边连着它的左孩子&#xff0c;右边连自己右边的第一个兄弟&#xff09; 然后把转化为的二叉树进行先序遍历&#xff0c;中序遍历 进行先序…

JavaScript --闭包(Closure)

概念 闭包是一种特殊的函数&#xff0c;它可以访问并操作在其定义时所处的作用域中的变量&#xff0c;即使这些变量在函数执行时不再存在。要理解闭包&#xff0c;我们需要掌握以下几个关键概念&#xff1a; 作用域&#xff08;Scope&#xff09;&#xff1a;作用域是定义变量…