绪论
1 从专家系统到机器学习
1.1 何为专家系统
一个专家系统需要具备专家水平的专业知识,且能进行有效的推理,它具有交互性和灵活性。对比于传统程序的组成(数据结构+算法),专家系统的组成主要是知识库和推理机。知识库从专家处获取相应的知识(如视频中提到的德语翻译专家),为推理机构建基本规则。推理机主要负责解释程序,调度程序,完成机器层面上的工作。而它的工作过程则需要知识库的规则加以引导。
1.2 专家系统的优劣
对于一个专家系统,它输出结果的精准度依赖于专家所提供的知识,因此不需要大量的数据,解释性也更强。但随着专家系统的投入使用,它的劣势的渐渐显现出来。首先程序的执行是基于知识库的规则的,因此需要设计大量的规则;其次,整个过程只由邻域专家来指导,客观性较差;除此之外,还有诸如可移植性差,学习能力差之类的毛病。
1.3 机器学习
在解决问题的过程中,如果我们将问题规模和规则复杂度作为两个参考因素,可以得到以下关系:
当解决问题所需要的规则较少,但问题规模较大时,专家系统便可派上用场:利用少数的规则来处理大量的数据。但当问题规模不变,规则的复杂度上升时,专家系统已不在适用,这时候机器学习便派上用场了。
机器学习的最常用定义是:
计算机系统能够利用经验提高自身性能。
可操作定义:
机器学习的本质是一个基于经验数据的函数估计问题
1.3.1 机器学习如何学
模型:问题建模,确定假设空间
策略:从假设空间中学习/选择最优模型准则
算法:根据目标函数求解目标模型的具体计算方法
1.3.2 学习模型的分类
监督学习模型和无监督学习模型
半监督学习模型和强化模型
2 从传统机器学习到深度学习
2.1 比较
在专家系统中,由人工设计规则;
在传统的机器学习中,通过人工设计特征
在简单学习中,特征由系统自己进行训练
在深度学习中,特征可以组合成为更加复杂的的特征
3 深度学习的能与不能
3.1 深度学习的能
1.学习能力强
从结果来看,深度学习的表现非常好,源自于它对多层特征的逐步深度学习。
2.覆盖范围广,适应性好
深度学习的神经网络层数很多,宽度很广,理论上可以映射到任意函数,所以能解决很复杂的问题。
3.数据驱动,上限高
深度学习高度依赖数据,数据量越大,他的表现就越好。
3.2 深度学习的不能
1.只能根据数据来学习,不会判断数据正确性。
深度学习可以在不理解数据的情况下模仿数据中的内容:它不会否定任何数据,不会发现社会上的偏见,而只是“学习数据”。
2.无法解释做出的决策。
深度学习给出的是非自然(合法)语言解释的结果。深度学习的代码容易获得,却很难为人类所理解接受,因为即使最好的数学家或其他算法也无法搞明白它。
3.计算量大,便携性低,硬件要求高
基于深度学习对算力的高要求,其对硬件资源的要求也相当的高。
深度学习概述
1 浅层神经网络
1.1 概念
首先需要先明确一下神经网络的结构,图示为两层神经网络,也可以称作单隐层神经网络(a single hidden layer neural network)。这就是典型的浅层(shallow)神经网络,结构上,从左到右,可以分成三层:
- 输入层(input layer):竖向堆叠起来的输入特征向量。
- 隐藏层(hidden layer):抽象的非线性的中间层。
- 输出层(output layer):输出预测值。
注意:当我们计算网络的层数时,通常不考虑输入层。因此图中隐藏层是第一层,输出层是第二层
1.2 生物神经元
- 每个神经元都是一个多输入单输出的信息处理单元
- 神经元具有空间整合和时间整合特性
- 神经元输入分兴奋性输入和抑制性输入两种类型
- 神经元具有阈值特性
- 1和2模拟多输入信号进行累加
- 3权值w正负模拟兴奋和抑制,大小模拟强度
- 4当输入和超过阈值时神经元被激活
对上述图片进行抽象的处理可抽象为一个黑箱模型
黑箱模型还是具有一些问题
- 首先是不知道黑箱中的函数结构就不能为我们所用,
- 其次是输入输出与黑箱的关系也无法量化。
因此考虑将上述结构简化,首先把树突到细胞核的阶段简化为线性加权的过程其次把突触之间的信