深度学习算法背后的数学 下载本文

内容发布更新时间 : 2024/11/19 16:35:48星期一 下面是文章的全部内容请认真阅读。

深度学习算法背后的数学

Python软件基金会成员(Contibuting Member)Vihar Kurama简要介绍了深度

学习算法背后的数学。

深度学习(Deep Learning)是机器学习的子领域。而线性代数(linear algebra)是有关连续值的数学。许多计算机科学家在此方面经验不足(传统上计算机科学更偏重离散数学)。想要理解和使用许多机器学习算法,特别是深度学习算法,对线性代数的良好理解是不可或缺的。

为什么要学数学?

线性代数、概率论和微积分是确切地表达机器学习的“语言”。学习这些主题有助于形成对机器学习算法底层机制的深入理解,也有助于开发新的算法。

如果我们查看的尺度足够小,那么深度学习背后的一切都是数学。所以在开始深度学习之前,有必要理解基本的线性代数。

标量、向量、矩阵、张量;图片来源:hadrienj.github.io

深度学习背后的核心数据结构是标量(Scalar)、向量(Vector)、矩阵(Matrix)、张量(Tensor)。让我们通过编程,使用这些数据结构求解基本的线性代数问题。 标量

标量是单个数字,或者说,0阶(0th-order)张量。x ∈ ?表示x是一个属于实数集?的标量。

在深度学习中,有不同的数字集合。?表示正整数集(1,2,3,…)。?表示整数集,包括正数、负数和零。?表示有理数集(可以表达为两个整数之比的数)。

在Python中有几个内置的标量类型:int、float、complex、bytes、Unicode。Numpy又增加了二十多个新的标量类型。 import numpy as np np.ScalarType