(13) 运行代码Neuron_Network_Entry.py

(13) 运行代码Neuron_Network_Entry.py

接下来,我们从零起步在框架中编码实现Forward  Propagation功能,将新增ForwardPropagation.py代码,实现的目录结构代码如图所示:

www.zeeklog.com  - (13) 运行代码Neuron_Network_Entry.py


图 2- 5 Create_AI_Framework_In5Classes(Day2)

先运行一下上一节Neuron_Network_Entry.py的代码,当隐藏层hidden_layers = [8,4,2]时,运行结果如下:

+1      V1      V2      

以上运行结果创建了3个隐藏层,第1个隐藏层有8个神经元, N[i][j]中第1列的索引代表是第i个隐藏层,第2列的索引代表神经元具体的索引j,第2个隐藏层有4个神经元,第3个隐藏层有2个神经元。这个和Tensorfow的可视化图中的第1个隐藏层有8个神经元,第2个隐藏层有4个神经元,第3个隐藏层有2个神经元是完全一样的。 Tensorfow的输入层有2个神经元,而我们这里的输入也是2个神经元,根据instances第一列的数据和第二列的数据得出第3列的数据,Exclusive OR计算只有第一个元素和第二个元素不同的时候,结果才是1,第一个元素和第二个元素相同的时候,结果为0。这个数据是我们输入系统的,但系统并不知道要进行Exclusive OR的计算,我们进行神经网络的训练,就是让系统清楚的预测到第1列、第2列的某种关系,得出第3列到底是0还是1。读者可能认为这里只有4行数据,实际环境中可能有上TB的数据,但是系统的精髓都是一样的,上百万条数据、上亿条数据理解和这个是完全一样的。

这个数据是我们输入系统的,但系统并不知道要进行Exclusive OR的计算,我们进行神经网络的训练,就是让系统清楚的预测到第1列、第2列的某种关系,得出第3列到底是0还是1。读者可能认为这里只有4行数据,实际环境中可能有上TB的数据,但是系统的精髓都是一样的,上百万条数据、上亿条数据理解和这个是完全一样的。根据第1列、第2列的某种关系,得出第3列,开始是训练,训练的时候有误差,然后调整误差,调整误差是Back Propagation的过程,看看预测的值和实际的值是否一致,误差有多大,BackPropagation是从后向前推,看哪些因素导致了误差以及误差的程度,下一次将表现的更好。BackPropagation将在后续章节讲解。这一节讲解Forward  Propagation的过程,从输入层的2个Feature出发,到第一个隐藏层的8个神经元,再到第二个隐藏层的4个神经元,再到第三个隐藏层的2个神经元,最后得出输出层的1个神经元,这个过程和Tensorflow的可视化图中的过程是完全一样的。

All the data are the same,所有的数据都是没有区别的。如果能处理0,1,2,3,4,5,6,7,8,9的数字,就能处理图片、音频、视频的数据,它们没有区别。声音、图片的处理也是类似转换为0,1,2,3,4,5,6,7,8,9的数字处理,图片转变是通过CNN处理,CNN的核心是处理图片的时候,将其变成最基本的数据。数据是没有区别的。

接下来编写代码,我们的目标是从输入层Input Layer出发,经过所有的隐藏层Hidden Layers的处理,最终得出输出层Output Layer的结果。我们需迈开第一步,虽然走的是一小步,但这一小步是我们人工智能领域的一大步, 因为我们将完成Forward Propagation的功能。


欢迎关注微信公众号:“从零起步学习人工智能”。

www.zeeklog.com  - (13) 运行代码Neuron_Network_Entry.py

喜欢我们发布的信息,就在右下角点一下“在看”吧!欢迎转发分享!

Read more

LeetCode_p150_逆波兰表达式计算/后缀表达式计算

LeetCode_p150_逆波兰表达式计算/后缀表达式计算

有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: * 整数除法只保留整数部分。 * 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["2", "1", "+", "3", "*"] 输出: 9 解释: ((2 + 1) * 3) = 9 示例 2: 输入: ["4", "13", "5", "/", "+"

By Ne0inhk
FastJson学习操作文档

FastJson学习操作文档

1.常见操作和方法 1.1 对象之间的转化 // String对象到JSONObject对象 JSONObject dataJson = JSONObject.parseObject(data); //String对象到JSONArray对象 JSONArray dataList = JSONObject.parseArray(data); 2.操作实例 2.1 实例1 /** * 操作list格式的Json对象 */ @Test public void operateJsonList() throws Exception{ //读取数据 File file = new File("src/main/java/fastjson/data/JsonData.json"); String data = FileUtils.readFileToString(file, "UTF-8&

By Ne0inhk
MySQL性能优化神器—explain

MySQL性能优化神器—explain

一、explain是什么? 简单来讲就是官方给的一个优化工具,直接在你的SQL语句前加上explain,执行整条语句,之后你就可以根据执行结果优化你的SQL啦,废话不多说,直接刚实例 测试实例 1、创建测试表 1. CREATE TABLE `sql_explain_student` ( 1. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', 1. `name` varchar(30) DEFAULT NULL COMMENT '学生名字', 1. `age` int(11) DEFAULT NULL COMMENT '学生年龄', 1.

By Ne0inhk