个人笔记:实用机器学习(b站李沐)3.5~3.7

发布时间:2026/7/20 11:03:53
个人笔记:实用机器学习(b站李沐)3.5~3.7 3.4多层感知机手工特征工程到学习特征的范式转变将特征工程的过程也纳入端到端的学习框架中让模型从原始数据中自动学习最优的表示representation而不是依赖人工设计的特征。数据与计算需求神经网络通常需要更多的训练数据和更强的计算能力架构多样性针对不同数据结构设计的网络架构1.多层感知机 (MLP)处理结构化表格数据2.卷积神经网络 (CNN)处理图像等网格数据3.循环神经网络 (RNN)处理序列时序数据4.注意力机制 (Attention)处理长距离依赖关系先验知识融入通过架构设计如 CNN 的局部连接、RNN 的时序建模将领域知识编码进网络结构dense层全连接层线性回归可以看成是有1个输出的全连接层引入非线性因素线性局限性激活函数有一个隐藏层的MLP可以拓展到多个隐藏层这里的Activation为激活函数处理实心dense层为隐藏层代码示例卷积神经网络全连接层-卷积层在处理图像问题时局部链接权值共享用极少的参数通过在图像上滑动扫描实现了对任意位置局部模式的检测一个简单的单通道卷积的实现卷积对位置仍然敏感虽然卷积通过权重共享实现了平移不变性但这种不变性是有限的输入中模式的平移或旋转 - 输出中模式的相似平移和旋转换句话说卷积特征图仍然精确记录了特征的位置信息。如果物体稍微移动特征响应的位置也会跟着移动。对于分类任务我们希望模型完全不关心物体的精确位置。(增加鲁棒性)池化层Pooling Layer:在卷积输出后的 k×k 窗口内计算 均值mean 或 最大值max实现降维和增强位置的鲁棒性循环神经网络RNN假如说我们需要一个语言预测模型来判断下一个word如果使用MLP输入为hello可以预测下一个为world但如果输入world是否会预测下一个是!因为没有上一个时序的信息hello而MLP问题的输入的维度是确定的不能hello world这样变换的输入这样就需要我们的时序模型RNN了。隐藏状态我们认为隐藏状态包括了过去时间的所有信息维度确定concat操作将隐藏状态和当前状态合并通过隐藏状态在时间步之间传递信息让模型记住序列的历史上下文从而处理变长序列数据。同一组参数在每个时间步复用既减少了参数量又实现了对任意长度序列的建模一个简单的RNN模型结构简单 RNN 有一个致命缺陷长期依赖问题Long-term Dependency序列很长时早期的信息在传递过程中逐渐衰减爆炸例如我出生在中国...所以我会说____中间隔了很多词中国这个信息很难传递到填空位置解决的两种方法两种门单独的参数去学习的效果选择性记忆重要的历史信息可以长期保留选择性遗忘不相关的信息被及时清除双向RNN可以得到前后两个方向的信息既能根据过去也能依靠未来。输出两个方向的隐藏状态拼接或融合前提能够拿到整个信息的内容完形填空Deep RNN通过堆叠多层提取层次化的时序特征模型选择的核心原则让模型结构与数据的内在结构相匹配。