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

深度学习与神经网络 | 邱锡鹏 | 第三章学习笔记

三、线性模型

文章目录

    • 三、线性模型
      • 3.1 分类问题示例
      • 3.2 线性分类模型
      • 3.3 交叉熵和对数似然
      • 3.4 Logistic回归
      • 3.5 Softmax回归
      • 3.6 感知机
      • 3.7 支持向量机
      • 3.8 线性模型小总结

softmax是用的改进版一对其余,而剩下的都是二分类的线性模型,即g(f(x))形式,不一样的是他们使用了不同的损失函数,这会导致他们学出来的模型不一样,所以取的名字也不一样

image-20250327164438365

3.1 分类问题示例

图像识别,垃圾邮件过滤,文档归类,情感分类这些都是分类问题

在这里插入图片描述

3.2 线性分类模型

fx是判别函数,g(f(x))是决策函数 0和1表示正类和负类

image-20250327163329375

一条线把两个分类隔开

image-20250327163610470

有了模型下一个就是学习准则就是损失函数,01损失函数不可求导,无法转化为最优化问题所以要重新选择一个更好的损失函数

image-20250327163712861

多分类不可以用一个函数表示,那就表示要用多个函数表示

image-20250327164206782

虽然是改进的一对其余,但是仍然是不可导的,那说明我们还是得去找一个更好的损失函数

image-20250327164256777

3.3 交叉熵和对数似然

信息压缩就是信息编码

image-20250327164629938

applicatio_剩下的字符几乎只能写n,概率就是1

appl_剩下的字符可以是e可以是y,概率就是分别0.5,或者根据使用频率另外再说

自信息衡量一个随机事件的信息量是多少

其实就是对应概率的取对数的相反数

表示的其实就是一个事件如果经常发生,那说明这件事包含的信息量就很少

applicatio_就没有什么信息量,因为他的结果几乎是确定的,也就是说最后一位取n这件事经常发生

而另外appl_那就有信息量了,因为他的结果并不确定,结果越不确定信息量越大

信息量具有可加性

image-20250327165206816

image-20250327165907999

可以用来衡量两个分布的差异

image-20250327170113097

KL散度是用概率分布q来近似p时所造成的信息损失量;

最小化KL散度=最小化交叉熵损失=最大化对数似然

image-20250327170239008

image-20250327171813330

3.4 Logistic回归

用交叉熵作为损失函数,并使用梯度下降法进行参数优化

logistic回归 != 逻辑回归

判别函数fx=wtx

image-20250327172109633

image-20250327172312371

image-20250327172452345

image-20250327172716713

image-20250327172842959

image-20250327172925385

没必要优化到01分布,只要能够优化到能把两个分类给分开就好了

3.5 Softmax回归

解决多分类问题;

把要分类的东西代入fc,哪个分类的评分最高,就把东西归为哪个分类

image-20250403160637087

学习准则:参数化的条件概率和真实条件概率的交叉熵

image-20250403161221783

image-20250403161448628

损失函数:依旧使用交叉熵

image-20250403161658287

交叉熵损失也是一种最大似然估计

image-20250403161924484

图中y是真实概率,y^是softmax函数预测出来的概率

而y这个向量就是一个one hot向量

c取1,那第一维就是1,剩下的都是0

c取2,那第二维就是2,剩下的都是0

image-20250403162408721

答案(元宝的部分答案:

维度Softmax回归(二分类)Logistic回归
数学形式等价于Logistic,但需参数冗余处理直接通过Sigmoid输出概率
正则化必需(避免参数冗余)可选(通常用于防止过拟合)
实现复杂度需处理多分类框架(如两个输出神经元)单神经元输出,实现更简单
扩展性天然支持多分类需额外策略(如“一对多”)
适用场景互斥类别互斥或非互斥均可

实际建议:若问题明确为二分类且无需扩展,优先使用Logistic回归(代码更简洁);若未来可能扩展为多分类,或需统一模型结构,可选用Softmax回归

3.6 感知机

sgn是符号函数,大于0返回1小于0返回-1

不管y=1还是-1,ywx<0都代表分类分错了

​ 如果y=1,ywx<0,那么wx就<0,根据y^=wx,预测的结果就是-1,但是y=1,说明分类分错了,剩下的情况都类似分析

不管y=1还是-1,ywx>0都代表分类分对了

学习目标就是找到这个w使得上面这两条成立

感知器前提:数据集是线性可分的,不然w就不存在

image-20250403163116371

image-20250403164342340

只有在犯错的时候才会更新参数,更新就用w+yx代替w,最后证明出来yw(t+1)x>=ywtx,说明每一次迭代参数都会增大,直到ywx大于0,说明了有一种能力可以把错误给纠正

image-20250403164634803

image-20250403164840466

image-20250403165027720

分界线的直线方程就是wx,第一个是w1x,第一个分不开两个类别,那么就迭代到第二个,第二个是wx2,w2=w1+yx

image-20250403165515512

也就是说迭代次数一定会在R2/y2之内完成更新,即我已经可以在有限的次数内一个权重w使得wx可以把两个分类给分开

image-20250403165912000

image-20250403170003365

image-20250403170034276

这个k可以描述样本的分离程度

如果伽马越大说明两类样本分得很开,越小说明分的越不开

分母即伽马越大,那么所需要的迭代次数就越小,因为样本分得很开更容易找到一个分界线wx分开两类样本

3.7 支持向量机

image-20250403173445590

一个良好的分界线,他要离所有的样本都比较远,这样不至于因为某个噪声点而造成较大的干扰,直观上也会感觉模型的健壮性更好;容忍一定的噪声问题;

image-20250403173748657

image-20250403174104015

image-20250403174208400

image-20250403174319485

image-20250403174438109

感知器是分类分对了就行,支持向量机是支持向量距离wx还要大于一个间隔

3.8 线性模型小总结

image-20250403175026993

image-20250403175103214

image-20250403175204683

解决方案:

image-20250403175252075

多加了几个维度能找到平面给分成两类的

image-20250403175341497

http://www.dtcms.com/a/109765.html

相关文章:

  • 根据源码分析vue中nextTick的实现原理
  • makefile , CFALGS 与 EXTRA CFLAGS
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(九)
  • 奇数和偶数的求法c++
  • MINIQMT学习课程Day2
  • 驱动开发硬核特训 · Day 1
  • 【4】搭建k8s集群系列(二进制部署)之安装master节点服务(kube-apiserver)
  • 使用 JavaScript 动态设置 CSS 样式
  • 09_TPL
  • 优质SD-WAN设备厂商推荐:Ogcloud
  • 选择网上购物系统要看几方面?
  • 7-4 BCD解密
  • 零基础玩转树莓派5!从系统安装到使用VNC远程控制树莓派桌面实战
  • [机器学习]随手记
  • NVM 多版本Node.js 管理全指南(Windows系统)
  • TP-Link TL-WR720N v3改造成无线打印伺服器
  • 【力扣hot100题】(048)二叉树的最近公共祖先
  • 硬件负载均衡:让服务像“牛顿钟”一样稳!
  • 如何重构前端项目
  • 深入解析Java哈希表:从理论到实践
  • Qt进阶开发:QDirModel的使用
  • 基于S函数的simulink仿真
  • 4.2-3 fiddler抓取手机接口
  • 【C语言入门】由浅入深学习指针 【第二期】
  • Sora结构猜测
  • TypeScript 元数据操作 API 及示例
  • Unity HDRP管线用ShaderGraph还原Lit,方便做拓展;
  • 详解Pinctrl子系统
  • Redis 的 Raft 选举协议
  • 使用MFC ActiveX开发KingScada控件(OCX)