最小二乘法MSE

x1x2x3x4x5x6x7x8x0y
014805-29-31339
-41064-14-2-1481-114
-1-65-123-32-2130
5-23105114-81126
-15-15-8-157-4-1221-395
11-10-243-9-671-87
-1404-35101371422
-3-7-2-80-6-5-91-309

1前景知识: 矩阵相关公式

在这里插入图片描述

y=(339−11430126−395−87422−309)y=\begin{pmatrix} 339&\\ -114&\\ 30&\\ 126&\\ -395&\\ -87&\\ 422&\\ -309 \\\end{pmatrix}y=3391143012639587422309

X=X=X=(014805−29−31−41064−14−2−1481−1−65−123−32−215−23105114−81−15−15−8−157−4−122111−10−243−9−671−1404−35101371−3−7−2−80−6−5−91)\begin{pmatrix} 0& 14& 8& 0& 5& -2& 9& -3&1 \\ -4& 10& 6& 4& -14& -2& -14& 8&1\\-1& -6& 5& -12& 3& -3& 2& -2&1\\5& -2& 3& 10& 5& 11& 4& -8&1\\-15& -15& -8& -15& 7& -4& -12& 2&1\\11& -10& -2& 4& 3& -9& -6& 7&1\\-14& 0& 4& -3& 5& 10& 13& 7&1\\-3& -7& -2& -8& 0& -6& -5& -9&1\end{pmatrix}0415151114314106215100786538242041210154385143573502231149106914241261353828277911111111

W=(w1w2w3w4w5w6w7w8w0)W=\begin{pmatrix} w_1&\\ w_2&\\ w_3&\\ w_4&\\ w_5&\\ w_6&\\ w_7&\\ w_8&\\w_0\end{pmatrix}W=w1w2w3w4w5w6w7w8w0

2最小二乘法

h(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w6x6+w7x7+w8x8+w0x0h(x)=w_1x_1+w_2x_2+w_3x_3+w_4x_4+w_5x_5+w_6x_6+w_7x_7+w_8x_8+w_0x_0h(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w6x6+w7x7+w8x8+w0x0

loss=[(h1(x)−y1)2+(h2(x)−y2)2+...(hn(x)−yn)2]/n=1n∑i=1n(h(xi)−yi)2=1n∣∣(XW−y)∣∣2=12∣∣(XW−y)∣∣2这就是传说中的最小二乘法公式∣∣A∣∣2是欧几里得范数的平方 也就是每个元素的平方相加loss=[(h_1(x)-y_1)^2+(h_2(x)-y_2)^2+...(h_n(x)-y_n)^2]/n\\=\frac{1}{n} \textstyle\sum_{i=1}^{n}(h(x_{i})-y_{i})^{2}\\=\frac{1}{n}||(XW-y)||^2\\=\frac{1}{2}||(XW-y)||^2 这就是传说中的最小二乘法公式 \\ ||A||^2 是欧几里得范数的平方\,也就是每个元素的平方相加loss=[(h1(x)y1)2+(h2(x)y2)2+...(hn(x)yn)2]/n=n1i=1n(h(xi)yi)2=n1(XWy)2=21(XWy)2A2

虽然这个案例中n=8,但是常常令n=2,因为是一个常数 求最小值时n随便取哪个正数都不会影响W结果,但是求导过程可以约掉前面的系数,会加速后面的计算

h(x1)表示y1,=X第1行分别和W相乘h(x_1)表示y^,_1= X第1行分别和W相乘h(x1)y1,=X1W

h(x2)表示y2,=X第2行分别和W相乘h(x_2)表示y^,_2= X第2行分别和W相乘h(x2)y2,=X2W

高斯把公式给了,但是何时loss最小呢?

1.二次方程导数为0时最小

loss=12∣∣(XW−y)∣∣2求导:loss=\frac{1}{2}||(XW-y)||^2 求导:loss=21(XWy)2:

2.先展开矩阵乘法

loss=12(XW−y)T(XW−y)loss=\frac{1}{2}(XW-y)^T(XW-y)loss=21(XWy)T(XWy)

loss=12(WTXT−yT)(XW−y)loss=\frac{1}{2}(W^TX^T-y^T)(XW-y)loss=21(WTXTyT)(XWy)

loss=12(WTXTXW−WTXTy−yTXW+yTy)loss=\frac{1}{2}(W^TX^TXW-W^TX^Ty-y^TXW+y^Ty)loss=21(WTXTXWWTXTyyTXW+yTy)

3.进行求导(注意X,y都是已知的,W是未知的)

loss′=12(WTXTXW−WTXTy−yTXW+yTy)′loss'=\frac{1}{2}(W^TX^TXW-W^TX^Ty-y^TXW+y^Ty)'loss=21(WTXTXWWTXTyyTXW+yTy)

loss′=12(XTXW+(WTXTX)T−XTy−(yTX)T)loss'=\frac{1}{2}(X^TXW+(W^TX^TX)^T-X^Ty-(y^TX)^T)loss=21(XTXW+(WTXTX)TXTy(yTX)T)

loss′=12(XTXW+XTXW−XTy−XTy)loss'=\frac{1}{2}(X^TXW+X^TXW-X^Ty-X^Ty)loss=21(XTXW+XTXWXTyXTy)

loss′=12(2XTXW−2XTy)loss'=\frac{1}{2}(2X^TXW-2X^Ty)loss=21(2XTXW2XTy)

loss′=XTXW−XTyloss'=X^TXW-X^Tyloss=XTXWXTy

4.令导数loss′=0loss'=0loss=0

0=XTXW−XTy0=X^TXW-X^Ty0=XTXWXTy

XTXW=XTyX^TXW=X^TyXTXW=XTy

5.矩阵没有除法,使用逆矩阵转化

(XTX)−1(XTX)W=(XTX)−1XTy(X^TX)^{-1}(X^TX)W=(X^TX)^{-1}X^Ty(XTX)1(XTX)W=(XTX)1XTy

W=(XTX)−1XTyW=(X^TX)^{-1}X^TyW=(XTX)1XTy

在这里插入图片描述

有了W,回到最初的问题:

求如果karen的各项指标是:

被爱:11 学习指数:14 抗压指数:8 运动指数:10 饮食水平:5 金钱:10 权利:8 压力:1

那么karen的健康程度是多少?

分别用W各项乘以新的X 就可以得到y健康程度

3 API

sklearn.linear_model.LinearRegression()
功能: 普通最小二乘法线性回归, 权重和偏置是直接算出来的,对于数量大的不适用,因为计算量太大,计算量太大的适合使用递度下降法参数:
fit_intercept	bool, default=True是否计算此模型的截距(偏置)。如果设置为False,则在计算中将不使用截距(即,数据应中心化)。
属性:	 
coef_ 回归后的权重系数
intercept_ 偏置print("权重系数为:\n", estimator.coef_)  #权重系数与特征数一定是同样的个数。
print("偏置为:\n", estimator.intercept_)

4 示例代码

from sklearn.linear_model import LinearRegression
import numpy as np
data=np.array([[0,14,8,0,5,-2,9,-3,399],[-4,10,6,4,-14,-2,-14,8,-144],[-1,-6,5,-12,3,-3,2,-2,30],[5,-2,3,10,5,11,4,-8,126],[-15,-15,-8,-15,7,-4,-12,2,-395],[11,-10,-2,4,3,-9,-6,7,-87],[-14,0,4,-3,5,10,13,7,422],[-3,-7,-2,-8,0,-6,-5,-9,-309]])
x=data[:,0:8]
y=data[:,8:]
estimator=LinearRegression(fit_intercept=False)
estimator.fit(x,y)
print("权重系数为:\n", estimator.coef_)  #权重系数与特征数一定是同样的个数。
print("偏置为:\n", estimator.intercept_)
x_new=[[11,14,8,10,5,10,8,1]]
y_predict=estimator.predict(x)
print("预测结果:\n",y_predict)
print(-3*0.4243965-7*7.32281732-2*15.05217218-8*3.5996297+0*12.05805264-6*1.76972959-5*17.0276393-9*11.31212591)
权重系数为:[[ 0.4243965   7.32281732 15.05217218  3.5996297  12.05805264  1.7697295917.0276393  11.31212591]]
偏置为:0.0
预测结果:[[ 399.][-144.][  30.][ 126.][-395.][ -87.][ 422.][-309.]]
-308.99999993

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

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

相关文章

Pixel 4D 3.4.4.0 | 支持丰富的壁纸资源,高清画质,高度的个性化设置能力,智能推荐功能

Pixel 4D是一款功能强大且用户体验良好的动态壁纸应用。它提供了丰富的壁纸资源和高清画质,让用户可以轻松找到自己喜欢的壁纸。此外,该应用还具备高度的个性化设置能力,允许用户根据自己的喜好调整壁纸效果。智能推荐功能则能帮助用户发现更…

<PhotoShop><JavaScript><脚本>基于JavaScript,利用脚本实现PS软件批量替换图片,并转换为智能对象?

前言 PhotoShop软件支持JavaScript脚本,来扩展软件的功能,官方本身也提供了一些常用脚本,如图像处理等,同时也支持自定义的JavaScript脚本。 环境配置 系统:windows 平台:visual studio code 语言:JavaScript 软件:PhotoShop 2022 版本:23.2.1 概述 本文利用Java…

【Linux】System V - 基于建造者模式的信号量

目录 信号量和P、V原语 信号量集结构体 信号量操作接口 semget semctl semop 封装Sem 关于建造者模式 信号量和P、V原语 信号量和 P、V 原语由 Dijkstra (迪杰斯特拉)提出 信号量值含义 S>0: S 表⽰可⽤资源的个数 S0: 表⽰⽆可⽤资源&a…

机器学习(11):岭回归Ridge

岭回归是失损函数通过添加所有权重的平方和的乘积(L2)来惩罚模型的复杂度。均方差除以2是因为方便求导,w_j指所有的权重系数, λ指惩罚型系数,又叫正则项力度特点:岭回归不会将权重压缩到零,这意味着所有特征都会保留在模型中,但它…

调整Idea缓存目录,释放C盘空间

本文使用 Idea2024 Idea 会将一些配置默认缓存在C盘,使用久了会占用大量空间(本人的Idea占用了将近5个G,以至于不得不进行迁移) 缓存目录主要涉及以下四个目录,四个目录可以分为两组,每组目录必须一起调整 …

手搓栅格工具-山体阴影

一、概述 山体阴影工具通过为栅格中的每个像元确定照明度,来获取表面的假定照明度。 通过设置假定光源的位置并计算每个像元相对于相邻像元的照明度值来实现此目的。 它可以显著增强用于分析或图形显示的表面的可视化效果,尤其是在使用透明度时。 默认情…

Censtos docker安装方法

#设置防火墙 systemctl stop firewalld.service setenforce 0 #安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 #yum-utils:提供了 yum-config-manager 工具。 #device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制…

单片机51 day46

单片机 一:基础概念 一:单片机最小系统 单片机:电源时钟(晶振)复位 //实现的最小组件 电源:5V直流 时钟(晶振):决定系统运行的速率 一般12M(不超过50M)&#xff0c…

【无标题】解锁未来无线网络的无限可能——Mesh自组网设备

在科技迅猛发展的今天,无线网络已经成为了现代生活不可或缺的一部分。无论是在家庭中娱乐观看视频、在线游戏,还是在企业中进行办公、远程协作,网络的稳定性和覆盖范围都直接影响着我们的使用体验。传统的Wi-Fi网络在面临多设备同时连接或大面…

Libevent(5)之使用教程(4)工具

Libevent(5)之使用教程(4)工具函数 Author: Once Day Date: 2025年8月3日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 本文档翻译于:Fast portable non-blo…

Linux指令(3):

1. cal指令:我们的cal指令有日历的意思看上面,我们输入一个cal指令,可以查看当前月的日历,我们给cal指令后面加上 - 3,他就会显示这个月为中间的三个月的日历,但是-4 不行,-5 也不行。只能 - 3。…

MLS平滑滤波

1.前言 最近在学习,因此查阅相关资料,该怎么表述感觉有些困难 2.代码 2.1代码1 使用全局坐标系 参考:python点云移动最小二乘法(Moving Least Squares)平滑_移动最小二乘法python-CSDN博客 def Moving_Least_Squares_Smoothing_v1_expla…

华为2288H V5服务器闪红灯 无法开机案例

广东某客户1台华为2288H V5服务器,由于单位外围电力维修导致服务器有过一次异常断电。结果来电之后发现服务器无法开机,开机面板上有个红色心跳指示灯, 工程师到客户现场后通过192.168.2.100登陆到2288H V5服务器的BMC管理口,打算…

SRIO入门之官方例程仿真验证

仿真SRIO事务时序仿真之前先完成下面两步操作:1.Vivado软件版本2020.1,创建好工程及SRIO的IP核2.右键综合化的IP核,然后选择打开IP示例工程直接运行仿真分别将request和response两个模块添加到仿真窗口进行查看运行1000us左右就可以看到信号动…

CMake进阶: 使用FetchContent方法基于gTest的C++单元测试

目录 1.前言 2.FetchContent详解 2.1.FetchContent简介 2.2.FetchContent_Declare 2.2.1.简介 2.2.2.关键特性 2.2.3.常见示例 2.3.FetchContent_MakeAvailable 2.3.1.简介 2.3.2.核心功能与工作流程 2.3.3.示例用法 2.3.4.关键特性 2.3.5.常见问题与解决方案 3.…

亚马逊广告投放:如何减少无效曝光提高ROI

“为什么广告花费高但转化率低?”“如何判断关键词是否值得继续投放?”“曝光量暴涨但订单没增加怎么办?”“ACOS居高不下该如何优化?”“手动广告和自动广告的预算怎么分配?”如果你也在为这些问题头疼,说…

Ethereum:拥抱开源,OpenZeppelin 未来的两大基石 Relayers 与 Monitor

不知道大家是否注意到,OpenZeppelin 正在经历一次重大的战略转型。他们决定在 2026 年 7 月 1 日正式关闭其广受好评的 SaaS 平台——Defender,并将重心全面转向开源工具的建设。 这一举动在社区引发了广泛的讨论,也标志着 OpenZeppelin 希望…

HFSS许可监控与分析

在电磁仿真领域,HFSS(High Frequency Structure Simulator)因其卓越的性能和广泛的应用而受到用户的青睐。然而,随着企业和研究机构对HFSS使用需求的不断增长,如何有效监控和分析HFSS许可证的使用情况,以确…

【前端:Html】--1.3.基础语法

目录 1.Html--文件路径 2.Html--头部元素 2.1.head元素 2.2.title元素 2.3.style元素 2.4.link元素 2.5.meta元素 2.6.script元素 2.7.base 3.Html--布局技巧 3.1.CSS Float 浮动布局 3.2.CSS Flexbox 布局 3.3.CSS Grid 网格布局 3.Html--响应式web设计 3.1.设…

Java 中 Nd4j 中的 INDArray 经过 reshape 之后数据丢失(rank = 0)

问题: 数据经过: INDArray inputArray Nd4j.create(input); // 将整个输入数组转换为 INDArray INDArray accs inputArray.get(NDArrayIndex.interval(0, imuNum * 3)).reshape(imuNum, 3, 1); // 加速度部分 INDArray oris inputArray.get(NDArrayIn…