全面讲解最小二乘法

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

  • 正则化的最小二乘法

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

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,一经查实,立即删除!

相关文章

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…

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…

一文学透设计模式

设计模式是什么&#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;中序遍历 进行先序…

再次斩获第一,文心3.5霸榜国内大模型

目录 1 什么是文心一言&#xff1f;2 体验与文心一言对话3 文心3.5霸榜国内大模型 1 什么是文心一言&#xff1f; 文心一言是百度全新一代知识增强大语言模型&#xff0c;文心大模型家族的新成员&#xff0c;能够与人对话互动&#xff0c;回答问题&#xff0c;协助创作&#xf…

【数据结构】Disruptor环形数组无锁并发框架阅读

Disruptor 是苹国外厂本易公司LMAX开发的一个高件能列&#xff0c;研发的初夷是解决内存队列的延识问顾在性能测试中发现竟然与10操作处于同样的数量级)&#xff0c;基于Disruptor开发的系统单线程能支撑每秒600万订单&#xff0c;2010年在QCn演讲后&#xff0c;获得了业界关注…

linux内网穿透应用场景有哪些?快解析有什么用处?

随着网络技术的不断发展&#xff0c;无论是工作上还是在生活中人们对网络的依赖和需求越来越高。Linux内网穿透作为一种创新的解决方案&#xff0c;为我们提供了无限可能。 首先我们了解一下Linux操作系统。Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基…

用Python获取链家二手房房源数据,做可视化图分析数据

前言 数据采集的步骤是固定: 发送请求, 模拟浏览器对于url地址发送请求获取数据, 获取网页数据内容 --> 请求那个链接地址, 返回服务器响应数据解析数据, 提取我们需要的数据内容保存数据, 保存本地文件 所需模块 win R 输入cmd 输入安装命令 pip install 模块名 (如果你…

UML-构件图

目录 1.概述 2.构件的类型 3.构件和类 4.构件图 1.概述 构件图主要用于描述各种软件之间的依赖关系&#xff0c;例如&#xff0c;可执行文件和源文件之间的依赖关系&#xff0c;所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图 构件图从软件架构的角度来描述…