神经网络和深度学习

机器学习

让机器有能力去根据数据学习

不是人类的if和else控制

  • 监督学习: 最成熟,落地案例最多。我们的视觉处理大多数都是监督学习。

  • 小孩学习,类似监督学习,这是猫,这是狗,这是兔子

    image-20191121171903905

    image-20191121171923180

  • 非监督学习:找到不同类型的数据,kmeans 聚类算法

  • 帮助梳理不同类型的数据,拆分重要的内容

  • 自监督学习,数据不需要打标签,不需要人教,机器自己去学习数据和标签

  • 例如,给定一个视频,让你预测视频的下一秒发生什么内容

  • 强化学习:通过给机器错误的示范,让机器来学习正确的内容

  • 机器玩游戏,属于强化学习的范围。

image-20191130133516869

机器学习的步骤

我们的课程,以应用型人工智能为主,主要是把技术应用于生产生活,不是写论文。

大多数内容放在监督学习图像识别这一块。

  1. 收集数据
  2. 数据清洗
  3. 数据标注
  4. 数据增强
  5. 模型选择
  6. 模型训练
  7. 模型评估
  8. 新的预测

一些书面术语

  • Target 目标值, Actual 真实值,real值 Label y_train
  • Prediction ,预测值,Guess 猜测值 mx+b
  • classes, 分类类型 (男,女)(0,1,2...9)
  • regression 回归
  • validation 验证 test 测试验证

神经网络入门

image-20191121205634467

(1)神经元之间兴奋的传递方向只能是 __ 的,图中有甲、乙两个神经元,正常情况下,它们之间神经冲动的传递方向由 ____ 。

(2)这是因为神经递质只能由前一神经元的__ 释放,经扩散经过 __ 后,再与后一神经元 __ 上的特异性 _____ 结合,引发后一神经元的神经冲动。在上图中圈出突触存在的位置。

(1)单向 甲→乙 (2) 突触前膜 突出间隙 突触后膜 受体

回顾感知机

image-20191121223302942

image-20191121224243438

为什么需要神经网络

神经网络其实是感知机的网络,那么为什么需要感知机网络呢?

单个神经元(感知机)的缺陷

1602327272670

核函数 Polynomial Kernel

y=x^2

1602327279618

现在是不是一条线就可以把两种颜色的点给区分出来了

这种做法其实就是支持向量机算法(svm)的核函数(kernel function)做法 x^2就是核函数 前面加一个\gamma是调整影响因素大小。

之前每个点的坐标是y=1, 现在先把每个点的坐标y轴的值变为 y = 1+x^2

再去进一步的进行感知机运算。

1602327288808

还有很多的核函数,径向基核函数,多项式核函数,高斯核函数.... 这些都是支持向量基算法研究的内容,但是这些奇技淫巧,我们都不介绍了。因为这些方法用神经网络都可以自动实现。

为什么,我们来分析一下。

image-20191121235018805

image-20191122001018104

image-20191122002335941

image-20191122003037990

image-20191122003351551

image-20191122003643369

支持向量机

svm : support vector machine, vladimir vapnik

这个算法在1963年被提出来,在1990年才被人发现, 然后带来了约20年的繁荣, 直到现在深度神经网络流行, 支持向量机才被打败.

深度神经网络

image-20191122004106651

深度神经网络 可以拟合更复杂的数据

为什么神经网络可以拟合任意形状

http://neuralnetworksanddeeplearning.com/chap4.html

数字信号 模拟信号, 香农信息论, 傅里叶变换

数学理论支持,泰勒公式

泰勒公式,一个函数可以分解成多项式的和的形式

f(x) = \sum_{k=0}^\infty c_k x^k = c_0 + c_1 x + c_2 x^2 + \dotsb.

项越多,越接近原函数

每一项的作用被n!削弱,n越大,削弱的越厉害

sin(x) 仿真

# Taylor expansion at n=1 x
# Taylor expansion at n=3 -x**3/6 + x
# Taylor expansion at n=5 x**5/120 - x**3/6 + x
# Taylor expansion at n=7 -x**7/5040 + x**5/120 - x**3/6 + x
# Taylor expansion at n=9 x**9/362880 - x**7/5040 + x**5/120 - x**3/6 + x

泰勒展开

1602329156199

任何复杂的事物都可以简单话,sinx在趋近于0的时候 等于x, 什么都不做,就是0,老子道德经无为而治就是什么都不做,

泰勒级数可以无限逼近问题的本质,但是通常情况下,我们不需要完全逼近事物的本质,工程解决问题就是只要误差可以接受就可以,所以我们说不用数学求解答案,而是通过计算机拟合结果。

任何复杂的公式,在很小的一个范围内变化,都可以用线性的函数来表示。