当前位置: 首页 > backend >正文

scikit-learn/sklearn学习|变量去中心化和标准化

【1】引言

前序学习进程中,已经对用scikit-learn表达线性回归、岭回归、套索回归、多任务套索回归、弹性网络和多任务弹性网络进行了初步解读。
线性回归的目的,是将因变量yyy表达成由自变量xxx、线性系数矩阵www和截距bbb组成线性函数式。
线性回归获得函数式:
y=∑i=1nwi⋅xi+b=wTx+by=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+by=i=1nwixi+b=wTx+b
对应的均方误差函数计算式为:
L(w,b)=∑i=1n(yi−yi^)2+ξ=∑i=1n(yi−(wTxi+b))2+ξL(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\xi=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\xiL(w,b)=i=1n(yiyi^)2+ξ=i=1n(yi(wTxi+b))2+ξ在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值,当ξ=0\xi=0ξ=0时,上述均方误差函数适用于普通线性回归,当ξ≠0\xi\neq0ξ=0时,则具体衍生出岭回归、套索回归、弹性网络等具体算法。
当我们在看各种算法的均方误差函数计算式的时候,会发现自变量和因变量有时候需要再次处理,至少包括去中心化和标准化两种。今天的学习目标就是了解这两种处理方法,为后续深入学习做准备。

【2】去中心化

去中心化是将变量统一减去均值,也就是使平均值=0,这个过程不会改变方差和标准差。
设变量X=[x1,x2,...,xn]X=[x_{1},x_{2},...,x_{n}]X=[x1,x2,...,xn],对应均值为:
xˉ=1n∑i=1nxi\bar x=\frac{1}{n}\sum_{i=1}^{n}x_{i}xˉ=n1i=1nxi
去中心化后的变量记录为X^=[x1−xˉ,x2−xˉ,...,xn−xˉ]=[x1′,x2′,...,xn′]\hat X=[x_{1}-\bar x,x_{2}-\bar x,...,x_{n}-\bar x]=[x_{1}',x_{2}',...,x_{n}']X^=[x1xˉ,x2xˉ,...,xnxˉ]=[x1,x2,...,xn]

【3】标准化

标准化是在去中心化的基础上,将变量除以其标准差,是处理后的变量均值为0、标准差为1,是一种无量纲转化。
样本标准差计算式为:
s=1n−1∑i=1n(xi−xˉ)2s=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2}s=n11i=1n(xixˉ)2表标准化后的变量记作z,满足:
zi=xi−xˉs=xi′sz_{i}=\frac{x_{i}-\bar x}{s}=\frac{x_{i}'}{s}zi=sxixˉ=sxi
标准化后,可以满足:
ziz_{i}zi的均值为0:zˉ=1n∑i=1nzi=0\bar z=\frac{1}{n}\sum_{i=1}^{n}z_{i}=0zˉ=n1i=1nzi=0新的标准差:
s′=1n−1∑i=1n(zi−0)2=1n−1∑i=1n(xi′s)2=1n−1∑i=1n(xi−xˉs)2=1s1n−1∑i=1n(xi−xˉ)2=1s'=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(z_{i}-0)^2}=\\ \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(\frac{x_{i}'}{s})^2}=\\ \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(\frac{x_{i}-\bar x}{s})^2}=\\ \frac{1}{s}\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2}=\\ 1s=n11i=1n(zi0)2=n11i=1n(sxi)2=n11i=1n(sxixˉ)2=s1n11i=1n(xixˉ)2=1
方差:
总体方差的计算式:

σ2=1n∑i=1n(zi−zˉ)2=σ2=1n∑i=1n(zi−0)2=σ2=1n∑i=1n(xi′s)2=1n∑i=1n(xi−xˉs)2=1s21n∑i=1n(xi−xˉ)2\sigma^2=\frac{1}{n}\sum_{i=1}^{n}(z_{i}-\bar z)^2=\\ \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(z_{i}-0)^2=\\ \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(\frac{x_{i}'}{s})^2=\\ \frac{1}{n}\sum_{i=1}^{n}(\frac{x_{i}-\bar x}{s})^2=\\\frac{1}{s^2}\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar x)^2σ2=n1i=1n(zizˉ)2=σ2=n1i=1n(zi0)2=σ2=n1i=1n(sxi)2=n1i=1n(sxixˉ)2=s21n1i=1n(xixˉ)2
实际上大多数时刻,大家获得的都是样本,很少有机会获得整体数据,此时样本昂差的校正计算式为:
σ2=1n−1∑i=1n−1(zi−zˉ)2=1s21n−1∑i=1n(xi−xˉ)2=1\sigma^2=\frac{1}{n-1}\sum_{i=1}^{n-1}(z_{i}-\bar z)^2=\\\frac{1}{s^2}\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar x)^2=1σ2=n11i=1n1(zizˉ)2=s21n11i=1n(xixˉ)2=1

【4】总结

学习了去中心化和标准化的基本知识。

http://www.xdnf.cn/news/18209.html

相关文章:

  • 【iOS】NSRunLoop
  • PyCharm2025无法启动Powershell.exe的解决办法
  • Google Chrome 扩展不受信任 - 不受支持的清单版本 解决方案
  • 苹果XR芯片介绍
  • 【GPT入门】第51课 将hf模型转换为GGUF
  • MyBatis--缓存详解
  • ACE - 阿里开源的一站式AI图像生成和编辑模型
  • C++排序算法学习笔记
  • 【数据结构】用堆解决TOPK问题
  • Ansible 配置并行 - 项目管理笔记
  • Python入门第11课:Python网络请求入门,使用requests库轻松获取网页数据
  • Leetcode 深度优先搜索 (7)
  • Jenkins项目发布基础
  • UE5 使用RVT制作地形材质融合
  • 网络编程day3
  • leetcode2248. 多个数组求交集
  • Android13车机系统自定义系统栏显示策略之状态栏下拉异常
  • java八股文-中间件-参考回答
  • Commons-io
  • 微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
  • 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(六)
  • 笔试——Day43
  • HJ4 字符串分隔
  • C++高频知识点(二十七)
  • CentOS安装SNMPWalk
  • 无畏契约手游上线!手机远控模拟器畅玩、抢先注册稀有ID!
  • Linux的基本操作
  • 遥感amp;机器学习入门实战教程 | Sklearn 案例③:PCA + SVM / 随机森林 对比与调参
  • LAMP架构编译安装部署
  • 垂直领域大模型构建:法律行业“类ChatGPT”系统的训练与落地