【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络
第二课 传统神经网络

《深度学习》整体结构:
线性回归 -> 神经网络 -> 卷积神经网络(CNN)-> 循环神经网络(RNN)- LSTM
目标分类(人脸识别,物品识别,场景识别,文字识别),目标检测(安防,自动驾驶),视频分类(视频检索),语句生成(自动翻译,智能对话)

提纲:
1. 神经网络起源:线性回归
2. 从线性到非线性
3. 神经网络的构建
4. 神经网络的“配件”

期待目标:
1. 了解从线性到非线性回归的转化
2. 明白如何构建神经网络,了解不同激励函数的区别联系
3. 掌握“配件”对神经网络性能的影响(损失函数 Cost,学习率 Learning Rate,动量,过拟合),会“调参”
4. 明白本节所有的“面试题”


线性回归:
1. 概念:线性关系来描述输入到输出的映射关系
2. 应用场景:网络分析,银行风险分析,基金股价预测,天气预报

线性回归:
一个线性回归问题
目标方程:y = ax1 + bx2 + cx3 + d
参数: m = [a, b, c, d]
数据:[(x1,1, x2,1,x3,1), (), (), ()]
预测:yt = ax1,t + bx2,t + cx3,t + d
目标:minimize (yt - yt)
总结:线性函数是一维函数,y = ax1 + bx2 + cx3 + d
现在要计算最佳参数 m = [a, b, c, d]
给定数据,计算出预测值,预测值与真实值计算Cost,当Cost最小的时候计算出 m = [a, b, c, d]

优化方法:梯度下降法
模型参数
当前 m0 = [a0, b0, c0, d0]
每一步 m?
参数 m = [a, b, c, d]

梯度下降:梯度计算
Loss = ax1 + bx2 + cx3 + d -y
梯度下降:参数更新

梯度下降法总结:
1. 随机初始化参数
开启循环 t= 0, 1, 2
带入数据求出结果 yt
与真值比较得到loss = y - yt
对各个变量求导得到 m
更新变量 m



线性回归的局限性:线性回归能够清楚的描述分割线性分布的数据,对非线性分布的数据描述较弱


非线性激励
考量标准:
1. 正向对输入的调整
2. 反向梯度损失












神经网络构建
神经元的“并联”和“串联”
从第一层神经网络到最终输出,每一个神经元的数值由前一层神经元数值,神经元参数W,b以及激励函数共同决定第n+1层,第k个神经元的方程,可由公式表示为:
在这里,m表示第n层神经网络的宽度,n为当前神经网络的深度
并联:深度,串联:宽度



MINIST 神经网络分类:
course_2_tf_nn.py
结构变化影响:
1. “并联”宽度影响
2. “串联”层数影响
3. Dropout
4. Learning rate


1. 损失函数 - Loss
影响深度学习性能最重要因素之一。是外部世界对神经网络模型训练的直接指导。
合适的损失函数能够确保深度学习模型收敛
设计合适的损失函数是研究工作的主要内容之一















总结:
1. 神经网络起源:线性回归
2. 从线性到非线性
3. 神经网络的构建
4. 神经网络的“配件”
下节课预告:链式规则反向求导,SGD优化原理,卷积神经网络(CNN)各个layers介绍
第二节课的代码
https://github.com/wiibrew/DeepLearningCourseCodes/blob/master/course_2_tf_nn.py
https://github.com/wiibrew/DeepLearningCourseCodes/blob/master/course_2_tf_nn.ipynb
具体通过TensorFlow构建神经网络的过程,通过Pycharm和 Python Notebook来完成实验,调参还部署很熟练。




TensorFlow 对数据进行简单的可视化实验:
http://playground.tensorflow.org/

【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络的更多相关文章
- 【原创 深度学习与TensorFlow 动手实践系列 - 4】第四课:卷积神经网络 - 高级篇
[原创 深度学习与TensorFlow 动手实践系列 - 4]第四课:卷积神经网络 - 高级篇 提纲: 1. AlexNet:现代神经网络起源 2. VGG:AlexNet增强版 3. GoogleN ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇
[原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 1】第一课:深度学习总体介绍
最近一直在研究机器学习,看过两本机器学习的书,然后又看到深度学习,对深度学习产生了浓厚的兴趣,希望短时间内可以做到深度学习的入门和实践,因此写一个深度学习系列吧,通过实践来掌握<深度学习> ...
- 分享《机器学习实战基于Scikit-Learn和TensorFlow》中英文PDF源代码+《深度学习之TensorFlow入门原理与进阶实战》PDF+源代码
下载:https://pan.baidu.com/s/1qKaDd9PSUUGbBQNB3tkDzw <机器学习实战:基于Scikit-Learn和TensorFlow>高清中文版PDF+ ...
- 深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装
一.硬件采购 近年来,人工智能AI越来越多被人们所了解,尤其是AlphaGo的人机围棋大战之后,机器学习的热潮也随之高涨.最近,公司采购了几批设备,通过深度学习(TensorFlow)来研究金融行业相 ...
- ML平台_微博深度学习平台架构和实践
( 转载至: http://www.36dsj.com/archives/98977) 随着人工神经网络算法的成熟.GPU计算能力的提升,深度学习在众多领域都取得了重大突破.本文介绍了微博引入深度学 ...
- 深度学习之TensorFlow构建神经网络层
深度学习之TensorFlow构建神经网络层 基本法 深度神经网络是一个多层次的网络模型,包含了:输入层,隐藏层和输出层,其中隐藏层是最重要也是深度最多的,通过TensorFlow,python代码可 ...
- 深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3
紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把N ...
- 深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动
前几天把刚拿到了2台GPU机器组装好了,也写了篇硬件配置清单的文章——<深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装>.这两台也在安装Ubuntu 16.04和108 ...
随机推荐
- shiro学习总结(一)----初识shiro
本系列内容大多总结自官网和张开涛的<跟我学Shiro> 一.shiro简介 1.1.shiro有什么用? shiro是一个功能强大使用简单的java安全框架,主要提供了五大功能: 1.认证 ...
- linux 学习笔记 groupadd创建组
1> groupadd -g test2 2>usermod -d /home/test -G test2 test 3>su user 4>groups 注意:root用户才 ...
- 2018-6-20-随笔-SQL Server中乱码
SQL Server中乱码解决方案: 在Sql Server2005英文版中,如果未对Varchar类型的字段进行设置,那么很多朋友会发现向数据库中插入记录时,如果对应的varchar类型字段 的值为 ...
- git从其他分支提取文件merge到当前分支
git checkout A -- [a.go b.go]将A分支中的a.go, b.go两文件合并到当前分支注意:会将当前分支的对应文件强行覆盖
- 05 树莓派安装飞鸽传书 Iptux
2017-08-22 14:47:06 进入页面:https://packages.debian.org/search?keywords=iptux 选择“stretch (stable) ”—— ...
- C++学习笔记54:关联容器,函数对象
关联容器的特点 1.每个关联容器都有一个键(key) 2.可以根据键高效查找元素 集合set 集合用来存储一组无重复的元素,由于集合的元素本身是有序的,可以高效地查找元素,也可以方便地指定大小范围的元 ...
- 2017.08.06【NOIP提高组】模拟赛B组
Summary 今天的比赛60+100+100=260分,没有想到第一题正解是搜索,我与AK差一段距离,这段距离,叫倒着搜.总的来说不是很难. Problem T1 天平 题目大意 给你N个排序好的砝 ...
- Linux命令第二篇
作业二: 1) 在用户的主目录下创建目录test,进入test创建空文件file1 # ls /home/test file 2) 以长格式形式显示文件信息,注意文件的权限和所属用户和组 # ...
- python标准库大全(转)
3. 清晰的标准库大全,带例子 2. 必会标准库 http://lizhenliang.blog.51cto.com/7876557/1872538 1. 标准库大全,链接版 http://blog. ...
- Hibernate(2)映射文件Xxx-hbm.xml
1.Hibernate映射文件Xxx-hbm.xml ①POJO 类和关系数据库之间的映射可以用一个XML文档来定义.通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间 ...