机器学习概念
深度学习是一种编程范式
在机器学习过程中,输入的是数据和从这些数据中预期得到的答案,系统输出的是规则。这些规则随后可应用于新的数据,并使计算机自主生成答案
分类 | 输入 | 生成 |
---|---|---|
经典程序 | 待处理数据和规则 | 答案 |
机器学习 | 待处理数据和期望的答案 | 规则 |
机器学习系统是训练出来的,而不是明确地用程序编写出来的。 ## 编写时着眼的关键 ### 三要素 #### 输入
例子 | 输入 |
---|---|
语音识别 | >声音文件 |
图像添加标签 | >图像 |
(预期的)输出
例子 | 输出 |
---|---|
语音识别 | >文字 |
图像添加标签 | >标签 |
衡量算法效果的方法
通常用预期输出和实际输出的差距来衡量
核心问题
如何有意义地变换数据
数据的表示
数据 | 表示 |
---|---|
颜色 | HSV表示,RGB表示 |
点 | 坐标系,与某确定点的距离,与某确定点的方向角 |
- 数据处理过程的本质就是将输入变换表示成为输出 有时会将输入进行预先变换(预处理),或将生成的输出进行变换最终得到结果(后处理)。
- 由于机器学习理论上可以自己学习到这种变换,所以这种处理一般是为了降低机器学习的学习难度,加快训练效率、加强训练效果。(如降低图像饱和度问题先将图像颜色预处理为HSV表示会使学习更有效率,效果更好)
深度学习
- 深度学习是机器学习的一个分支,强调从连续的“层”中学习,层数被称为深度。
人话:深度学习的系统由层组成的有向图构成,层就是上面进行数据处理的单位,学习时只需改变层的情况(参数)即可
- 这个有向图模型就是神经网络模型
工作原理
### 概念 * 权重/参数: 层对输入数据做变换的时候需要的参数,或者说每层实现的变换由其权重来参数化 * 学习 目的:为每层找到最合适的权重 方法:使用优化器进行反向传播 * 损失函数 目的:用损失值衡量预测值与期望值的差距
损失值越大差距越大
,也就是衡量学习成果 * 优化器 目的:调整权重合适 方法:根据损失值作为反馈 * 训练循环 学习的过程