深度学习——数学与机器学习基础

线性代数

  • 标量:一个单独的数
  • 向量:一个向量是一列数
  • 矩阵:一个矩阵是一个二维数组
  • 张量:一个数组中的元素分布在若干维坐标的规则网格中,称之为张量。比如张量 A 中坐标为 (i,j,k) 的元素记作 Ai,j,k 。在计算机视觉中,5张3通道的32 × 32大小的图像可以用张量表示为 (5,3,32,32)

矩阵的转置、矩阵与向量相乘、两个向量的点积( xy
单位矩阵、逆矩阵的概念: A1A=In

对于下列线性方程组的求解: Ax=b ,其中 ARm×n bRm xRn ,可以写作:

这里写图片描述

可以通过以下步骤来求解:

这里写图片描述

如果逆矩阵 A1 存在,那么方程组肯定对于每一个向量b恰好存在一个解。

对于向量b的某些值,有可能不存在解,或者存在无限多个解。存在多于一个解但是少于无限多个解的情况不可能发生。

可以将A的列向量看作从原点出发的不同方向,确定有多少种方法可以到达向量b,这是,向量x中的每一个元素表示沿这个方法走多远。

Ax=ixiA:,i ,这种操作称为线性组合。一组向量的生成子空间是原始向量线性组合后所能抵达的点的集合。确定 Ax=b 是否有解相当于确定向量 b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的列空间(column space)或者 A 的值域(range)。

A 至少有m列,即 nm

对于每一个向量都有解的充分必要条件是:该矩阵必须包含至少一组m个线性无关的向量。

但是当 n>m 时,会有无穷多个解,于是要使它只有一个解,只能是 m=n ,此时 A1 存在。于是可以推得,要使得A的逆存在,必须为方阵,且所有列向量线性无关。此时它也叫非奇异矩阵,如果列向量线性相关的方阵,叫做奇异矩阵。

到此关于线性方程组的讨论结束!

范数的概念、对角矩阵(除了主对角线上含有非零元素,其它位置都是零)、对称矩阵( A=A

正交矩阵:如果 xy=0 ,那么向量x和y互相正交。如果这些向量不但互相正交,其2范数都为0,那么称它们标准正交

单位向量是具有单位范数的向量: x2=1

正交矩阵指行向量和列向量分别标准正交的方阵,即 AA=AA=I ,即 A1=A ,正交矩阵受到关注主要因为其求逆计算代价小。

特征分解、特征向量、特征值:
Av=λv ,A的特征向量,是指这样的一个非零向量:矩阵A作用于该向量,相当于对该向量的缩放。对v进行缩放,也是A的特征向量,且特征值不变。

不是每一个矩阵都可以分解成特征值和特征向量。在某些情况下,特征分解存在,但是会涉及到复数,而非实数。

每个实对称矩阵都可以分解成实特征向量和实特征值: A=QΛQ ,其中 Q A 的特征向量组成的正交矩阵, Λ 是对角矩阵。

所有特征值为正数的矩阵称为正定(positive definite);所有特征值都是非负数的矩阵被称为半正定(positive semidefinite)。
A=Vdiag(λ)V1

奇异值分解
还有另一种分解矩阵的方法,被称为奇异值分解(singular value decomposition, SVD),将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过奇异值分解,我们会得到一些与特征分解相同类型的信息。然而,奇异值分解有更广泛的应用。每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。

A=UDV ,假设A 是一个m × n 的矩阵,那么U 是一个m × m 的矩阵,D是一个m × n的矩阵,V 是一个n × n 矩阵。

主成分分析推导

概率和信息论

概率论使我们能够提出不确定的声明以及在不确定性存在的情况下进行推理,而信息论使我们能够量化概率分布中的不确定性总量。

随机变量、概率分布(概率质量函数,概率密度函数),边缘概率、条件概率、条件概率链式法则。

独立性、条件独立性

期望、方差、协方差。

常用概率分布:
Bernoulli分布、高斯分布、指数分布和Laplace分布

常用函数的有用性质:Logistic sigmoid函数,softplus函数,Relu函数。

这里写图片描述

Logistic sigmoid: σ(x)=11+exp(x)

softplus: log(1+exp(x))

Relu: f(x)=max(0,x)

数值计算

上溢和下溢:当接近零的数被四舍五入为零时发生下溢。许多函数在其参数为零而不是一个很小的正数时才会表现出质的不同。当大量级的数被近似为 时发生上溢。进一步的运算通常会导致这些无限值变为非数字。softmax函数的分析。

病态情况:条件数表征函数相对于输入的微小变化而变化的快慢程度。输入被轻微扰动而迅速改变的函数对于科学计算来说可能是有问题的,因为输入中的四舍五入误差可能导致输出的巨大变化。

基于梯度的优化:大多数深度学习算法都涉及某种形式的优化。优化指的是改变 x 以最小化或最大化某个函数 f(x) 的任务。目标函数也叫损失函数或代价函数。函数的导数 f(x) 代表 f(x) 在点 x 的斜率。 f(x+ϵ)f(x)+ϵf(x)

临界点(驻点)、鞍点的概念;局部极小点,局部极大点,全局最小点概念;偏导数,梯度是相对一个向量求导的导数: f 的导数是包含所有偏导数的向量,记作 xf(x) .

关于梯度下降:

这里写图片描述

这里写图片描述

这里写图片描述

机器学习基础

学习算法包括:任务 T 和性能度量 P ,经验 E

任务T:

样本:收集到的已经量化过的特征的集合。

分类: f:Rn{1,,k} 和 回归: f:RnR

缺失值填补、去噪等等

性能度量P:

准确率:该模型输出正确结果的样本比率。

错误率:该模型输出错误结果的样本比率。通常把错误率称为0-1损失的期望。

还有其它的性能度量,最常用的方法是输出模型在一些样本上概率对数的平均值。

常用的损失函数:

  1. 0-1损失函数:

    L(Y,f(X))={1,0,Yf(X)Y=f(X)

  2. 平方损失函数: L(Y,f(X))=(Yf(X))2

  3. 绝对损失函数: L(Y,f(X))=|(Yf(X))|

  4. 负对数似然损失函数: L(Y,P(Y|X))=logP(Y|X)

经验E:

监督学习算法:数据集中的训练样本都含有一个标签或目标。

无监督学习算法:训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。还有一些其他类型的无监督学习任务,例如聚类,将数据集分成相似样本的集合。

无监督学习涉及到观察随机向量 x 的好几个样本,试图显式或隐式地学习出概率分布 p(x) ,或者是该分布一些有意思的性质;而监督学习包含观察随机向量 x 及其相关联的值或向量 y ,然后从 x 预测 y ,通常是估计 p(y|x)

传统地,人们将回归、分类或者结构化输出问题称为监督学习。支持其他任务的密度估计通常被称为无监督学习。

例子:线性回归

容量、欠拟合、过拟合,正则化

机器学习的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好,而不只是在训练集上表现良好。在先前未观测到的输入上表现良好的能力被称为泛化。

训练误差、泛化误差(测试误差)。需要作出假设:独立同分布假设,即每个数据集中的样本都是彼此相互独立的,并且训练集和测试集是同分布的,采样自相同的分布。将这个共享的潜在分布称为数据生成分布,记作 pdata

决定机器学习算法效果是否好的因素:

  1. 降低训练误差
  2. 缩小训练误差和测试误差的差距

面临的主要挑战:欠拟合(指模型不能在训练集上获得足够低的误差)和过拟合(训练误差和测试误差之间的差距太大),可以通过调整模型的容量来控制。模型的容量是指其拟合各种函数的能力。容量低的模型可能很难拟合训练集。容量高的模型可能会过拟合,因为记住了不适用于测试集的训练集性质。

当机器学习算法的容量适合于所执行任务的复杂度和所提供训练数据的数量时,算法效果通常会最佳。容量不足的模型不能解决复杂任务。容量高的模型能够解决复杂的任务,但是当其容量高于任务所需时,有可能会过拟合。

这里写图片描述

算法的效果不仅很大程度上受影响于假设空间的函数数量,也取决于这些函数的具体形式。可以往损失函数里面添加正则化项来进行约束。比如加入权重衰减, λww

超参数与验证集

超参数可以设置来控制算法的行为,其值不是通过学习算法本身学习出来的,比如在多项式回归中,多项式的次数就是一个作为容量的超参数,而控制权重衰减程度的 λ 是另外的一个超参数,这些超参数可以在验证集中进行更新。

特别地,我们将训练数据分成两个不相交的子集。其中一个用于学习参数。另一个作为验证集,用于估计训练中或训练后的泛化误差,更新超参数。一般80%的训练数据用于训练,20%用于验证。

k-折交叉验证算法,将数据集分成 k 个不重合的子集。

估计,偏差,方差(略过),最大似然估计,贝叶斯统计

监督学习算法:

1.概率监督学习
基于估计概率分布 p(y|x) 的。可以使用最大似然估计找到对于有参分布族 p(y | x;θ) 最好的参数向量 θ

逻辑回归方法: p(y=1|x;θ)=σ(θx)

逻辑回归要利用最大化对数似然来搜索最优解。我们可以通过梯度下降算法最小化负对数似然来搜索。

2.支持向量机
划分超平面的算法,
也是基于线性函数 wx+b 的,但是不同于逻辑回归,支持向量机不输出概率,只输出类别。当 wx+b 为正时,支持向量机预测属于正类。类似地,当 wx+b 为负时,输出负类。

支持向量机的一个重要创新是核技巧。核函数不是仅仅在SVM里使用,他只是一个工具,把低维数据映射到高维数据的工具。在低维空间计算高维空间内积的一个工具。

支持向量机中的线性函数可以重写为 wx+b=b+mi=1αixx(i) ,用核函数来替代点积。使用核估计替换点积后,可以使用如下函数进行预测: f(x)=b+iαik(x,x(i)) ,这个函数关于x是非线性的,关于 ϕ(x) 是线性的。 α f(x) 之间的关系也是线性的。

3.k-最近邻、决策树
k -最近邻是一类可用于分类或回归的技术。作为一个非参数学习算法, k -最近邻并不局限于固定数目的参数。

决策树是另一类将输入空间分成不同的区域,每个区域有独立参数的算法。决策树的每个节点都与输入空间的一个区域相关联,并且内部节点继续将区域分成子节点下的子区域(通常使用坐标轴拆分区域)

其每一次遍历会选择一个最优划分属性,而选取的过程就要用到信息增益。 具体就不详细介绍了。

非监督学习算法:

通俗地说,无监督学习的大多数尝试是指从不需要人为注释的样本的分布中抽取信息。

主成分分析

主成分分析(PCA)可被视为压缩数据的一种方式,也可以视为学习数据表示的无监督学习算法;其作用是学习一种投影,使得最大的方差的方向和新空间的轴对齐。

两个标准:

  1. 学习一种比原始输入维数更低的表示
  2. 学习一种元素之间彼此没有线性相关的表示

随机梯度下降

机器学习中反复出现的一个问题是好的泛化需要大的训练集。代价函数通常可以分解成每个样本的代价函数的总和。例如,训练数据的负对数似然可以写成: J(θ)=Ex,yp^dataL(x,y,θ)=1mmi=1L(x(i),y(i),θ) ,其中的每个样本的损失 L(x(i),y(i),θ)=log p(y|x;θ)

随机梯度下降法的核心是,梯度是期望。

  1. 每次只更新计算 m 个样本
  2. m 的大小不取决于训练集的大小 m
  3. 模型会在抽样完训练集上所有样本之间收敛到可能的最优测试误差

怎样构建机器学习算法?

几乎所有的深度学习算法都可以被描述为一个相当简单的配方:特定的数据集、代价函数、优化过程和模型。例如,线性回归算法由以下部分组成:X和y构成的数据集,代价函数 J(w,b)=Ex,yp^datalog pmodel(y|x) ,模型是 pmodel(y|x)=N(y;xw+b,1) ,在大多数情况下,优化算法可以定义为求解代价函数梯度为零的正规方程。最常见的代价函数是负对数似然,最小化代价函数导致的最大似然估计。

促使深度学习发展的挑战:
1.维度灾难:指的是当数据的维度很高时,出现的指数级问题,一组变量不同的配置数目会随着变量数目的增加而呈指数级增加。

低维时,可以用数据占据的少量网格去描述这个空间。而在高维,高维空间中参数的配置数目远远大于样本数目,大部分配置没有相关的样本。

2.局部不变性和平滑正则化:由先验信念引导应该学习什么类型的函数,即,先验信念直接影响函数本身,而仅仅通过它们对函数的影响来间接改变参数。先验信念还间接地提现在选择一些偏好某类函数的算法,而这些偏好并没有显式地表现出来。

广泛使用的是:平滑先验或局部不变性先验。这个先验表明学习的函数不应该在小区域内发生很大的变化。
对于函数 f ,大多数设置 x 和小变动 ϵ ,都满足条件 f(x)f(x+ϵ) ,一类重要的核函数是局部核,其核函数 k(u,v) u=v 时很大,当 u v 距离拉大时而减小。局部核可以看作执行模板匹配的相似函数,用于度量测试样本 x 和每个训练样本 x(i) 有多么相似。

3.流形学习
流形指连续在一起的区域。数学上,它是指一组点,且每个点都有其邻域。每个点周围邻域的定义暗示着存在变换能够从一个位置移动到其邻域位置。流形学习算法通过一个假设来克服这个障碍,该假设认为 Rn 中大部分区域都是无效的输入,有意义的输入只分布在包含少量数据点的子集构成的一组流形中,而学习函数的输出中,有意义的变化都沿着流形的方向或仅发生在我们切换到另一流形时。

第一个支持流形假设(manifold hypothesis)的观察是现实生活中的图像、文本、声音的概率分布都是高度集中的。

支持流形假设的第二个论点是,我们至少能够非正式地想象这些邻域和变换。在图像中,我们当然会认为有很多可能的变换仍然允许我们描绘出图片空间的流形:我们可以逐渐变暗或变亮光泽、逐步移动或旋转图中对象、逐渐改变对象表面的颜色等等。

猜你喜欢

转载自blog.csdn.net/qxconverse/article/details/77800467