neural-network - 理解神经网络中的阈值
问题描述
考虑这里的假设神经网络
$o_1$ is the output of neuron 1.
$o_2$ is the output of neuron 2.
$w_1$ is the weight of connection between 1 and 3.
$w_2$ is the weight of connection between 2 and 3.
So the input to neuron 3 is $i =o_1w_1 +o_2w_2$
Let the activation function of neuron 3 be sigmoid function.
$f(x) = \dfrac{1}{1+e^{-x}}$ and the threshold value of neuron 3 be $\theta$.
Therefore, output of neuron 3 will be $f(i)$ if $i\geq\theta$ and $0$ if $i\lt\theta$.
我对么?
解决方案
阈值用于二元神经元(我忘记了技术名称),而偏差用于 sigmoid(以及几乎所有现代)神经元。您对阈值的理解是正确的,但这同样用于输出为 1 或 0 的神经元,这对于学习(优化)不是很有用。使用 sigmoid 神经元,您只需添加偏差(以前是阈值,但移到等式的另一边),因此您的输出将为 f(权重 * 输入 + 偏差)。所有 sigmoid 函数正在做的(大部分)是将你的输出限制在 0 到 1 之间的值
推荐阅读
- java - 多个 JComboBox 侦听器
- python - Getting the name of a class which has a meta class
- sql - How to retrieve all user tables, corresponding columns and data types in SQL Server?
- html - 从 HTML 片段中删除任何视频
- javascript - My modal is not appearing, having difficulty targeting a button within a table using selectors
- python - 根据条件退出 Jupyter Notebook .ipynb 单元
- fluentd - 在 GKE 中实现默认的堆栈驱动程序行为
- rxjs - Creating an Observable that gets its value from a subscriptions calculation
- php - 辅助类中的列排序方法在一个表上工作,但在同一个应用程序中不是另一个表
- python - python selenium 驱动程序不滚动以收集所有数据点