NN-Neural Network
开始学习神经网络(Neural Network)
已有线性与逻辑回归,为什么需要用到NN
实际的应用中,需要根据很多特征进行训练分类器,当今有两个特征下,可以通过下图表述:

然而还有太多的特征需要考虑,假设这里有100个特征,包含他们所有的相关项后可能会有5000个,这种计算量很显然是非常大的,当然你可以仅保存\(x_1^2、x_2^2....X_{100}^2\),此时仅100个,但此时拟合结果很有可能出现underfitting。

NN模型表示
我们来看看我们如何使用神经网络来表示一个假设函数。简单地,神经元基本上是计算单位,其将输入(树突)作为被输送到输出(轴突)的电输入(称为“尖峰”)。 在我们的模型中,我们的树突像输入特征\(x_1、x_2...x_n\),输出是我们假设函数的结果。 在这个模型中,我们的\(x_0\)输入节点有时被称为“偏置单元”。 它总是等于1。


这里我们依然利用\(\frac{1}{1+e^{-\theta^Tx}}\)作为我们的逻辑函数(logistic function),有时称为s形激励函数(sigmoid activation function)。这里的参数Theta也被称为权重“Weights”
我们的输入节点(第1层)也称为“输入层”,进入另一个节点(第2层),最终输出称为“输出层”的假设函数。在输入层与输出层之间的部分我们一般称为隐藏层。在这个例子中,我们标注这些中间层或“隐藏”层节点\(a_0^2...a_n^2\)并将其称为“激励单元”。
\(a_j^{(j)}\)称为第j层中的第i个单元,矩阵\(\Theta^{(j)}\)描述的是第j层到第j+1层权重。下图反应了仅包含一个隐藏层的情况:
每个节点的”激励“(activation)按照一下计算:

这就是说,我们使用3×4的参数矩阵来计算激活节点。 我们将每行参数应用到我们的输入,以获得一个激活节点的值。 我们的假设输出是应用于激活节点的值之和的逻辑函数,它们已经乘以包含第二层节点权重的另一个参数矩阵\(\Theta^{(2)}\)。
对于权重矩阵的维度:
如果网络在层j + 1中有和\(s_{j+1}\)单元,层j中具有\(s_j\)单元,则\(\Theta^{(j)}\)将为尺寸\(s_{j+1}\)×(\(s_j\) + 1)。
如:在第一层有2个输入单元,第二层有4个激励点,那么权重参数\(\Theta^{(1)}\)的维度为4×(2+1)=4×3。
总结如下图所示:

接下来,我们将对上述函数进行向量化实现。 我们要定义一个包含我们g函数内的参数的新变量\(z_k^{(j)}\)。 在我们前面的例子中,如果我们用变量z代替所有参数,我们将得到:

换句话说,对于层数J=2中的第k个节点,变量z有:
\(z_k^{(2)}=\Theta_{k,0}^{(1)}x_0+\Theta_{k,1}^{(1)}x_1+...\Theta_{k,n}^{(1)}x_n\)
用向量表示为:

将输入x设置为\(a^{(1)}\),有以下等式:
\(z^{(j)}=\Theta^{(j-1)}a^{(j-1)}\)
最后有:\(h_\Theta(x)=a^{(j+1)}=g(z^(j+1))\)
请注意,在最后一步中,在层j和层j + 1之间,我们的做法与我们在逻辑回归中完全一样。 在神经网络中添加所有这些中间层使我们能够更优雅地产生有趣和更复杂的非线性假设。
NN-Neural Network的更多相关文章
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1
3.Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1 http://blog.csdn.net/sunbow0 ...
- Neural Network Toolbox使用笔记1:数据拟合
http://blog.csdn.net/ljp1919/article/details/42556261 Neural Network Toolbox为各种复杂的非线性系统的建模提供多种函数和应用程 ...
- How to implement a neural network
神经网络的实践笔记 link: http://peterroelants.github.io/posts/neural_network_implementation_part01/ 1. 生成训练数据 ...
- Recurrent Neural Network(循环神经网络)
Reference: Alex Graves的[Supervised Sequence Labelling with RecurrentNeural Networks] Alex是RNN最著名变种 ...
- Deep Learning: Assuming a deep neural network is properly regulated, can adding more layers actually make the performance degrade?
Deep Learning: Assuming a deep neural network is properly regulated, can adding more layers actually ...
- Convolutional Neural Network in TensorFlow
翻译自Build a Convolutional Neural Network using Estimators TensorFlow的layer模块提供了一个轻松构建神经网络的高端API,它提供了创 ...
- 【论文阅读】Sequence to Sequence Learning with Neural Network
Sequence to Sequence Learning with NN <基于神经网络的序列到序列学习>原文google scholar下载. @author: Ilya Sutske ...
- Recurrent Neural Network[survey]
0.引言 我们发现传统的(如前向网络等)非循环的NN都是假设样本之间无依赖关系(至少时间和顺序上是无依赖关系),而许多学习任务却都涉及到处理序列数据,如image captioning,speech ...
- 【NLP】Recurrent Neural Network and Language Models
0. Overview What is language models? A time series prediction problem. It assigns a probility to a s ...
- Bilinear CNN与 Randomly Wired Neural Network
最近主要学习了两篇论文以及相关的代码. 1.Bilinear CNN 这篇论文主要是在细粒度分类上应用的,在全连接层之前,在所有的卷积计算完成之后,进行的Bilinear计算,关键的代码如下: def ...
随机推荐
- ZJOI2017 Round#2 滚粗记
在杭州的火车站的KFC餐厅里,独自一人,闲来无事,便写写这篇博客.刚刚的一个礼拜,经历了余姚的省选和杭州的数学集训,感觉有些浪,学校里现在还在上新课,我已经落下一个礼拜的文化课了,回去估计补死:最重要 ...
- Python: import vs from (module) import function(class) 的理解
Python: Import vs From (module) import function(class) 本文涉及的 Python 基本概念: Module Class import from . ...
- python selenium 元素定位(三)
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...
- Basic Sort Algorithms
1. Bubble Sort public void bubbleSort(int[] arr) { boolean swapped = true; int j = 0; int tmp; while ...
- 开涛spring3(12.4) - 零配置 之 12.4 基于Java类定义Bean配置元数据
12.4 基于Java类定义Bean配置元数据 12.4.1 概述 基于Java类定义Bean配置元数据,其实就是通过Java类定义Spring配置元数据,且直接消除XML配置文件. 基于Java ...
- Linux盘符绑定槽位
服务器下的硬盘主有机械硬盘.固态硬盘以及raid阵列,通常内核分配盘符的顺序是/dev/sda./dev/sdb- -.在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符(先分配直通的,再分配阵列) ...
- zepto源码分析系列
如果你也开发移动端web,如果你也用zepto,应该值得你看看.有问题请留言. Zepto源码分析-架构 Zepto源码分析-zepto(DOM)模块 Zepto源码分析-callbacks模块 Ze ...
- javascript常见面试题
闭包相关面试题:1. var a=0,b=0; function A(a){ A=function(b){console.log(a+b++);}; console.log(a); } A(1); A ...
- js写插件教程
<!doctype html><html lang="en"><head> <meta charset="UTF-8&qu ...
- ImageView最大高度和宽度失效解决方案
解决方案 做RecyclerView的 item 布局时,用到imageview ,可是图片按原始尺寸显示,不规范. 所以去google了一下imageview的宽高限制,就试了下maxheight/ ...