NNML(01):引言

| 研究学术  | 机器学习理论 

为什么需要机器学习

问题1:复杂场景中的三维目标识别——难以编程实现

  • 由于不清楚大脑工作原理,不知如何编写程序。
  • 即使有了如何做的好主意,程序可能极其复杂。

问题2:信用卡交易欺诈的概率计算——难以编程实现

  • 没有简单可靠的判定准则,需要组合大量的弱规则。
  • 欺诈方法在变,规则也会随时间而改变,程序要适应这种改变。

机器学习方法如何应对这些问题?不会针对每个特定任务写程序,而是搜集给定输出与正确输出的大量范例。机器学习方法利用这些范例,并用程序来做这些事儿。

  • 机器学习算法的程序不同于经典的程序,包含大量的参数。
  • 在新数据上效果和训练数据上一样好。
  • 通过在新的数据上训练,程序随数据而改变。

大规模计算比付钱写特定任务的程序更廉价。

通过机器学习提供最佳解决方法的例子:

  1. 模式识别:真实场景中的目标识别、人面辨识或表情识别、语音识别;
  2. 异常检测:信用卡交易中的异常序列、核电站传感器读数中的异常模式
  3. 预测:未来的股价、电影的喜好。

机器学习的标准范例——基于 MNIST 数据库的手写字符识别

  1. 可公开获取,并且利用中等规模的神经网络能快速的学习。
  2. 已知很多机器学习方法在 MNIST 上的性能。

超越 MNIST —— ImageNet

  1. 1000 类不同的对象,1.3M 来源于网络的高分辨率训练图像。
  2. 深度神经网络是否能很好的用于目标识别,这是一个很好的测试。

语音识别

  1. 预处理:将声波转换成声学系数,大约每 10ms 提取一个新向量。
  2. 声学模型:利用声音系数的相邻向量,放置 bet 到音位。
  3. 解码:找出能最佳拟合声音数据和模型的 bet 序列。

由 George Dahl 和 Abdel-rahman Mohamed 领导的深度神经网络正在取代以前的机器学习声学模型。

什么是神经网络

为什么要学习神经计算?

  1. 理解大脑实际上是如何工作的。
  2. 理解受神经元及其自适应连接启发的一种并行计算。
  3. 利用受大脑启发的新学习算法解决实际问题——本课程内容。

大脑大约有 $10^{11}$ 个神经元,每个神经元有大约 $10^4$ 个权值。

一些简单的神经元模型

理想化的神经元:

  • 去除对理解主要原理无关紧要的复杂细节。
  • 可以利用数学工具,并可类比其它相似的系统。
  • 若理解基本原理,易于复杂化使模型更真实。

线性神经元:

  • $y$:输出;
  • $b$:偏置;
  • $x_i$:第$i$个输入;
  • $w_i$:第$i$个权值。

二值神经元:

首先计算输入的加权和;若和超过阈值则输出固定的尖峰信号(spike),可表示为

, 其中

或者

, 其中 ,易知 $b=-\theta$。

Rectified 线性神经元/线性阈值神经元:

计算输入的线性加权和,输出是输入的非线性函数,可表示为

, 其中

Sigmoid 神经元:

这是最常用的神经元,输出是输入和的有界平滑函数,通常使用 logistic 函数表示为

, 其中

这拥有漂亮的导数形式,利于学习算法。

随机二值神经元:

拥有与 logistic 单元相同的形式

, 其中

但是,在一个较短的时间窗口内将 logistic 函数的输出作为产生 spike 的概率。We can do a similar trick for rectified linear units: The output is treated as the Poisson rate for spikes.

一个简单的学习示例

手写字符识别神经网络,由两层神经元构成。输入神经元表示像素值,输出神经元的激活表示类别。如上图所示,每个像素(红色标注)可以对所属的类别(数字)投票,识别结果就是得票多的数字。

三类机器学习

  1. 监督学习:给定输入,预测输出。
    • 回归
    • 分类
  2. 增强学习:采取适当行为以获取最大回报。
  3. 非监督学习:发现输入好的内在表达。


打赏作者


上一篇:家用监控设备用于电网的可行性分析     下一篇:鲁棒及自适应控制(2):模型