神经元/感知 这是什么? 答:只是一个简单的等式 y=f(∑(xᵢ × Wᵢ)+b₀)
另一种表达方式 为什么需要这个? 我们的目标是找到输入和转换的组合来帮助我们预测。 例如,考虑一个分类问题: 为什么使用偏差? 一条没有偏差的线: y=mx 即一条穿过原点的线 一条有位移没有偏差的线: y=mx+c 这会帮助你的分类器移动 f(非线性)如何帮助? 最常用的激活函数:
Y = F(X)= X
y=f(x)=max(0,min(1,x×0.2+0.5)) 它是sigmoid的近似值。此激活函数是Keras中RNN的默认激活函数,用于提高速度。 怎么做? 答案:矩阵代数 回顾一下: 检查输出和输入维度之间的关系:
检查维度: (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个神经元):
隐藏层2(3个神经元):
输入数据本身怎么样?它增加了什么样的价值? 以下是两种情况: 例3: V / S 例4: 如果拥有相关功能,网络将能够更好地进行分类。 我相信很多人会对此不以为然。事实上,行业走向深度学习的一个重要原因是它为您执行特征提取。这也是我的观点; 如果您已经知道哪些输入是好的,请使用它来使模型更快地学习。 |
|