机器学习之归一化

news2024/11/25 15:54:06

机器学习之归一化

    • 1.目的
      • 1.1损失函数求解问题
      • 1.2 归一化目的
    • 2. 归一化
      • 2.1 最大值最小值归一化
      • 2.2 标准化

1.目的

1.1损失函数求解问题

  • 线性回归Loss函数梯度公式
参数含义
θ \theta θ函数参数
α \alpha α学习率
x j i x^i_{j} xjix:数据集,i:样本,j:特征 【数据集的每一行是一条样本,每一列是一个特征】
z ( θ j ) z_{(\theta_{j})} z(θj)预测值
y i y^i yi真实值

θ j : = θ j − α ∗ ∂ L o s s ( θ ) ∂ θ j : = θ j − α ∗ ( z ( θ j ) − y i ) ∗ x j i \begin{aligned} \theta_{j}&:=\theta_{j}-\alpha*\frac{\partial Loss_{(\theta)}}{\partial \theta_{j}} \\&:=\theta_{j}-\alpha* (z_{(\theta_{j})}-y^i)*x^i_{j} \end{aligned} θj:=θjαθjLoss(θ):=θjα(z(θj)yi)xji

  • 对参数求偏导【求梯度】如下:
    θ 1 : = θ 1 − α ∗ ( z ( θ 1 ) − y i ) ∗ x 1 i θ 2 : = θ 2 − α ∗ ( z ( θ 2 ) − y i ) ∗ x 2 i \begin{aligned} \theta_{1}&:=\theta_{1}-\alpha* (z_{(\theta_{1})}-y^i)*x^i_{1} \\\theta_{2}&:=\theta_{2}-\alpha* (z_{(\theta_{2})}-y^i)*x^i_{2} \end{aligned} θ1θ2:=θ1α(z(θ1)yi)x1i:=θ2α(z(θ2)yi)x2i

    • 对于损失函数初始参数时,参数值期望是均值为0方差1的正太分布随机在0附近的,所以每个初始参数值大小是差不多的。
    • 根据公式可知 α ∗ ( z ( θ 1 ) − y i ) \alpha* (z_{(\theta_{1})}-y^i) α(z(θ1)yi)值也差不多,即参数迭代的快慢就由 x j i x^i_{j} xji【特征值的大小】决定的
    • 假设 x 1 i x^i_{1} x1i特征为年龄, x 2 i x^i_{2} x2i特征为收入,由于年龄的取值范围远小于收入, x 1 i x^i_{1} x1i< x 2 i x^i_{2} x2i,则 θ 2 \theta_{2} θ2迭代速度快于 θ 1 \theta_{1} θ1,导致 θ 2 \theta_2 θ2达到最优解时,需要等待 θ 1 \theta_1 θ1迭代到最优解
  • 图像说明
    在这里插入图片描述

    • 在机器学习算法模型中,需要根据损失函数(Loss)求梯度根据损失求最优解参数 θ \theta θ
    • 如图,对于loss损失的最优解在中心点
    • 迭代参数路线如图蓝色线所示,当 θ 2 \theta_2 θ2迭代到最优解时, θ 1 \theta_1 θ1距离最优解的距离还有一段距离,导致 θ 2 \theta_2 θ2达到最优解时,需要等待 θ 1 \theta_1 θ1迭代到最优解,会导致 θ 1 \theta_1 θ1在最优解的位置慢慢震荡,不能同时获取最优解

1.2 归一化目的

在这里插入图片描述

  • 归一化可以把数据统一到某个范围,达到梯度下降求参数迭代速度一致,统一每个特征的范围,即无量纲化【就是去单位】
  • 如图,对参数进行归一化后, θ 1 \theta_1 θ1 θ 2 \theta_2 θ2迭代速度一致,可以同时求得最优解,同时收敛,减少迭代次数,模型速度加快

2. 归一化

2.1 最大值最小值归一化

参数含义
j特征
i样本
x j m i n x^{min}_{j} xjmin每个特征的最小值
x j m a x x^{max}_{j} xjmax每个特征的最大值
x i , j x_{i,j} xi,j特征的每个样本值

x i , j = x i , j − x j m i n x j m a x − x j m i n \begin{aligned} x_{i,j} &= \frac{x_{i,j}-x^{min}_{j}}{x^{max}_{j}-x^{min}_{j}} \end{aligned} xi,j=xjmaxxjminxi,jxjmin

  • 优点
    • 会将数据归一化到0-1之间
  • 缺点
    • 容易受到噪点数据的影响,公式分母是最大值与最小值的差
      • 如果存在最大值噪点,会导致分母值变大,大部分数据趋向于0,最大值噪点的值趋向于1
      • 如果存在最小值噪点,会导致分母值变大,大部分数据趋向于1,最小值噪点的值趋向于0
        from sklearn.preprocessing import MinMaxScaler
        
        data=[[1],[2],[3],[1000]]
        scaler=MinMaxScaler()
        data_fit=scaler.fit_transform(data)
        print(data_fit)
        # [[0.      ],[0.001001],[0.002002], [1.      ]]
        data=[[1],[1100],[1020],[1000]]
        scaler=MinMaxScaler()
        data_fit=scaler.fit_transform(data)
        print(data_fit)
        #[[0.        ],[1.        ],[0.92720655],[0.90900819]]
        
    • 更新路线可能不是最优路线在这里插入图片描述
      • 当我们使用最大值最小值归一化时,会将数据集的值归一化到0-1之间,导致数据的值都为正
      • 导致参数只能同时增大或减小 ,但是每个参数的关系并不都是正相关性
      • 如图,我们希望参数 w t w_t wt迭代到 w ∗ w_* w,我们发现 w 2 w_2 w2迭代过程中在增大, w 1 w_1 w1迭代过程中在减小,由于我们将数值都归一化为正数,只能根据图中黑线迭代得到最优参数,不能通过最优路径【红色线】迭代,导致迭代次数增加

2.2 标准化

参数含义
x j m e a n x^{mean}_{j} xjmean特征均值
s t a n d a r d d e v i a t i o n standard \quad deviation standarddeviation特征方差

x i , j = x i , j − x j m e a n s t a n d a r d d e v i a t i o n \begin{aligned} x_{i,j} &= \frac{x_{i,j}-x^{mean}_{j}}{standard \quad deviation} \end{aligned} xi,j=standarddeviationxi,jxjmean

  • 公式分子为均值归一化,使数据有正有负,可以得到最优的迭代路线,使更新尽可能沿着最优解路径去。
  • 公式分子为方差归一化,可以减小噪点数据的影响。

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

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

相关文章

OPengl学习(二)——opengl环境搭建

文章目录0、 概念/准备1、VSOpengl快速添加手动编译2、QT中使用opengl1.pro配置文件2.引入头文件 继承QGLWidget3.实现三个主要函数3、引用0、 概念/准备 opengl官网地址 1、OpenGL 函数库相关的 API 有核心库&#xff08;gl&#xff09;&#xff0c;实用库&#xff08;glu&a…

自动化状态监测和工业4.0解决方案-Softing uaGate SI

某公司为其注塑和反应/挤出系统采用了uaGate SI网关技术并实行了开放且独立于平台的OPC UA标准&#xff0c;以用于设备状态自动化监控&#xff0c;这有助于提高产量并避免机器停机。 自动化状态监测提高了产量并且可避免机器停机。为了将其设备控制系统与IT系统相连接起来&…

最小生成树(Prim算法与Kruskal算法)

一、什么是最小生成树 一个连通图的生成树是一个极小的连通子图&#xff0c;它含有图中全部的n个顶点&#xff0c;但只有足以构成一棵树的n&#xff0d;1条边。我们把构造连通网的最小代价生成树称为最小生成树。 例如下图中①、②、③都是左侧图的生成树&#xff0c;但③是构…

k8s的亲和调度

k8s的亲和调度 出于高效通信等需求&#xff0c;偶尔需要把一些Pod对象组织在相近的位置(同一节点、机架、区域或地区等)&#xff0c;例如应用程序的Pod及其后端提供数据服务的Pod等&#xff0c;我们可以认为这是一类具有亲和关系的Pod对象。 理想的实现方式是允许调度器把第一个…

[附源码]计算机毕业设计springboot高校流浪动物领养网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

2022.11.28总结

今天写了条件查询 虽然思路上还说是比较顺&#xff0c;但是还是写了一晚上&#xff0c;因为老是在细节上出现bug&#xff0c;改了好久&#xff0c;踩了好几个坑。 首先大概是因为组件不是确定的&#xff0c;我把ref属性绑定在router-view上&#xff0c;导致我获取不到条件选择…

c++类型转换

目录 1.隐式类型转换和强制类型转换 2.隐式类型转换带来的危险 3.c提供的标准类型转换关键字 4.总结 1.隐式类型转换和强制类型转换 c语言的类型转换可以分为隐式类型转换和强制类型转换。 #include<iostream>using namespace std;int main() {double a 3.14;int …

医疗保健行业的福音是对话式AI吗?

导读对话式AI可以对医疗保健行业产生重大影响&#xff0c;且在许多领域已经产生了影响。如果使用得当&#xff0c;对话式AI可以提高操作效率和临床结果&#xff0c;并减轻医护人员的工作量。 对话式AI技术开启了数字患者护理的新时代。 患者可以随时访问其需要的数据&#xff…

Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10

Xshell远程连接进行Ubuntu的Pytorch配置写在最前面参考Xshell常用命令Ubantu检查系统的各项配置查看ubuntu系统的版本信息和gcc版本查看Linux的内核版本和系统是多少位的验证机器是否具有n卡各种配置&#xff08;建议不要省略&#xff09;安装vim增加pip镜像源禁用nouveau开启S…

[附源码]计算机毕业设计springboot高校学生摄影作品展示平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

app与小程序的区别【开发小程序】

app与小程序&#xff0c;两者有什么区别呢&#xff1f;很多公司在开发app或是开发小程序上比较纠结&#xff0c;二选一不止究竟选哪个好&#xff0c;当然有财力的公司可能会两者都开发。那么下面说说app与小程序的区别是什么&#xff0c;好让大家更好地二选一。 app与小程序的…

单商户商城系统功能拆解39—分销应用—分销等级

单商户商城系统&#xff0c;也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法&#xff0c;例如拼团&#xff0c;秒杀&#xff0c;砍价&#xff0c;包邮…

2022小美赛数学建模ABCD赛题思路分析 - 认证杯

一、竞赛信息 考虑到美国大学生数学建模竞赛即将举行&#xff0c;近几年国内院校参加美赛的热情一直比较高涨&#xff0c;去年参赛规模已经突破了30000支队&#xff0c;但是由于美赛需要用英文书写论文&#xff0c;中文和英文的语法和思维差异比较明显&#xff0c;另外美赛参赛…

解决 Android WebView 多进程导致App崩溃

应用场景 应用内有两个位置用到WebView加载页面&#xff0c;具体处理逻辑不能通用。分别扩展了WebView了。应用内独立页面使用Fragment来展示,(采用单Activity架构&#xff09;。应用提供切换语言功能。 问题猜想 一、WebView内核bug 具体路径&#xff1a; 进入app–>设…

[附源码]SSM计算机毕业设计校园征兵及退役复原管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

ABAQUS学习之路

ABAQUS入门 首先看模块 1、部件——类似建模 2、属性——给零件添加材料属性 3、装配 4、分析步—— 5、相互作用——创建接触&#xff08;摩擦力&#xff09; 6、载荷——预定义场&#xff08;温度场、力场&#xff09;、边界条件 7、网络——划分网格 8、优化&#…

Libvirt Java API操作QEMU虚拟机(重启,强制关机,挂起,恢复,详情,关机,注销,快照备份等 )(CentOS)

需求背景 有个产品需求&#xff0c;需要在一台linux上装多个虚拟机&#xff0c;然后每个虚拟机单独部署一个产品&#xff0c;然后需要虚拟机的一个产品去控制宿主机中安装虚拟机的状态 注意&#xff1a; 如果虚拟机中装的产品去连宿主机的Libvirt服务&#xff0c;那么虚拟机一…

LeetCode530.二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先

文章目录530二叉搜索树的最小绝对差c代码实现python 代码实现501二叉搜索树中的众数c 代码实现python 代码实现236二叉树的最近公共祖先c代码实现python代码实现530二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差…

运维行业数字化维修数据屏来袭

说起维修数字化&#xff0c;售后维保管理&#xff0c;大家必然想到青鸟云报修&#xff0c;今天我给大家呈现一下青鸟云报修数据大屏是怎么一回事。 这是青鸟云报修第三代数据大屏&#xff0c;在2代基础上增加了更多板块&#xff0c;更加专业和智能化&#xff0c;他主要应用于单…

Unity ab包加载文本 puerts 自定义loader

输出ab包 他会把你创建的ab包都打包 也就是在这里的创建的 string assetBundleDirectory Path.Combine(Application.streamingAssetsPath, "OutAssetBundles"); if (!Directory.Exists(assetBundleDirectory)) {Directory.CreateDirectory(assetBundleDirectory);…