1、前言
2、机器学习和深度学习综述
2.1 机器学习
机器学习的实现
分为两步:训练和预测,类似于我们熟悉的归纳和演绎。
- 训练:已知输入和输出,学习输入输出之间的关系。
- 预测:通过训练得出的关系,来预测新的输入所对应的输出
模型参数
- 如何确定模型参数:模型有效的基本条件是能够拟合已知的样本,简单来说就是基于现有的样本推出来的合理的假说。
损失函数(Loss)
- 衡量模型预测值和真实值差距的评价函数。
模型结构介绍
- 三部分组成(模型假设、评价函数和优化算法)
- 模型假设:漫无目标的试探Y-X之间的关系十分低效。因此假设空间先圈定了一个模型能够表达的关系可能,如蓝色圆圈所示。机器还会进一步在假设圈定的圆圈内寻找最优的Y~X关系,即确定参数w。
- 评价函数:寻找最优之前,我们需要先定义什么是最优,即评价一个Y~X关系的好坏的指标。通常将拟合的误差最小作为优化目标。
- 优化算法:设置了评价指标后,就可以在假设圈定的范围内,将使得评价指标最优(损失函数最小/最拟合已有观测样本)的Y~X关系找出来,这个寻找的方法即为优化算法。最笨的优化算法即按照参数的可能,穷举每一个可能取值来计算损失函数,保留使得损失函数最小的参数作为最终结果。
2.2 深度学习
深度学习和机器学习在理论结构上是一致的,即:模型假设、评价函数和优化算法,其根本差别在于假设的复杂度。
神经网络的基本概念
通俗的讲,深度学习的模型可以视为是输入到输出的映射函数,如图像到高级语义(eg.美女)的映射,足够深的神经网络理论上可以拟合任何复杂的函数。因此神经网络非常适合学习样本数据的内在规律和表示层次。
- 神经元: 神经网络中每个节点称为神经元,由两部分组成:
- 加权和:将所有输入加权求和。
- 非线性变换(激活函数):加权和的结果经过一个非线性函数变换,让神经元计算具备非线性的能力。
- 多层连接: 大量这样的节点按照不同的层次排布,形成多层的结构连接起来,即称为神经网络。
- 前向计算: 从输入计算输出的过程,顺序从网络前至后。
- 计算图: 以图形化的方式展现神经网络的计算逻辑又称为计算图。我们也可以将神经网络的计算图以公式的方式表达,如下:
由此可见,神经网络本质是一个含有很多参数的“大公式”。
深度学习的发展历程