分享

神经网络:简单数学与解释

 niudp 2018-12-22

神经元/感知

这是什么?

答:只是一个简单的等式

y=f(∑(xᵢ × Wᵢ)+b₀)

  • y是预测
  • f是非线性函数
  • xᵢ是数据点/输入
  • Wᵢ是权重
  • b0是偏差

另一种表达方式

神经网络:简单数学与解释

为什么需要这个?

我们的目标是找到输入和转换的组合来帮助我们预测。

例如,考虑一个分类问题:

神经网络:简单数学与解释

为什么使用偏差?

一条没有偏差的线:

y=mx

即一条穿过原点的线

神经网络:简单数学与解释

一条有位移没有偏差的线:

y=mx+c

神经网络:简单数学与解释

这会帮助你的分类器移动

f(非线性)如何帮助?

最常用的激活函数:

  • 线性:

Y = F(X)= X

  • Sigmoid,Tanh,ReLU

神经网络:简单数学与解释

  • Hard-Sigmoid:

y=f(x)=max(0,min(1,x×0.2+0.5))

它是sigmoid的近似值。此激活函数是Keras中RNN的默认激活函数,用于提高速度。

怎么做?

答案矩阵代数

回顾一下:

神经网络:简单数学与解释

检查输出和输入维度之间的关系:

  1. (row×midcol)∗(midcol×col)=row×col

神经网络:简单数学与解释

神经网络:简单数学与解释

检查维度:

(1×n)∗(n×1)=1×1(1×n)∗(n×1)=1×1

矩阵表示法:

Y=WX+b

如果我们应用非线性函数:

Sigmoid:Y =σ(WX + b)

Tanh:Y = tanh(WX + b)

MLP:多层感知器

多个神经元在一起

神经网络:简单数学与解释

如何在矩阵中做到这一点?

神经网络:简单数学与解释

检查维度:

(1×n)*(n×h)=(1×h)

h是隐藏的图层维度

一种不同的方式

神经网络:简单数学与解释

隐藏层看起来很整洁

神经网络:简单数学与解释

如果我将多个列放在一起怎么办?

这就是我们通常做的事情

神经网络:简单数学与解释

b称为Batch_Size

相同的Matrix符号:

Y=f(WX+b)

因此每个隐藏层都是自己的分类器。我们将多个分类器放在一起

一个流行的例子

异或门:

神经网络:简单数学与解释

MLP:

神经网络:简单数学与解释

BTS

每个神经元在数学上是具有一些非线性变换的线性平面。该平面存在于n维空间中,其中特征是构成维度。

实际上,每个神经元都是分类器(和特征生成器)。神经网络具有多个这样的神经元,其充当另一神经元的输入。从上面的例子中获取XOR的神经网络:你会看到两个分类器(黄线和蓝线)。下一个神经网络使用它们定义的边界进行推理。

让我们看看非线性如何在神经网络中组合在一起。

考虑以下两种情况:

例1:

神经网络:简单数学与解释

图1显示了我们的结论的例子,即“ 每个神经元都是一个分类器 ”。数据只需要两个分类器,这就是模型在图1中的工作方式。还为每个神经元显示了分类边界。

你可以说神经网络是多个分类器的组合。

例2:

神经网络:简单数学与解释

图2显示了当我们的模型比所需模型更复杂时会发生什么。它不会影响性能。但它也会有很多冗余。虚线表示权重。现在检查以下内容

隐藏层1(4个神经元):

  • 第一和第二神经元与输入基本相同
  • 第3和第4神经元是相同的

隐藏层2(3个神经元):

  • 第3神经元在分类中比其他神经元更重要(输出权重更强)
  • 第三神经元主要取决于与输入相似的那些nurons

输入数据本身怎么样?它增加了什么样的价值?

以下是两种情况:

例3:

神经网络:简单数学与解释

V / S

例4:

神经网络:简单数学与解释

如果拥有相关功能,网络将能够更好地进行分类。

我相信很多人会对此不以为然。事实上,行业走向深度学习的一个重要原因是它为您执行特征提取。这也是我的观点; 如果您已经知道哪些输入是好的,请使用它来使模型更快地学习。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多