首页 / 资料库 / 微软 · AI 入门

资料库12 分钟读完MIT感知机神经网络梯度下降分类

感知机:最简单的神经网络

译自《Introduction to Neural Networks: Perceptron》 · 查看英文原文

原文出处Introduction to Neural Networks: Perceptron 原作者:Microsoft · 许可证:MIT License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与微软所有。

神经网络入门:感知机

课前小测

最早做出接近现代神经网络的东西,是康奈尔航空实验室(Cornell Aeronautical Laboratory)的 Frank Rosenblatt,时间在 1957 年。那是一台硬件实现的机器,名叫 "Mark-1",设计目标是识别三角形、正方形、圆形这类基本几何图形。

原文此处有两张图:Rosenblatt 的肖像照和 Mark 1 感知机实物照(均来自 Wikipedia),纯文字版已删去。

输入图像由一块 20×20 的光电管阵列采集,所以这个神经网络有 400 个输入、1 个二值输出。简单网络里只有一个神经元,也叫阈值逻辑单元(threshold logic unit)。网络权重靠电位器(potentiometer)实现,训练阶段要人工去拧它们。

电位器是一种让用户调节电路电阻的装置。

《纽约时报》当时这样报道感知机:电子计算机的胚胎,[海军方面] 预计它将能够行走、说话、看、书写、自我复制,并意识到自己的存在。

感知机模型

假设模型有 N 个特征,输入向量就是一个 N 维向量。感知机(perceptron)是一个二分类(binary classification)模型,也就是说,它能把输入数据分成两类。我们假定:对每个输入向量 x,感知机的输出按类别取 +1 或 -1。输出按下式计算:

y(x) = f(wᵀx)

其中 f 是一个阶跃激活函数。原文此处是一张公式图片,写成文字即:当 x ≥ 0 时 f(x) = +1;当 x < 0 时 f(x) = -1。

训练感知机

训练感知机,就是要找到一组权重向量 w,让它把绝大多数样本分对,也就是让误差(error)最小。这个误差 E 由感知机判据(perceptron criterion)定义:

E(w) = -∑ wᵀxᵢtᵢ

其中:

  • 求和只针对那些分类出错的训练样本 i
  • xᵢ 是输入数据,tᵢ 取 -1 或 +1,分别对应负例和正例

这个判据是权重 w 的函数,我们要把它最小化。常用的办法是梯度下降(gradient descent):从某个初始权重 w⁽⁰⁾ 出发,每一步按下面的公式更新权重:

w⁽ᵗ⁺¹⁾ = w⁽ᵗ⁾ - η∇E(w)

这里 η 叫学习率(learning rate),∇E(w) 是 E 的梯度(gradient)。算出梯度后,更新式化简为:

w⁽ᵗ⁺¹⁾ = w⁽ᵗ⁾ + ∑ ηxᵢtᵢ

用 Python 写出来是这样:

```python def train(positive_examples, negative_examples, num_iterations = 100, eta = 1):

weights = [0,0,0] # 初始化权重(差不多是随机 :))

for i in range(num_iterations):
    pos = random.choice(positive_examples)
    neg = random.choice(negative_examples)

    z = np.dot(pos, weights) # 计算感知机输出
    if z < 0: # 正例被分成了负类
        weights = weights + eta*weights.shape

    z  = np.dot(neg, weights)
    if z >= 0: # 负例被分成了正类
        weights = weights - eta*weights.shape

return weights

```

小结

这一课我们认识了感知机:一种二分类模型,以及怎样用一个权重向量去训练它。

挑战

想亲手搭一个感知机的话,可以试试 Microsoft Learn 上的这个实验,它用的是 Azure ML 设计器

课后小测

复习与自学

想看感知机怎么解决玩具问题、又怎么解决真实问题,继续往下学,去读 Perceptron 笔记本。

这里还有一篇讲感知机的有趣文章

作业

本课实现了一个用于二分类任务的感知机,并用它在两个手写数字之间做分类。这次实验要求你把数字分类问题彻底解决:给一张图像,判断它最可能是哪个数字。

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课