线性回归,softmax回归,多层感知机,激活函数的基本概念

线性回归

线性回归,softmax回归,多层感知机,激活函数的基本概念_第1张图片

线性回归是一种单层神经网络。

线性回归方法的四个关键式子:

  1. 线性模型的预测公式
    y ^ = X w + b \hat{y} = Xw + b y^=Xw+b
    这个公式表示向量 y ^ \hat{y} y^(预测值)是矩阵 X X X(特征)和向量 w w w(权重)的乘积加上偏置项 b b b。这里, X ∈ R n × d X \in R^{n \times d} XRn×d,其中 n n n 是样本数量, d d d 是特征数量。

  2. 每个样本的平方误差损失
    l ( i ) ( w , b ) = 1 2 ( y ^ ( i ) − y ( i ) ) 2 l^{(i)}(w, b) = \frac{1}{2} (\hat{y}^{(i)} - y^{(i)})^2 l(i)(w,b)=21(y^(i)y(i))2

  3. 整个数据集的平均损失
    L ( w , b ) = 1 n ∑ i = 1 n l ( i ) ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x ( i ) + b − y ( i ) ) 2 L(w, b) = \frac{1}{n} \sum_{i=1}^{n} l^{(i)}(w, b) = \frac{1}{n} \sum_{i=1}^{n} \frac{1}{2} (w^T x^{(i)} + b - y^{(i)})^2 L(w,b)=n1i=1nl(i)(w,b)=n1i=1n21(wTx(i)+by(i))2

  4. 最优参数的求解
    ( w ∗ , b ∗ ) = arg ⁡ min ⁡ w , b L ( w , b ) (w^*, b^*) = \arg \min_{w,b} L(w, b) (w,b)=argw,bminL(w,b)

随机梯度下降方法求解线性回归问题:

  • 指定超参数,本问题中是批量大小和学习率。
  • 初始化模型参数的值,如从均值为0、标准差为0.01的正态分布中随机采样,偏置参数初始化为零。
  • 从数据集中随机抽取小批量样本且在负梯度的方向上更新参数,并不断迭代这一步骤。
    w ← w − η ∣ B ∣ ∑ i ∈ B ∂ l ( i ) ( w , b ) ∂ w = w − η ∣ B ∣ ∑ i ∈ B x ( i ) ( w T x ( i ) + b − y ( i ) ) w \leftarrow w - \frac{\eta}{|B|} \sum_{i \in B} \frac{\partial l^{(i)}(w, b)}{\partial w} = w - \frac{\eta}{|B|} \sum_{i \in B} x^{(i)} \left( w^T x^{(i)} + b - y^{(i)} \right) wwBηiBwl(i)(w,b)=wBηiBx(i)(wTx(i)+by(i))
    b ← b − η ∣ B ∣ ∑ i ∈ B ∂ l ( i ) ( w , b ) ∂ b = b − η ∣ B ∣ ∑ i ∈ B ( w T x ( i ) + b − y ( i ) ) b \leftarrow b - \frac{\eta}{|B|} \sum_{i \in B} \frac{\partial l^{(i)}(w, b)}{\partial b} = b - \frac{\eta}{|B|} \sum_{i \in B} \left( w^T x^{(i)} + b - y^{(i)} \right) bbBηiBbl(i)(w,b)=bBηiB(wTx(i)+by(i))

Softmax回归

线性回归,softmax回归,多层感知机,激活函数的基本概念_第2张图片

softmax回归是一种单层神经网络。

softmax回归方法的四个关键式子:

  1. Softmax函数的定义:softmax函数将一个实数向量转换为概率分布。对于每个元素,它计算该元素的指数与所有元素的指数之和的比值。这样可以确保输出向量的所有元素都是非负的,并且总和为1,因此可以被视为概率分布。
    y ^ = softmax ( o ) 其中 y ^ j = exp ⁡ ( o j ) ∑ k exp ⁡ ( o k ) \hat{y} = \text{softmax}(o) \quad \text{其中} \quad \hat{y}_j = \frac{\exp(o_j)}{\sum_k \exp(o_k)} y^=softmax(o)其中y^j=kexp(ok)exp(oj)

  2. 输出就是选择最有可能的类别:尽管softmax函数改变了输出向量的值,但它不改变元素之间的顺序。
    arg ⁡ max ⁡ j y ^ j = arg ⁡ max ⁡ j o j \arg \max_j \hat{y}_j = \arg \max_j o_j argjmaxy^j=argjmaxoj

  3. 交叉熵损失:在多分类问题中,模型预测的概率分布为 y ^ \hat{y} y^,而真实的标签分布为 y y y。交叉熵损失函数用于度量这两个分布之间的差异。公式如下:
    l ( y , y ^ ) = − ∑ j = 1 q y j log ⁡ y ^ j l(y, \hat{y}) = -\sum_{j=1}^{q} y_j \log \hat{y}_j l(y,y^)=j=1qyjlogy^j

  4. 交叉熵损失的导数:损失函数的梯度是模型预测的概率与真实标签之间的差异。
    ∂ ∂ o j l ( y , y ^ ) = softmax ( o ) j − y j \frac{\partial}{\partial o_j} l(y, \hat{y}) = \text{softmax}(o)_j - y_j ojl(y,y^)=softmax(o)jyj

多层感知机

线性回归,softmax回归,多层感知机,激活函数的基本概念_第3张图片

一个单隐藏层的多层感知机,具有5个隐藏单元。

从线性到非线性

如果我们只是将输入通过仿射变换(线性变换和偏置)传递给隐藏层,然后再将隐藏层的输出通过仿射变换传递给输出层,那么整个模型仍然是一个仿射函数,这并没有比单层模型提供更多的表达能力。

为了使多层模型能够表达更复杂的函数,我们需要在隐藏层的仿射变换后应用一个非线性的激活函数 σ \sigma σ。这样,模型的计算公式变为:
H = σ ( X W ( 1 ) + b ( 1 ) ) H = \sigma(XW^{(1)} + b^{(1)}) H=σ(XW(1)+b(1))
O = H W ( 2 ) + b ( 2 ) O = HW^{(2)} + b^{(2)} O=HW(2)+b(2)

常用的激活函数

  • ReLU 的求导表现特别好:要么让参数消失,要么让参数通过。当输入为负时,ReLU函数的导数为0,而当输入为正时,ReLU函数的导数为1。这使得优化表现得更好,并且ReLU减轻了困扰以往神经网络的梯度消失问题。其数学定义如下:
    ReLU ( x ) = max ⁡ ( x , 0 ) \text{ReLU}(x) = \max(x, 0) ReLU(x)=max(x,0)
    线性回归,softmax回归,多层感知机,激活函数的基本概念_第4张图片

  • Sigmoid函数 是一种常用的激活函数,它将实数输入映射到(0, 1)的范围内,因此也被称为挤压函数。sigmoid函数是一个自然的选择,因为它是一个平滑的、可微的阈值单元近似。它的数学定义如下:
    sigmoid ( x ) = 1 1 + exp ⁡ ( − x ) \text{sigmoid}(x) = \frac{1}{1 + \exp(-x)} sigmoid(x)=1+exp(x)1
    线性回归,softmax回归,多层感知机,激活函数的基本概念_第5张图片

  • 双曲正切函数(tanh) 是另一种常用的激活函数,它将实数输入映射到(-1, 1)的范围内。tanh函数是关于原点对称的。它的数学定义如下:
    tanh ( x ) = 1 − exp ⁡ ( − 2 x ) 1 + exp ⁡ ( − 2 x ) \text{tanh}(x) = \frac{1 - \exp(-2x)}{1 + \exp(-2x)} tanh(x)=1+exp(2x)1exp(2x)
    线性回归,softmax回归,多层感知机,激活函数的基本概念_第6张图片

你可能感兴趣的:(回归,线性回归,算法)