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

机器学习过程(分类)—— 模型构造与优化

机器学习模型训练三大步骤建模找函数Function with Unknown Parameters定义损失函数Loss FunctionDefine Loss from Training Data优化Optimization对于二分类问题得模型定义理想情况下想到的可能是1.Function with Unknown Parameters假定模型为一个函数如果带入使得则输出为第一类Class 1否则为Class 22.Define Loss from Training Data定义为表示通过模型分类训练集错误的次数。3.Optimization上述的模型与损失函数在优化时没办法进行微分也就没办法使用梯度下降所以需要采取别的方法。Generative Model另一种利用概率定义的模型思路如下Generative Model生成模型对于二分类问题我们要解决的问题是任意给定一个通过模型输出它属于哪个分类。这就类似于给定两个箱子每个箱子里有两种球任意拿出一个球计算它更可能来自哪个盒子。如下所示Box1有4个蓝球1个绿球Box2有2个蓝球3个绿球取出一个蓝球计算它来自第一个盒子的概率已知从Box1抽球的几率为2/3从Box2抽球的几率为1/3这就用到了数学上的贝叶斯公式将两个盒子Box1、Box2换成Class 1、Class 2即可只要计算出就可以知道来自哪个种类的几率最大就可以完成二分类问题。而要计算就需要知道这就需要从训练数据training data中估测出来。上述介绍的思路也是Generative Model生成模型的基本思路Generative Model 是通过学会数据的 “真实分布”然后自己生成新数据的模型它不是用来分类、检测、回归的而是用来画图、写文字、生成语音视频等。Generative Model本质上是学习也就是数据本身的概率分布学会分布之后它就可以从这个分布里采样来生成全新的、没见过的数据。假设你有一堆真实图片 / 文字它们服从某个复杂分布Generative Model要学一个模型分布训练目标是使尽可能逼近训练完成后从里采样得到新数据。上述二分类问题介绍的思路是最简单的Generative Model的使用场景通过就可以得到假设我们的数据样本有140个每个样本两个特征feature其中79个来自Class 161个来自Class 2那么对于79个样本记录如下横纵轴分别为一个特征feature一个点代表一个样本。图中均为已知的训练样本但是任意取一它大概率不会在这79个样本中所以要求解需要考虑总体分布。由于只存在随机取样的79个样本我们假设服从多元高斯分布Gaussian Distribution这是因为现实中很多自然现象 / 测量数据都是大量独立微小因素叠加的结果根据中心极限定理这类数据的分布会趋近于高斯分布。因此用高斯分布建模是对现实的合理近似。一维高斯分布的概率密度函数其中为均值分布的中心位置为方差分布的离散程度是标准差图形如下二维高斯分布的概率密度函数其中表示均值向量描述分布的中心为协方差矩阵描述各维度之间的相关性和离散程度为协方差矩阵的行列式以二维高斯分布为例图像如下不同的参数对其分布的影响如下对多维高斯分布中的解释协方差矩阵Covariance Matrix 是描述多维数据分布形状的核心参数它完整刻画了数据在各维度上的离散程度与维度间的相关性。对维特征协方差矩阵是一个的对称矩阵对角线元素是第维特征的方差描述该维度数据的离散程度。非对角线元素是第维和第维特征的协方差描述两者的线性相关性表示正相关表示负相关表示线性无关若是对角矩阵且对角元素相等 → 各维度独立且方差相同分布是正球形。若非对角元素不为 0 → 维度间存在相关性分布会呈现椭球形长轴方向对应相关性强 / 方差大的方向。如果输入维特征各特征之间没有关系相互独立那么此时的非对角线元素均为0。有了高斯分布和随机取样的79个样本数据后需要根据已有的这79个数据找到最有可能的那个高斯分布。只要找到高斯分布将任意点代入公式即可得到它的概率。找这个高斯分布的方法叫做最大似然估计Maximum Likelihood Estimation, MLE其核心思想是找到一组参数让观测到的训练数据出现的概率最大。即对于符合高斯分布的79个数据点它们出现的概率为最大似然估计的目的就是找到找到使得最大即对求偏导并令其为 0解得通过上述公式计算得到Class1和Class2最可能的高斯分布如下由此可以通过高斯分布求出接下来我们就可以进行分类问题的如果那就属于Class1。否则为Class2但是最终的分类结果并不理想这可能是因为此任务两个特征量不足以进行分类任务后续我增加至7个特征量输入为7维来进行二分类任务但是出现了Overfitting。所以接下来要考虑优化模型其中一个优化方向是使所有类别共用一个而不是一个类别有一个这样做的主要目的是为了减少参数若每个类别都有独立的​参数总量为为类别数为特征维度在高维场景下有限样本会导致​ 估计极不稳定甚至不可逆模型容易过拟合共用后参数仅为鲁棒性大幅提升。理论上若真实分布中各类别​ 差异很大共用会引入建模偏差此时用独立更准确。实际上当样本量有限、特征维度较高时过拟合的危害远大于建模偏差共用能获得更好的泛化性能而且类别间的核心差异主要体现在均值​ 上共用不会丢失关键判别信息依然能有效分类。除此之外共用一个可以使贝叶斯决策边界分类边界退化为线性函数模型更简单、可解释性更强、推理速度更快。如下所示二分类问题的分类边界由曲线变为直线。具体原理会在后续推导分类任务中的共用的计算方式是按类别样本数加权平均其中为第类的样本数有了优化思路所以接下来的二分类任务就变成了最大似然估计找到使我们对公式做一些改变令则而也就是我们之前学过的Sigmoid函数对继续化简求解如果则最终化简得所以可以把写成也就很好解释了共用一个可以使贝叶斯决策边界分类边界变为直线。Discriminative ModelDiscriminative Model判别模型中的逻辑回归Logistic Regression实现的分类就是直接使用线性模型然后经过Sigmoid函数转换为0~1之间的数值用来表示概率。即设计的模型function set为训练数据及标签值为对于模型中的最好的能够实现正确分类参数和是使下式最大最大似然估计即而对于二分类问题我们一般将类别的输出写成或等于1代表属于第一个类别等于2代表属于第二个类别。根据二元交叉熵损失PyTorch_conda-CSDN博客上式可以改写成即上述的式就是该模型的损失函数优化目标就是使它最小。优化的方法就是使用梯度下降Gradient Descent根据经过以下计算最终得到,代入得所以使用梯度下降更新的公式为线性回归Linear Regression的损失函数是它的更新公式和逻辑回归的是一模一样的只是两者的输出区间不同。Logistic Regression的输出在0~1标签值是0或1Linear Regression的输出和标签值为任意实数。为什么Logistic Regression的损失函数不使用Mean Square Error而是用Cross Entropy我们可以尝试使用Mean Square Error模型为损失函数为梯度下降进行偏导求解后得如果此时而此时通过模型计算的求偏导后如果此时而此时通过模型计算的求偏导后也就是说无论结果离目标远还是近最终的偏导都为0这意味着一旦离目标远参数更新很慢或者不更新。具体可以看下图参数与损失函数之间的关系黑色表示Cross Entropy红色表示Mean Square Error如果一开始随机选的参数距离最低点较远对于Cross Entropy计算出的偏导较大可以快速更新到Loss最低点对于Mean Square Error计算出的偏导很小更新很缓慢甚至不更新。Discriminative VS Generative在上述实现二分类的过程中Discriminative和Generative的模型function set都是一样的在Discriminative中我们直接通过模型找而Generative中需要先找到然后利用公式求解尽管两者的模型function set相同但是找到的最优是不相同的主要是因为Discriminative Model判别模型直接学习后验概率即只关注 “输入时输出类别 C 的概率”不关心本身的分布目标是让模型预测和真实标签尽可能一致。而Generative Model生成模型先学习类条件分布和先验再通过贝叶斯公式得到 在求解时我们假设为高斯分布这种分布假设这相当于给参数加上了 “先验约束”这种约束让生成模型的参数空间更小比如 LDA 中必须满足这个由高斯分布导出的形式而逻辑回归的可以是任意方向。经过实验在数据量充足、分布复杂的场景下判别模型Discriminative的正确率通常高于生成模型Generative这是因为判别模型直接聚焦分类任务没有被错误的分布假设拖累而生成模型需要同时建模数据分布容易因假设偏差或过拟合导致分类性能下降。换句话说就是判别模型的所有参数都为 “区分类别” 服务完全贴合分类任务本身而生成模型必须对做分布假设一部分参数被用于拟合数据分布而非直接优化分类边界。生成模型Generative Model的优势主要基于其 “概率分布假设” 和 “生成数据” 的本质1.数据需求更少Less training data needed生成模型不只是在 “死记硬背” 答案而是在 “学习规律”。它通过假设数据服从某种分布如高斯分布利用数学原理强行拟合数据的底层结构。在训练样本很少的情况下判别模型容易过拟合而生成模型凭借强先验Strong Prior依然能稳定收敛达到不错的效果。2.对噪声更鲁棒More robust to the noise因为它是在学习整个数据的分布而不是直接学习输入到输出的映射判别模型看到噪声点可能会误判分类边界而生成模型看到的是 “整个世界的地图”噪声只是地图上的小点它依然能识别出核心的分布规律抗干扰能力更强3.多源信息融合Priors from different sources生成模型基于贝叶斯公式它可以将先验概率 P(C) 从独立的数据源中估计出来。判别模型很难利用这种外部统计信息。生成模型在以下几个维度是判别模型无法替代的1.小样本与低资源场景生成模型利用强分布假设用极少数据就能估算出均值和方差快速搭建分类器。2.核心能力“生成” 与 “想象”判别模型只能判断而生成模型能创造比如 GANs、Diffusion Model扩散模型、GPT它们学习了数据的分布后可以从噪声中生成全新的、逼真的图片、文字、语音。3.异常检测与缺失数据填补如果测试集出现了训练集中没有的异常数据判别模型它可能会胡乱给一个分类结果。而生成模型可以计算 P(x)如果一个数据 x 出现的概率极低它就判定为异常 / 噪声。同时它还能补全缺失的特征比如图片缺了一块生成模型能填好。Multi-class Classification以三分类问题为例如下图三个类别分别为每个Class都一组自己的。是输入即要分类的对象将放入三个种类分别线性计算后得到。然后经过一个Softmax其输出的取值均在0~1之间且和为1这时的输出就可以当作概率即。所以我们定义的多分类模型如下。其损失函数为CrossEntropyLoss交叉熵损失PyTorch_conda-CSDN博客。如果此属于Class1那么target如果属于Class2那么targetNeuron Network在介绍Neuron Network之前先介绍Logistic Regression的局限性如果数据集如下所示同一类别的数据它在坐标系上表示的点差距很大。假如此时输入为Class1那么我们会希望红点概率大于0.5蓝点小于0.5但是这个分类任务Logistic Regression做不到因为Logistic Regression本质上是找两个类别Class之间的分界线且这条分界线必须为直线。如下图所示我们无法找到这条分界线使得Class1和Class2分类开。解决办法是通过Feature Transformation来修改feature通过转换让Logistic Regression可以处理比如我们定义表示该点到的距离表示该点到的距离。则将四个点转换之后的图像就可以画出分界线上述的Feature Transformation是我们人为定义的转换规则人为定义有时不容易找到一个好的转换规则。所以我们想要机器自己产生这种转换规则方法就是将Logistic Regression堆叠起来下面只用了两层Logistic Regression第一层用于Feature Transformation第二层用于Classification如果多堆叠几层就变成了神经网络Neuron Network每一个Logistic Regression我们成为一个Neuron。

相关文章:

机器学习过程(分类)—— 模型构造与优化

机器学习模型训练三大步骤: 建模(找函数):Function with Unknown Parameters定义损失函数(Loss Function):Define Loss from Training Data优化(Optimization) 对于二分…...

读懂 OpenClaw 的 SOUL.md:不止是配置,更是 AI 助手的「人格内核」

读懂OpenClaw的SOUL.md:不止是配置,更是AI助手的「人格内核」 在AI助手的开发与使用中,我们常关注功能、性能、接口设计,却容易忽略一个核心问题:AI该以怎样的「姿态」存在? 最近接触到OpenClaw&#xff08…...

CUDA 编程系列(二)《性能模型与逐元素优化》

目录 课程回顾与背景引入 性能瓶颈分析与内存墙 1. 传输开销与计算时间对比 2. 内存墙概念引入 Roofline 模型:量化性能瓶颈 1. Roofline 模型基本概念 2. 模型分区解释 3. 向量加法案例分析 性能分析工具:Nsight Compute(NCU&#…...

等效电容模型在产品EMC设计中的实战应用

1. 模型结构与物理定义 本文讨论的结构为典型消费电子内部布局,由三层平面导体构成(如典型的AI玩具产品,电池供电,塑料外壳): D:参考地平面(主板地、系统地、等效大地)B&…...

牛马上岗。。。

本周看资料计划:OPEN CLAW写一个AGENT:数字员工计划...

Windows 和 Linux 系统下,如何查看 Redis 的版本号?

一、Windows 下查看 Redis 版本号 1.1 打开 Redis 所在目录,启动 redis-server 服务器端 进入 Redis 所在目录 C:Program Files edis-latest>,然后在路径上输入 cmd 后回车,即可打开 cmd 窗口,打开后路径直接指向【C:Program F…...

“养龙虾”的第一批受害者出现了!有人专门花钱卸载...

近日,互联网上掀起一股“养龙虾”热潮。 由于开源AI智能体工具OpenClaw图标是一只红色龙虾,被大家称为“龙虾”。它通过整合调用通信软件和大语言模型,在用户电脑上自主执行文件管理、邮件收发、数据处理等复杂任务。 随着“养龙虾”风潮扩散…...

COMSOL裂缝地层的THM耦合,离散裂缝模型,随机复杂裂缝,适合地热能研究。 增强地热系统...

COMSOL裂缝地层的THM耦合,离散裂缝模型,随机复杂裂缝,适合地热能研究。 增强地热系统,热流固耦合的开采过程。地下几千米藏着巨大的热能宝藏,增强型地热系统(EGS)就像给地球做"心脏搭桥手术…...

聊一聊:打工 or 创业

关于职业心态与人生哲学的深刻话题。从心理学、社会学和经济学多个维度,对这两种生存状态进行系统性剖析。一、核心心态的本质差异打工心态:「被动性生存策略」"等"——时间的异化等待发薪日、等待晋升、等待机会降临时间被切割为「别人的时间…...

Python反编译教程(exe转py)

Python EXE 反编译教程(.exe 转 .py) (2026 年最新完整实战版,基于 PyInstaller 打包的 .exe) 重要声明: 本教程仅用于学习、自己打包的程序找回源码、代码审计、安全研究等合法用途。 请勿用于破解他人商…...

金融核心系统演进实践:某农信信贷系统从 MySQL 向国产底座平滑迁移的技术复盘

金融核心系统演进实践:某农信信贷系统从 MySQL 向国产底座平滑迁移的技术复盘 在金融行业数字化转型进入深水区的今天,核心业务系统底座的稳健演进已成为保障金融安全的关键。特别是对于涉及零售信贷、农户贷款等高频并发业务的系统,如何在极…...

一次线上事故排查:200 行 ERROR 日志定位根因

如果你做过运维或者后端开发,一定遇到过这种情况。 线上报警: ERROR 日志激增第一反应通常是: 系统是不是挂了?于是开始排查日志。 一、事故背景 某天生产环境出现报警: 服务:oa-server 报警&#xff…...

深耕智慧供热 铸就行业口碑|河北唐仪室温采集器市场地位与实力解析

随着智慧供热全面升级、供暖精细化管理成为行业发展主流,室温采集器作为热源调控、能耗优化、用户服务的核心终端设备,市场需求持续增长。河北唐仪自控设备有限公司深耕供热自动化领域多年,专注室温采集设备研发、生产与系统集成,…...

测试文档3.12

测试文档3.12...

手搓51单片机+ADC0808电压表:从焊板子到显示数值全攻略

51单片机和ADC0808数字电压表,包括程序源码和protues仿真,pcb等,程序源码注释详细,适合单片机开发人员和新手。最近在工作室翻出几片落灰的ADC0808,这老伙计可是当年做课程设计的标配。今天带大家用STC89C52做个真能用…...

OpenClaw Skill 编写规范 与示例

OpenClaw Skill 编写规范 与示例 完整的 Skill 开发指南&#xff0c;从基础结构到高级实践 &#x1f4c1; 一、目录结构 标准结构 ~/.openclaw/workspace/skills/<skill-name>/ ├── SKILL.md # 必需&#xff1a;技能定义文件 ├── scripts/ …...

【前沿解析】2026年3月12日:AWE 2026开启AI家电规模化落地革命,CATS Net概念抽象与对角蒸馏技术重塑智能未来

摘要:2026年3月12日,全球三大家电展之一的AWE(中国家电及消费电子博览会)在上海盛大开幕,标志着AI家电从"尝鲜"到"刚需"的关键转折。本文深入解析AWE 2026展出的AI前沿技术,涵盖全屋智能生态、AI智能体落地应用,并结合同期发布的两大突破性研究——…...

开源剪映小助手(capcut-mate)v3.0.26发布

项目简介 CapCut Mate API 是一款完全开源免费、基于 FastAPI构建的剪映草稿自动化助手&#xff0c;支持独立部署。本项目专注于为大模型赋能基础视频编辑能力&#xff0c;提供开箱即用的视频剪辑 Skills&#xff0c;已将剪映核心功能全流程自动化。可直接对接大模型实现多样化…...

Qt Small Business 的版权雷区

最近很多人刷到&#xff1a; “Qt 小微企业计划&#xff0c;年收入 ≤ 100 万欧元&#xff08;约 793 万人民币&#xff09;&#xff0c;最多 3 个开发者&#xff0c;就能享受官方折扣授权&#xff01;” 听起来是不是很香&#xff1f;正版授权 跨平台开发 便宜&#xff01; …...

训练环境决定 AI Agent 天花板:Harness 如何塑造 RL 训练循环

最近 Cursor 发布 Composer 1.5 的消息刷屏了。他们的 RL 训练规模直接扩大了 20 倍&#xff0c;后训练计算量甚至超过了预训练阶段。更关键的是&#xff0c;所有训练都发生在和生产环境完全一致的沙箱里——同样的代码编辑器、同样的语义搜索、同样的终端命令。 这让我突然意识…...

Maxwell Optislang的谐响应与多物理场计算在永磁电机多目标优化参数化建模及电磁振...

maxwell &#xff0c;optislang 谐响应&#xff0c;&#xff0c;多物理场计算永磁电机多目标优化参数化建模电磁振动噪声仿真永磁电机的多物理场优化就像在玩一场精密的多维拼图游戏。当电磁性能、振动噪声和热特性这几个看似矛盾的指标需要同时满足时&#xff0c;传统单学科优…...

焊接机器人破局船舶制造难题

​​在船舶制造领域&#xff0c;大型复杂船体因尺寸大、结构复杂、空间狭小等特点&#xff0c;传统手工焊接质量波动大、一致性差&#xff0c;成为制约行业升级的关键瓶颈。如今&#xff0c;洲翔龙门和悬臂式焊接机器人凭借"手、眼、脑"协同的智能系统&#xff0c;正…...

AIGC时代下SEO的变革:从关键词堆砌到智能内容生成

引言&#xff1a;当SEO遇见AIGC&#xff0c;是颠覆还是赋能&#xff1f; 搜索引擎优化&#xff08;SEO&#xff09;领域正经历着一场由人工智能生成内容&#xff08;AIGC&#xff09;驱动的深刻变革。从早期的关键词堆砌到如今的内容为王&#xff0c;SEO的核心始终围绕着“理解…...

MySQL国产化替代:数据类型适配与迁移成本优化实战

很多企业做数据库国产化替代时&#xff0c;最核心的焦虑莫过于&#xff1a;“用了这么多年MySQL&#xff0c;换国产库是不是要重写所有SQL&#xff1f;改表结构&#xff1f;调应用代码&#xff1f;停机好几天&#xff1f;” 其实答案可以很简单&#xff1a;只要选对具备深度MyS…...

土壤热通量变送器怎么选?优质厂商推荐及选型指南来了!

在生态环境监测、岩土工程建设、气象研究及农业精细化发展的当下&#xff0c;土壤热通量作为反映土壤能量平衡、热传导特性的核心指标&#xff0c;其精准监测对科研探索、工程安全与生产优化具有重要意义。土壤热通量变送器作为捕捉这一指标的关键设备&#xff0c;其测量精度、…...

YOLOv12全网首发:CVPR2026 Transformer注意力 | BinaryAttention 1-bit注意力,推理提速100%,超越FlashAttention2

💡💡💡问题点:Transformer 已取得广泛而显著的成功,但其注意力模块的计算复杂性仍然是视觉任务的主要瓶颈。现有方法主要采用 8-bit 或 4-bit 量化来平衡效率与精度 💡💡💡措施:我们通过理论论证指出,注意力的二值化保留了基本的相似性关系,并提出了 BinaryAt…...

智能安防感知方案:从被动响应到主动关怀 | Smart Security Sensing Solutions: From Passive Response to Active Care

引言&#xff1a;安防感知的演进与核心痛点 | Introduction: The Evolution and Core Challenges of Security Sensing传统的安防系统&#xff0c;如摄像头和门窗传感器&#xff0c;主要扮演“事后记录”或“边界报警”的角色。它们往往在事件发生后才发出警报&#xff0c;缺乏…...

910b A100 GPU - IDC行业服务器托管与租用

现在IDC圈里聊到高性能计算&#xff0c;昇腾910b和NVIDIA A100这两款GPU绝对是绕不开的话题。特别是随着大模型训练、科学计算这类业务越来越普及&#xff0c;企业对高性能算力的需求已经不再是“有就行”&#xff0c;而是要求稳定、高效、可扩展。 先说说A100&#xff0c;这是…...

PTA 串的算法设计 4 求某链串的子串算法

作者 张鏖烽单位 湖南工程学院设计一个算法求链串s的子串&#xff1a;Sub_LinkStr(LinkString *s,int i, int j);函数接口定义&#xff1a;LinkString * Sub_LinkStr(LinkString *s,int i, int j);//求链串s的子串&#xff0c;子串存在则输出子串&#xff0c;否则输出空串其中i…...

如何执行Install-Package

pwoershell执行[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12Get-PackageProvider -ListAvailableInstall-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -ForceInstall-Packa…...