体验DNN演示平台《A Neural Network Playground》(一)
0 本次博客内容简介
本次博客标(一),是因为我自知有些地方还是不理解。本篇博客仅暂时记录第一次玩 A Neural Network Playground的体验,如果后面有了进一步体会,会更新新的内容的。
地址是: A Neural Network Playground
现在说一下目前我个人体验。
1 我已经了解的地方
(1)线的粗细代表相应的神经元的权重。线越粗,代表连线左边的神经元的地位越重要,它输出的激活值将占据连线右边神经元接收的总激活值中的绝大部分。
(2)每一个神经元上面的图案代表该神经元输出了什么,这相当于单个神经元输出激活值可视化吧。当这些被输出的不同激活值按照不同比重被一层一层叠加起来,最终在output层将输出我们想要的结果。
(3)右上角的函数曲线分别绘出了训练集和测试集在当前网络下的损失loss,可以通过观察这幅图来判断到底误差函数能不能收敛。
(4)对于分类实验,数据集有四种(如左上角);对于回归实验,数据集有两种(图中未画出)。想切换“分类”和“回归”模式,见上方“Problem Type”。
(5)对于激活函数,有四种可供选择,可以是tanh,也可以是我们所熟悉的sigmoid。切换见上方“Activation”。
(6)神经网络的层数、每一层的神经元个数都是可以任意变更的,可以随便玩。
(7)在左侧“Ratio of training to test data”可以调训练集和测试集的比重,在右侧结果输出中,默认显示的是训练集的点,如果我们想查看测试集的点是否正确落在分类后的区域中,在下方把“Show Test Data”的勾打上,这样测试集的点就出来了,如图,这里我给出的是“训练集:测试集=1:9”的情况,有黑色边框的这些点都是测试集的点,有白色边框的点则是训练集的点:
2 我还不了解的地方
(1)最大的问题在于input中那几个神经元的选择。
通过实验可以发现,如果选择其中一个或两个,则很可能最终导致误差函数不收敛;如果把七个input层的神经元全部选中,则最终的结果95%能收敛。
但是这些输入层的神经元代表什么呢?为什么输入层会出现sinx,x2这些函数呢?难不成意思是对于输入的数据首先要代入sinx和x2,然后才输入网络吗?这样做有什么好处?
(2)在本playground中,权值w用线的粗细已经说明,不过偏置b没有提及。
是否意味着没有偏置,或者偏置在里面不再重要?
(3)不明白神经网络如何用于回归(regression),这个也是接下来我应该重点研究的内容。
(4)不明白regularization是什么,是否是大家口中的“正则化”?正则化具体又该怎么用呢?
3 总结
该平台可以随意点击随意调,相当于“玩神经网络”,给人以最直观的“随着迭代次数(iteration)增加,误差(loss)逐步减小,分类结果逐渐浮现”的体验。
2016-05-08
by 悠望南山
体验DNN演示平台《A Neural Network Playground》(一)的更多相关文章
- 论文翻译:2020_RESIDUAL ACOUSTIC ECHO SUPPRESSION BASED ON EFFICIENT MULTI-TASK CONVOLUTIONAL NEURAL NETWORK
论文翻译:https://arxiv.53yu.com/abs/2009.13931 基于高效多任务卷积神经网络的残余回声抑制 摘要 在语音通信系统中,回声会降低用户体验,需要对其进行彻底抑制.提出了 ...
- 《Neural Network and Deep Learning》_chapter4
<Neural Network and Deep Learning>_chapter4: A visual proof that neural nets can compute any f ...
- How to implement a neural network
神经网络的实践笔记 link: http://peterroelants.github.io/posts/neural_network_implementation_part01/ 1. 生成训练数据 ...
- 【论文阅读】Sequence to Sequence Learning with Neural Network
Sequence to Sequence Learning with NN <基于神经网络的序列到序列学习>原文google scholar下载. @author: Ilya Sutske ...
- 通过Visualizing Representations来理解Deep Learning、Neural network、以及输入样本自身的高维空间结构
catalogue . 引言 . Neural Networks Transform Space - 神经网络内部的空间结构 . Understand the data itself by visua ...
- 计算机视觉学习记录 - Implementing a Neural Network from Scratch - An Introduction
0 - 学习目标 我们将实现一个简单的3层神经网络,我们不会仔细推到所需要的数学公式,但我们会给出我们这样做的直观解释.注意,此次代码并不能达到非常好的效果,可以自己进一步调整或者完成课后练习来进行改 ...
- 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior
[论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...
- Sony深度学习框架 - Neural Network Console - 教程(1)- 原来深度学习可以如此简单
“什么情况!?居然不是黑色背景+白色文字的命令行.对,今天要介绍的是一个拥有白嫩的用户界面的深度学习框架.” 人工智能.神经网络.深度学习,这些概念近年已经涌入每个人的生活中,我想很多人早就按捺不住想 ...
- [Python Debug]Kernel Crash While Running Neural Network with Keras|Jupyter Notebook运行Keras服务器宕机原因及解决方法
最近做Machine Learning作业,要在Jupyter Notebook上用Keras搭建Neural Network.结果连最简单的一层神经网络都运行不了,更奇怪的是我先用iris数据集跑了 ...
随机推荐
- Java高级特性—消息队列
1)什么是jms JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API. 它便于消息系统中的Java应用程序进行消息 ...
- HTTP请求和响应2:方法(Method)
方法表明了client希望server对资源运行的动作.经常使用的方法包含:GET.HEAD.POST.PUT.TRACE.OPTIONS和DELETE,每一个server能够实现这些方法中的部分或者 ...
- Node.js 读取博客首页并获得文章标题
app.js // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require(' ...
- Win7如何配置java环境变量,运行环境
直接运行eclipse,弹出错误提示. 1 确保你安装了JDK,安装之后文件夹示例如下(jdk1.x.x取决于你安装的JDK版本) 2 系统,高级系统设置,高级,环境变量新建一个JAVA_HO ...
- @classmethod, @staticmethod和@property这三个装饰器的使用对象是在类中定义的函数。下面的例子展示了它们的用法和行为:
class MyClass(object): def __init__(self): self._some_property = "properties are nice" sel ...
- Jscript 随记
1.Jscript 不能用来编写独立执行的应用程序,而且没有对读写文件的内置支持. 2.注意,语句块中的原始语句以分号结束.但语句块本身并不以分号结束. 3.注意,Jscript 与 C++ 以及其它 ...
- Ant 风格路径表达式
ANT通配符有三种: 通配符 说明 ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 例子: URL路径 说明 /app/*.x 匹配(Matches)所有在app路径下的 ...
- Android RxJava使用介绍(四) RxJava的操作符
本篇文章继续介绍下面类型的操作符 Combining Observables(Observable的组合操作符) Error Handling Operators(Observable的错误处理操作符 ...
- [腾讯 TMQ] 零基础学习 Fiddler 抓包改包
本文转载于https://testerhome.com/topics/7159 一.Fiddler1.1.简介Fiddler是一款HTTP协议调试代理工具,它能够抓取记录本机所有HTTP(S)请求,通 ...
- dispatch_after中时间的计算
dispatch_after中用的时间是纳秒,所以需要进行转换:desDelayInSeconds(目标时间,比如2s)* NSEC_PER_SEC double delayInSeconds = 0 ...