当前位置:文档之家› 深度学习算法背后的数学

深度学习算法背后的数学

深度学习算法背后的数学
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。

相关主题