Dive2DL
0、前言
第一本使用集成工作流程出版的书
- 公式、定理和引用最好用LaTeX来管理和布局
- 代码最好用Python描述
- 网页原生是HTML和JavaScript
- GitHub来共享源代码并允许编辑
- Jupyter记事本来混合代码、公式和文本
- Sphinx作为渲染引擎来生成多个输出
一些前置封装好的调用库d2l,我目前觉得碰到之后再去使用会比直接安装或者配置来得更好。 ⭕
1、引言
1、机器学习是一种强大的可以从经验中学习的技术。
普通的程序猿处理业务时利用到的“业务逻辑”是基本固定且难以持续动态更新的,反观ML则能够把握观测数据或与环境交互来积累更多的经验。
⏏上述过程中从语音样本采集,到各个声波振幅测量值的数据样本,转化成关键词语,进一步判断Y/N,是相当的复杂和无头绪的。
2、参数的概念:可调节程序的行为
通过操作参数而生成的所有不同程序的集合称作**“模型族”**
使用数据集来选择参数的元程序被称为学习算法
3、基本训练过程
4、机器学习的核心组件
- 用来学习的数据
- 如何转换数据的模型
- 目标函数来量化模型的有效性
- 调整参数以优化目标函数的算法
🚩 数据
大多数时候,样本是遵循独立同分布的。每个样本由一组特征属性来组成。
有时候,我会考虑到如果公测用户大量“喂”给chatGPT错误的数据是否会被Administrator接受❓如果接受那必然会有污染经验数据库的一个risk,相反如果不接受那么是不是意味着那些“公正的数据”或者所谓的“正确的经验”会掌握在Administrator手中❓
(猜测是,OpenAI应该不会允许“Garbage in, garbage out”情况崩掉)
在一些敏感应用中,如预测性监管、简历筛选和用于贷款的风险模型,我们必须特别警惕垃圾数据带来的后果。 一种常见的问题来自不均衡的数据集,比如在一个有关医疗的训练数据集中,某些人群没有样本表示。 想象一下,假设我们想要训练一个皮肤癌识别模型,但它(在训练数据集中)从未“见过”黑色皮肤的人群,这个模型就会顿时束手无策。
再比如,如果用“过去的招聘决策数据”来训练一个筛选简历的模型,那么机器学习模型可能会无意中捕捉到历史残留的不公正,并将其自动化。 然而,这一切都可能在不知情的情况下发生。 因此,当数据不具有充分代表性,甚至包含了一些社会偏见时,模型就很有可能有偏见。
——摘自D2DL
🚩 使得损失函数变小的算法
大多流行的是梯度下降,通俗来讲就是尽可能往减少损失方向上优化参数
5、监督学习
1️⃣回归(regression)
2️⃣分类(classfication)
分类模型给每个可能的类分配一个概率
与回归问题不同之处在于,分类问题的常见损失函数被称为 交叉熵 (cross-entropy)
3️⃣标记
4️⃣搜索
5️⃣序列学习
6、无监督学习
1️⃣聚类问题(clustering)
2️⃣主成分分析问题
3️⃣因果关系和概率图问题
4️⃣生成对抗性网络
为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。
——D2DL
7、强化学习
小结
- 比如一下拟合优化的问题代码可以采用“学习“的方式来自动寻找最优的参数设置确定函数
- 在数学建模比赛中很多具体样本,恰好是机器学习的对象。
- 数据是算法的动力,我觉得还是挺类似于煤和蒸汽机的关系的。
- 端对端的训练方法实际上是专业交叉的一种体现,医学上的微型技术或者机器人的控制设计方面或许会用到