深度学习根底入门篇[一]:神经元简介、单层多层感知机、间隔计算方法式、类似度函数
1. 神经元
在生物学中,神经元细胞有兴奋与克制两种状态。大多数神经元细胞在失常状况下处于克制状态,一旦某个神经元受到刺激并且电位超过肯定的阈值后,这个神经元细胞就被激活,处于兴奋状态,并向其余神经元传递信息。基于神经元细胞的构造个性与传递信息形式,神经科学家 Warren McCulloch 和逻辑学家 Walter Pitts 单干提出了“McCulloch–Pitts (MCP) neuron”模型。在人工神经网络中,MCP 模型成为人工神经网络中的最根本构造。MCP 模型构造如 图 1 所示。
图 1 MCP 模型构造
从 图 1 可见,给定 n 个二值化(0 或 1)的输出数据 $x_i$(1≤i≤n)与连贯参数 $w_i$(1≤i≤n),MCP 神经元模型对输出数据线性加权求和,而后应用函数 Φ()将加权累加后果映射为 0 或 1,以实现两类分类的工作:$y=Φ(∑_{n_i=1}w_ix_i)$
其中 $w_i$ 为事后设定的连贯权重值(个别在 0 和 1 中取一个值或者 1 和 -1 中取一个值),用来示意其所对应输出数据对输入后果的影响(即权重)。Φ()将输出端数据与连贯权重所得线性加权累加后果与事后设定阈值 θ 进行比拟,依据比拟后果输入 1 或 0。
具体而言,如果线性加权累加后果(即 ∑mi=1wixi)大于阈值 θ,则函数 Φ()的输入为 1、否则为 0。也就是说,如果线性加权累加后果大于阈值 θ,则神经元细胞处于兴奋状态,向后传递 1 的信息,否则该神经元细胞处于克制状态而不向后传递信息。
从另外一个角度来看,对于任何输出数据 $x_i$(1≤i≤n),MCP 模型可失去 1 或 0 这样的输入后果,实现了将输出数据分类到 1 或 0 两个类别中,解决了二分类问题。
2. 单层感知机
2.1 单层感知机模型¶
1957 年 Frank Rosenblatt 提出了一种简略的人工神经网络,被称之为感知机。晚期的感知机构造和 MCP 模型类似,由一个输出层和一个输入层形成,因而也被称为“单层感知机”。感知机的输出层负责接管实数值的输出向量,输入层则为 1 或 - 1 两个值。单层感知机可作为一种二分类线性分类模型,构造如 图 2 所示。
单层感知机的模型能够简略示意为:$f(x)=sign(w∗x+b)$
对于具备 n 个输出 $x_i$ 以及对应连贯权重系数为 $w_j$ 的感知机,首先通过线性加权失去输出数据的累加后果 $z$:$z=w_1x_1+w_2x_2+…+b$。这里 $x_1,x_2,…,x_n$ 为感知机的输出,w1,w2,…,wn
为网络的权重系数,b 为偏置项($bias$)。而后将 $z$ 作为激活函数 Φ(⋅)的输出,这里激活函数 Φ(⋅)为 $sign$ 函数,其表达式为:
$\begin{cases}+1 & x \geq0 \\-1 & x < 0\end{cases}$
Φ(⋅)会将 $z$ 与某一阈值(此例中,阈值为 0)进行比拟,如果大于等于该阈值则感知器输入为 1,否则输入为 −1。通过这样的操作,输出数据被分类为 1 或 −1 这两个不同类别。
2.2 训练过程
给定一个 n 维数据集,如果它能够被一个超平面齐全宰割,那么咱们称这个数据集为线性可分数据集,否则,则为线性不可分的数据集。单层感知机只能解决线性可分数据集,其工作是寻找一个线性可分的超平面将所有的正类和负类划分到超平面两侧。单层感知机与 $MCP$ 模型在连贯权重设置上是不同的,即感知机中连贯权重参数并不是事后设定好的,而是通过屡次迭代训练而失去的。单层感知机通过构建损失函数来计算模型预测值与数据实在值间的误差,通过最小化代价函数来优化模型参数。
其具体的训练过程为:
2.3 单层感知机存在的问题¶
图 4 单层感知机模仿不同逻辑函数性能的示意图
单层感知机可被用来辨别线性可分数据。在 图 3 中,逻辑与 (AND)、逻辑与非(NAND) 和逻辑或 (OR) 为线性可分函数,所以可利用单层感知机来模仿这些逻辑函数。然而,因为逻辑异或(XOR)是非线性可分的逻辑函数,因而单层感知机无奈模仿逻辑异或函数的性能。
3. 多层感知机
因为无奈模仿诸如异或以及其余简单函数的性能,使得单层感知机的利用较为繁多。一个简略的想法是,如果能在感知机模型中减少若干暗藏层,加强神经网络的非线性表达能力,就会让神经网络具备更强拟合能力。因而,由多个暗藏层形成的多层感知机被提出。
如 图 5 所示,多层感知机由输出层、输入层和至多一层的暗藏层形成。网络中各个暗藏层中神经元可接管相邻前序暗藏层中所有神经元传递而来的信息,通过加工解决后将信息输入给相邻后续暗藏层中所有神经元。
在多层感知机中,相邻层所蕴含的神经元之间通常应用“全连贯”形式进行连贯。所谓“全连贯”是指两个相邻层之间的神经元互相成对连贯,但同一层内神经元之间没有连贯。多层感知机能够模仿简单非线性函数性能,所模仿函数的复杂性取决于网络暗藏层数目和各层中神经元数目。
4. 向量间隔与类似度
假如以后有两个 $n$ 维向量 $x$ 和 $y$(除非特地阐明,本文默认依此写法示意向量),能够通过两个向量之间的间隔或者类似度来断定这两个向量的相近水平,显然两个向量之间间隔越小,类似度越高;两个向量之间间隔越大,类似度越低。
4.1 常见的间隔计算形式¶
4.1.1 闵可夫斯基间隔(Minkowski Distance)
Minkowski Distane 是对多个间隔度量公式概括性的表述,当 p = 1 时,Minkowski Distane 便是曼哈顿间隔;当 p = 2 时,Minkowski Distane 便是欧式间隔;Minkowski Distane 取极限的模式便是切比雪夫间隔。
$\text {Minkowski Distance}=\left(\sum_{i=1}^n\left|x_i-y_i\right|^p\right)^{\frac{1}{p}}$
4.1.2 曼哈顿间隔(Manhattan Distance)
$\text {Manhattan Distance}=\left(\sum_{i=1}^n\left|x_i-y_i\right|\right)$
4.1.3 欧式间隔 / 欧几里得间隔(Euclidean distance)
$\text {Euclidean Distance}=\sqrt{\sum_{i=1}^n\left(x_i-y_i\right)^2}$
4.1.4 切比雪夫间隔(Chebyshev Distance)
$\lim _{p \rightarrow \infty}\left(\sum_{i=1}^n\left|x_i-y_i\right|^p\right)^{\frac{1}{p}}=\max \left(\left|x_i-y_i\right|\right)$
4.1.5 明间隔(Hamming Distance)
在信息论中,两个等长字符串之间的海明间隔是两个字符串对应地位的不同字符的个数。假如有两个字符串别离是:$x=[x1,x2,…,x_n]$ 和 $y=[y1,y2,…,y_n]$,则两者的间隔为:
\text {Hamming Distance}=\sum_{i=1}^n \mathrm{II}\left(x_i=y_i\right)
其中 $II$ 示意批示函数,两者雷同为 1,否则为 0。
4.1.6 KL 散度
给定随机变量 $X$ 和两个概率分布 $P$ 和 $Q$,KL 散度能够用来掂量两个散布之间的差异性,其公式如下:
$K L(P \| Q)=\sum_{x \in X} p(x) \log \frac{P(x)}{Q(x)}$
5. 常见的类似度函数
5.1 余弦类似度(Cosine Similarity)
$\text {Cosine Similarity}=\frac{x \cdot y}{|x| \cdot|y|}=\frac{\sum_{i=1}^n x_i y_i}{\sqrt{\sum_{i=1}^n x_i^2} \sqrt{\sum_{i=1}^n y_i^2}}$
5.2 皮尔逊相关系数(Pearson Correlation Coefficient)
给定两个随机变量 X 和 Y,皮尔逊相关系数能够用来掂量两者的相干水平,公式如下:
$\begin{aligned}
\rho_{x, y} & =\frac{\operatorname{cov}(X, Y)}{\sigma_X \sigma_Y}=\frac{E\left[\left(X-\mu_X\right)\left(Y-\mu_Y\right)\right]}{\sigma_X \sigma_Y} \
& =\frac{\sum_{i=1}^n\left(X_i-\bar{X}\right)\left(Y_i-\bar{Y}\right)}{\sqrt{\sum_{i=1}^n\left(X_i-\bar{X}\right)^2} \sqrt{\sum_{i=1}^n\left(Y_i-\bar{Y}\right)^2}}
\end{aligned}$
其中 $μ_X$ 和 $μ_Y$ 别离示意向量 X 和 Y 的均值,$σ_X$ 和 $σ_Y$ 别离示意向量 X 和 Y 的标准差。
5.3Jaccard 类似系数(Jaccard Coefficient)
假如有两个汇合 X 和 Y(留神这里的两者不是向量),则其计算公式为:
$\operatorname{Jaccard}(X, Y)=\frac{X \cup Y}{X \cap Y}$