原文链接:https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/

神经网络是更复杂版本的特征组合。实质上,神经网络会学习适合相应特征组合。

1- 剖析

“非线性问题”意味着无法使用形式为“$b + w_1x_1 + w_2x_2$”的线性模型准确预测标签。
对非线性问题可以用特征组合的方法进行建模。

隐藏层

“隐藏层”表示中间值。
如果构建一个多层模型,“隐藏层”每个节点是上一层输入节点值的加权和,输出是“隐藏层”节点的加权和,那么此模型仍是线性的。
因为当将输出表示为输入的函数并进行简化时,只是获得输入的另一个加权和而已。
       

激活函数

要对非线性问题进行建模,可以直接引入非线性函数。
可以用非线性函数将每个隐藏层节点像管道一样连接起来。
在隐藏层中的各个节点的值传递到下一层进行加权求和之前,采用一个非线性函数对其进行了转换,这种非线性函数称为激活函数。
       
通过在非线性上堆叠非线性,能够对输入和预测输出之间极其复杂的关系进行建模。
简而言之,每一层均可通过原始输入有效学习更复杂、更高级别的函数。

常见激活函数

S型激活函数

S型激活函数将加权和转换为介于 0 和 1 之间的值。
S 型函数的响应性在两端相对较快地减少。
公式:
       $F(x)=\frac{1} {1+e^{-x}}$
曲线图:
      

修正线性单元激活函数(简称为 ReLU)

ReLU 的优势:基于实证发现(可能由 ReLU 驱动),拥有更实用的响应范围。
相较于 S 型函数等平滑函数,效果通常要好一点,同时还非常易于计算。
公式:
        $F(x)=max(0,x)$
曲线图:
       

其他激活函数

实际上,所有数学函数均可作为激活函数。
TensorFlow 为各种激活函数提供开箱即用型支持。建议从 ReLU 着手。

2- 总结

通常所说的“神经网络”的所有标准组件:

  • 一组节点,类似于神经元,位于层中。
  • 一组权重,表示每个神经网络层与其下方的层之间的关系。下方的层可能是另一个神经网络层,也可能是其他类型的层。
  • 一组偏差,每个节点一个偏差。
  • 一个激活函数,对层中每个节点的输出进行转换。不同的层可能拥有不同的激活函数。

3- 练习

xxx

4- 关键词

激活函数 (activation function)
一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

隐藏层 (hidden layer)
神经网络中的合成层,介于输入层(即特征)和输出层(即预测)之间。神经网络包含一个或多个隐藏层。

神经网络 (neural network)
一种模型,灵感来源于脑部结构,由多个层构成(至少有一个是隐藏层),每个层都包含简单相连的单元或神经元(具有非线性关系)。

神经元 (neuron)
神经网络中的节点,通常会接收多个输入值并生成一个输出值。
神经元通过将激活函数(非线性转换)应用于输入值的加权和来计算输出值。

修正线性单元 (ReLU, Rectified Linear Unit)
一种激活函数,其规则如下:

    • 如果输入为负数或 0,则输出 0。
    • 如果输入为正数,则输出等于输入。

S 型函数 (sigmoid function)
一种函数,可将逻辑回归输出或多项回归输出(对数几率)映射到概率,以返回介于 0 到 1 之间的值。
S 型函数的公式:$y = \frac{1}{1 + e^{-\sigma}}$
在逻辑回归问题中, $\sigma$非常简单:$\sigma = b + w_1x_1 + w_2x_2 + … w_nx_n$
换句话说,S 型函数可将$\sigma$转换为介于 0 到 1 之间的概率。
在某些神经网络中,S 型函数可作为激活函数使用。

最新文章

  1. 使用ETag进行session的降级
  2. SQL Tuning 基础概述01 - Autotrace的设定
  3. css common 通用
  4. maven archetype:generate 命令简化项目模板数量
  5. hihoCoder挑战赛11.题目4 : 高等理论计算机科学(LCA)
  6. document.write 动态加载 script 脚本时,特殊异常
  7. VMware-WorkStation 序列号(转)
  8. sql语句:union
  9. 得到client真IP住址
  10. java split小结(转)
  11. MySQL XtraBackup备份脚本
  12. [Python Study Notes]psutil模块
  13. 双边滤波算法的简易实现bilateralFilter
  14. 后台管理系统之系统运行日志开发(Java实现)
  15. 万年不变话题cookie,简单总结
  16. 用纯css实现下拉菜单的几种方式
  17. 插入排序的C++实现
  18. 解决重装 Oracle 出现的 INS-32025 问题,完全卸载 Oracle11g
  19. Paxos一致性算法(三)
  20. C# 设置程序最小化到任务栏右下角,鼠标左键单击还原,右键提示关闭程序

热门文章

  1. 递归求6的阶乘(考虑int类型溢出)
  2. 将字符串向hdfs中写入,出现中文乱码!
  3. egret 取消自动连接github
  4. 奇异值分解(SVD)
  5. pycharm设置文件编码
  6. Xshell连接不上阿里云服务器
  7. 适用于Mac 的自动补丁管理软件
  8. php日志报错child exited with code 0 after seconds from start
  9. 牛客网华为机试题之Python解法
  10. docker install