如何选择神经网络的architecture

input units和output units都很好决定,关于hidden layer的层数,则一般来说是选择一个hidden layer, 或者>1的hidden layer,但是每个hidden layer都有相同的units.通常来说hidden layer的units的数目是input units--3/4*input units之间,比input units稍微多一点。

如果是多分类的问题,则y的值如上图所示是一个向量,而不是logistic regression问题中的一个正数。

Trainning a neural network

weights是接近于0的随机数。

我们用一个for循环,对第一个样本进行forward propagation和backpropagation,再对第二个样本进行forward propagation和backpropagation直到最后一个样本。这样我们就得到了a(l)和δ(l),接下来我们可以计算Δ(l),对Δ(l)进行累加(可详见前面的介绍),这个Δ(l)累加完成后在循环外面用来计算偏导.

back propagation算法是用来计算J(Θ)的偏导的,这样可以用来求J(Θ)的最小值。

在神经网络中,J(Θ)是non-convex函数,即我们求的最小值只是局部最优解,不是全局的,但是这并没有关系,因为gradient descent以及一些advanced optimization method求得的最小值已经很好了。

求最优点的图

上面这个图只画出了两个参数的情况,实际上我们有很多个参数,但是为了能画出图像的目的,这里只是给出两个参数的图像做为例子。

左下角的那个点对应的J(Θ)的值很小,即对我们的训练数据进行了很好的模拟。右上角的那个点对应的J(Θ)的值较大,即hΘ(x(i))远离y(i).

当我们做梯度下降算法时,先从某一点开始,由back propagation来决定下降的方向,这样一步步下降接近局部最优解。

神经网络(14)--具体实现:put it together的更多相关文章

  1. 机器学习公开课笔记(4):神经网络(Neural Network)——表示

    动机(Motivation) 对于非线性分类问题,如果用多元线性回归进行分类,需要构造许多高次项,导致特征特多学习参数过多,从而复杂度太高. 神经网络(Neural Network) 一个简单的神经网 ...

  2. 论文翻译:Data mining with big data

    原文: Wu X, Zhu X, Wu G Q, et al. Data mining with big data[J]. IEEE transactions on knowledge and dat ...

  3. Improved robustness of reinforcement learning policies upon conversion to spiking neuronal network platforms applied to Atari Breakout game

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1903.11012v3 [cs.LG] 19 Aug 2019 Neural Networks, 25 November 2 ...

  4. 机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)

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

  5. Stanford CS231n实践笔记(课时14卷积神经网络详解 上)

    本课我们主要来研究一个"浏览器中的卷积神经网络" 这只是一个展示项目,但是能够帮助直观地看到一些东西 地址:https://cs.stanford.edu/people/karpa ...

  6. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  7. Python图像处理(14):神经网络分类器

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在opencv中支持神经网络分类器.本文尝试在python中调用它. 和前面的贝叶斯分类器一样.神 ...

  8. BP神经网络原理及python实现

    [废话外传]:终于要讲神经网络了,这个让我踏进机器学习大门,让我读研,改变我人生命运的四个字!话说那么一天,我在乱点百度,看到了这样的内容: 看到这么高大上,这么牛逼的定义,怎么能不让我这个技术宅男心 ...

  9. 转--脉络清晰的BP神经网络讲解,赞

    http://www.cnblogs.com/wengzilin/archive/2013/04/24/3041019.html 学 习是神经网络一种最重要也最令人注目的特点.在神经网络的发展进程中, ...

随机推荐

  1. Oracle current redo.log出现坏块后的不完全恢复案例一则

    1异常出现      8月30日下午2时左右,接同事电话,说数据库异常宕机了,现在启动不了. 2初步分析 我让现场把alert.log发过来,先看看是什么问题.   关于ORA-00353和ORA-0 ...

  2. 深度解析qml引擎---(1)Qml文件加载

                                                                        "美的事物是永恒的喜悦" --- 济慈    ...

  3. 基于全志a33-vstar开发板的ap6210WiFi模块移植

    可以去链接看更详细的,第一次用博客,这个编辑方式太不友好了. 文档:全志a33--系统移植--ap6210WiFi模块移?..链接:http://note.youdao.com/noteshare?i ...

  4. Goroutines和线程对比

    目录 栈不同 调度不同 GOMAXPROCS Goroutine没有ID号 栈不同 线程:每一个OS线程都有一个固定大小的内存块(一般会是2MB)来做栈,这个栈会用来存储当前正在被调用或挂起(指在调用 ...

  5. shell中通过eval执行一个字符串命令

    #!/bin/bash echo "Switch Directory : /home/pktgen-2.9.0" dir="/home/pktgen-2.9.0" ...

  6. go 疑难杂症

    func Test_doSeond(t *testing.T) { msg := make([]Msg, 0) for i := 0; i < 5; i++ { m := Msg{ data: ...

  7. 在KubeSphere中部署Kubeapps

    1. 情况说明 使用一台VMWare Workstation虚拟机,4核8G内存,50G磁盘 已安装KubeSphere 2.1 版本,已经按照官方文档的入门必读,示例一创建好相应的账号信息等 Kub ...

  8. logback 生成 catalina.base_IS_UNDEFINED 问题处理 &如何在eclipse/idea中添加VM参数

    1>在Eclipse中里设置  windows->preferences->Java->Installed JRES->edit->Default VM Argum ...

  9. Python之TensorFlow的卷积神经网络-5

    一.卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度 ...

  10. vue刷新页面出现闪烁

    在容器里添加v-cloak <div class="box" id="call-no-list" v-cloak></div> 然后在c ...