机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)
原文链接: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 型函数可作为激活函数使用。
机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)的更多相关文章
- 今天开始学模式识别与机器学习(PRML),章节5.1,Neural Networks神经网络-前向网络。
今天开始学模式识别与机器学习Pattern Recognition and Machine Learning (PRML),章节5.1,Neural Networks神经网络-前向网络. 话说上一次写 ...
- 卷积神经网络用于视觉识别Convolutional Neural Networks for Visual Recognition
Table of Contents: Architecture Overview ConvNet Layers Convolutional Layer Pooling Layer Normalizat ...
- [翻译]用神经网络做回归(Using Neural Networks With Regression)
本文英文原文出自这里, 这个博客里面的内容是Java开源, 分布式深度学习项目deeplearning4j的介绍学习文档. 简介: 一般来说, 神经网络常被用来做无监督学习, 分类, 以及回归. 也就 ...
- cs231n spring 2017 lecture4 Introduction to Neural Networks 听课笔记
1. Backpropagation:沿着computational graph利用链式法则求导.每个神经元有两个输入x.y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/ ...
- CS231n笔记 Lecture 4 Introduction to Neural Networks
这一讲主要介绍了神经网络,基本内容之前如果学习过Andrew的Machine learning应该也都有所了解了.不过这次听完这一讲后还是有了新的一些认识. 计算图 Computational gra ...
- cs231n spring 2017 lecture4 Introduction to Neural Networks
1. Backpropagation:沿着computational graph利用链式法则求导.每个神经元有两个输入x.y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/ ...
- 机器学习入门 - Google机器学习速成课程 - 笔记汇总
机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...
- 卷积神经网络(Convolutional Neural Networks)CNN
申明:本文非笔者原创,原文转载自:http://www.36dsj.com/archives/24006 自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural ...
- 一目了然卷积神经网络 - An Intuitive Explanation of Convolutional Neural Networks
An Intuitive Explanation of Convolutional Neural Networks 原文地址:https://ujjwalkarn.me/2016/08/11/intu ...
随机推荐
- 设计模式学习心得<原型模式 Prototype >
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式是实现了一个原型接口,该接口用于创建当 ...
- common skill
lunix watch and kill progress 1. ps -ef 2. kill -9 pid
- Android学习(四)
教材学习内容总结 图形和定制视图 硬件加速 Android APILevel14及其以上版本为目标的应用程序来说,硬件加速是默认可用的. 可通过android:hardwareAccelerated= ...
- oracle 查询clob 列时 很慢 , 未解决
今天查询一张表 ,这张表有一个clob 列 select * from tableName : 很卡.. 难道是查询的太多? select * from tableName where rowN ...
- mysql8.0 1251错误
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER '; FLUSH PR ...
- kvm 客户机加载移动硬盘
1,宿主机安装usbutils yum install usbutils -y 2,插入U盘或者移动硬盘并查看 [root@localhost ~]# lsusb Bus Device : ID 10 ...
- java之路 把1到100之间的数的偶数相加
/** *把1到100之间的数的偶数相加 */ class Demo{ public static void main(String[] args){ int i =1; int sum = 0; d ...
- 防止用户重发发生ajax请求
1.前端限制 点击提交后,将该元素禁用,等待请求结束后再次释放(解除禁用). 可以使用ajax中的 success 请求成功后的回调函数进行按钮释放. 2.防抖动 暴力连续点击按钮,可以通过闭包里的 ...
- JSP页面使用include指令出现 Duplicate local variable basePath
现有三个页面 " include.jsp " " a.jsp " " b.jsp " 页面代码如下 首先是a.jsp <%@ page ...
- k8s初始化搭建方法
http://www.cnblogs.com/cocowool/p/kubeadm_install_kubernetes.html https://www.kubernetes.org.cn/doc- ...