第一节课(系列七):Neuron_Network_Entry编码

第一节课(系列七):Neuron_Network_Entry编码


接下来我们在入口程序Neuron_Network_Entry.py中调用NetworkStructure.py的方法,之前我们提到输入数据的问题,为了方便读者学习,这里使用二维数组硬编码,二维数组的第一个成员是[0,0,0],二维数组的第二个成员是[0,1,1],二维数组的第三个成员是[1,0,1],二维数组的第四个成员是[1,1,0]。二维数组有4行3列,其特征是什么?二维数组的四行成员,它的第一列、第二列数字如果不同,第三列为1;它的第一列、第二列数字如果相同,第三列为0,这是我们观察的规律,其实就是逻辑运算中的异或操作(Exclusive OR),机器应该可以预测这个规律,可以预测数据是0还是1,只有第一个元素和第二个元素不同的时候,结果才是1,否则为0。这里的数据只有2列,当然也可以是200列,可从数据中关联出某种关系,基于这种关系推断出结果是0还是1。第1列和第2列是2个Feature,第3列是结果。

那么输入数据中有多少个输入特征Features?就是除了结果列的其他列的列数,这里第1列和第2列线性无关。可以计算instances的第0行的长度是3,但是它的Features是2个,在这里是只有第一列和第二列是features,第三列是根据某种关系(数学公式或者某种运算法则)而得出的结果。

我们设置隐藏层的hidden_layers为 [4,2],在NetworkStructure.py隐藏层的节点构建中,在外层循环会循环hidden_layers的长度,计算它有多少个元素。例如,TensorFlow的可视化图中,第一层隐藏层的神经元有4个节点,第二层隐藏层神经元有2个节点。在Neuron_Network_Entry.py中对hidden_layers =[4,2]硬编码(hardcode)为两个隐藏层(Hiddenlayer),第一个隐藏层(Hidden Layer)有4个神经元(Neuron),第二个隐藏层(Hidden Layer)有2个神经元(Neuron)。

这个时候参数num_of_features、hidden_layers已经定义好了,我们将参数传入到NetworkStructure.py的NetworkStructure.create_nodes中。这里有个小作业题:Python中的方法带self、与不带self的区别?没有加self是静态方法,可以直接调用;如果加上self,必须new出来创建一个实例,然后调用。


(1)   带self,要创建一个实例来调用方法。例如:

class Node:


(2)   不带self,直接调用这个方法。例如:

class NetworkStructure:    


至此,已经编写的Create_AI_Framework_In5Classes(Class1)的Neuron_Network_Entry.py(v1)的代码:

# -*- coding: utf-8 -*-




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

www.zeeklog.com  - 第一节课(系列七):Neuron_Network_Entry编码

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

Read more

Python条件语句详解——《跟老吕学Python编程》附录资料

Python条件语句详解——《跟老吕学Python编程》附录资料

Python条件语句详解——《跟老吕学Python编程》附录资料 * * Python条件语句详解 在Python编程语言中,条件语句是一种强大的控制流工具,它允许程序根据特定的条件执行不同的代码块。Python的条件语句主要基于if,elif(else if),和else关键字。下面我们将对这些关键字及其用法进行详细的解释。 if 语句 if语句用于检查一个条件是否为真。如果条件为真(即非零或非空),则执行紧随其后的代码块。如果条件为假(即零或空),则跳过该代码块并继续执行if语句之后的代码。 x = 10 if x > 5: print("x is greater than 5") print("This will always be printed") 在上面的例子中,因为x确实大于5,所以条件为真,将打印出"x

By Ne0inhk
Python循环语句详解——《跟老吕学Python编程》附录资料

Python循环语句详解——《跟老吕学Python编程》附录资料

Python循环语句详解——《跟老吕学Python编程》附录资料 * * * Python循环语句详解 在Python编程中,循环语句是用来重复执行某段代码块的重要工具。Python提供了几种不同类型的循环结构,包括for循环和while循环。这两种循环类型在大多数编程场景中都能找到应用,它们各自有其独特的用法和优势。 for循环 在Python编程语言中,循环语句是用来重复执行某段代码块直到满足某个条件为止的重要工具。for循环是其中最为基础和常用的循环语句之一。它用于遍历序列(如列表、元组、字符串等)或其他可迭代对象(如集合、字典、文件对象等)的元素,并对每个元素执行相应的操作。 for循环的基本语法 for循环的基本语法如下: for 变量名 in 可迭代对象: # 循环体:要重复执行的代码块 pass 在每次循环中,变量名会被赋值为可迭代对象的下一个元素,然后执行循环体内的代码。当可迭代对象中的所有元素都被遍历过后,循环结束。 for循环的示例 以下是一个简单的for循环示例,用于遍历一个列表并打印每个元素: fr

By Ne0inhk
Python异常处理详解——《跟老吕学Python编程》附录资料

Python异常处理详解——《跟老吕学Python编程》附录资料

Python异常处理详解——《跟老吕学Python编程》附录资料 * * Python异常处理 Python异常处理是编程中非常重要的一部分,它允许我们在程序出错时捕获并处理异常,避免程序崩溃。在Python中,异常处理主要通过try、except和finally语句块来实现。 * try语句块 try语句块用于包含可能引发异常的代码。当try语句块中的代码执行时,如果发生任何异常,Python解释器会立即停止当前代码块的执行,并查找相应的except语句块来处理该异常。 * except语句块 except语句块用于捕获和处理try语句块中抛出的异常。你可以指定要捕获的异常类型,并在except语句块中编写处理该异常的代码。如果try语句块中的代码抛出了多个不同类型的异常,你可以使用多个except语句块来分别处理它们。 * finally语句块 finally语句块是可选的,它包含的代码无论是否发生异常都会执行。这通常用于释放资源、关闭文件或执行其他清理操作。 首先,我们使用try语句块来包含可能引发异常的代码。如果在try语句块中的代码执

By Ne0inhk
Python函数定义与调用详解——《跟老吕学Python编程》附录资料

Python函数定义与调用详解——《跟老吕学Python编程》附录资料

Python函数定义与调用详解——《跟老吕学Python编程》附录资料 * * Python函数定义与调用详解 在Python编程中,函数是一种可重用的代码块,用于执行特定的任务。函数可以接受输入(称为参数)并返回输出(称为返回值)。通过定义和调用函数,我们可以使代码更加模块化、可读性和可维护性更高。 Python函数定义 在Python编程中,函数定义是组织代码和执行特定任务的基础。通过定义函数,我们可以将一段逻辑代码封装起来,使其具有特定的功能,并在需要时多次调用。函数不仅可以提高代码的可读性和可维护性,还能提高代码的执行效率。 函数定义的基本语法如下: def function_name(parameters): """This is a docstring, which provides documentation for the function.""" # 函数体,包含执行任务的代码 return result # 返回函数执行的结果 其中,

By Ne0inhk