⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme2.txt

📁 这个程序是个神经网络提供学习能力的实例
💻 TXT
📖 第 1 页 / 共 2 页
字号:
  			        四.实例学习

实例:教会"神经网络"学会计算机中的“或”运算。

(注:此例指令存在 test1.cs中,你可以用loadcs指令调入)

什么是"或运算"?

"或运算"要求有两个逻辑输入值(真或假),只要两上输入值中的一个或一个以上为真,
即为真,否则为假。输出值只有一个,即"真"或"假"

如下表:

  输入1		输入2		输出
=======================================
   假		假		假
   真		假		真
   假		真		真
   真		真		真

好,我们先假设0.2为假,0.8为真,让这个“人工大脑”来学习。
(注,此模型有所有输入,输出值均只能在0-1之间,如果是其它数据
 请用正态分布函数等数学工具化为0-1之间)
Let's go:

add(回车)
Command No.1		
Mode 0.Learning 1.Process
Choose:0			"学习"选0
Data 1:0.2			输入"假"
Data 2:0.2			输入"假"
Data 3:0			不需要,输入0
Data 4:0			不需要,输入0
Supervise Data1:0.2		输入导师信号"假"
Supervise Data2:0		不需要,输入0
O.K.

.........			
不断地输入样本,共种情况四个,最后打
list(回车)

Num     Status  Data 1  Data 2  Data 3  Data 4  SData 1 SData 2
==========================================================================
 1      Learn   0.200   0.200   0.000   0.000   0.200   0.000	  假,假得假
 2      Learn   0.200   0.800   0.000   0.000   0.800   0.000	  假,真得真
 3      Learn   0.800   0.200   0.000   0.000   0.800   0.000	  真,假得真
 4      Learn   0.800   0.800   0.000   0.000   0.800   0.000	  真,真得真

run(回车)	让神经网络学习吧!

L: Time:100001  Error:1.45%     Out1:0.200680   Out2:0.017024
L: Time:127     Error:1.0%      Out1:0.785945   Out2:0.001250
L: Time:0       Error:0.01%     Out1:0.801008   Out2:0.001196
L: Time:717     Error:0.97%     Out1:0.813945   Out2:0.000335

看看结果,哇,误差率(Error rate)好大,学习次数(time)也好多再,继续学习吧...

run(回车)

L: Time:34879   Error:1.0%      Out1:0.200518   Out2:0.014133
L: Time:117     Error:0.98%     Out1:0.786038   Out2:0.000680
L: Time:42      Error:0.98%     Out1:0.786013   Out2:0.000736
L: Time:648     Error:1.0%      Out1:0.814138   Out2:0.000140

嗯,第一条命令的学习time从100001降到了34879,误差也为1%了,当然还不行......
要所有的time都为只有几百(当然越小越好),误差率都小于等于1%才行.....

run   (不断地执行学习指令,每次都有进步)
......
run
......

run   (好!执行了8,9次后,结果出来了)

L: Time:796     Error:1.0%      Out1:0.209552   Out2:0.010427
L: Time:172     Error:1.0%      Out1:0.785902   Out2:0.000505
L: Time:173     Error:1.0%      Out1:0.785903   Out2:0.000896
L: Time:244     Error:0.99%     Out1:0.814060   Out2:0.000477

不错!
下面,添加一条"处理"指令还考考"神经网络",看它学得怎么样?

add(回车)
Command No.5
Mode 0.Learning 1.Process
Choose:1		选1,处理指令
Data 1:0.2		输入假0.2
Data 2:0.8		输入真0.8
Data 3:0
Data 4:0
O.K.

list(回车)		看一看吧

Num     Status  Data 1  Data 2  Data 3  Data 4  SData 1 SData 2
==========================================================================
 1      Learn   0.200   0.200   0.000   0.000   0.200   0.000
 2      Learn   0.200   0.800   0.000   0.000   0.800   0.000
 3      Learn   0.800   0.200   0.000   0.000   0.800   0.000
 4      Learn   0.800   0.800   0.000   0.000   0.800   0.000
 5      Process 0.200   0.800   0.000   0.000   None    None   
(看,第5条是新加的处理指令,用at指令来执行它吧)

at(回车)

Input Command Num:5	(输入指令号5)
P: Out1: 0.777334       Out2: 0.000506

看!结果出来了,为out1: 0.777334 近似0.8为真!(out2的值没有用,近似为0,即无)
好了!至此,"神经网络"已经学会"与运算"了!怎么样?神奇吧!

你可以充分地发挥你自己的想像力,只要给出自变量X(最多四元),和一些正确的导师
信号Y(最多二元),此实验系统能自动推出其近似关系的!
已经有科学工作者用人工神经网络来进行股票的预测了!你有兴趣也来试试!本系统
会祝你一臂之力的!

-----------------
如何存放学习结果?
-----------------

   学习完后,打savebn指令:

Input Brain filename:aaa.bn		输入要存放的"人工神经网络"的文件名
					此例中存为aaa.bn
CopyRight Information:Made By Tom 2001	输入你自己的信息
Brain saved!			
O.K.

好了,这样就ok了!学会了吗?

===============================================================================

				五.实用程序cal2的使用

cal2是一个计算工具,你给出已经完成的"神经网络"文件,它就能快速计算了,十分方便。

其在操作系统下的运行格式为:

cal2.exe [bp文件名]


例:就以上述的"与运算"存的"人工神经网络",aaa.bn为例吧

C>cal2 aaa.bn		(dos下键入 cal2.exe [bp文件名])
===============================================
        Neural Network Test System Version 1.0
                     Calculate Tools
===============  Shen Qi, USST , China 2001  ==
[Well Trained Brain Copyright Information]
  Made By Tom 2001	(显示此人工神经网络的相关信息)


Data 1:0.2		(输入假 0.2)
Data 2:0.2		(输入假 0.2)
Data 3:0
Data 4:0
P: Out1: 0.228821       Out2: 0.009963
   (输出为假 近似0.2)

C>(回到dos)

怎么样?会了吗?
---------------------------------------------------------------------------------

				   六.后   记

    这是我做的第二个"人工神经网络"实验系统模型,可以说,这第二个系统比第一个系统
要成熟得多。当然,它们的功能是各异的。第一个阿尔法版,可用于进行智能分类识别。而
本系统贝吉塔塔可用来自动推导x->y的近似函数。
    有朋友来信问我,如何才能开始学习"人工智能"?我想,这是一个很普遍的问题。在此,
我想说的是,人工智能的学习必需有许多前修的基础课程作基础。主要都是涉及计算机科学
与数学的课程,例如:《高等数学》,《线性代数》,《离散数学》,《数据结构》,
《图论》,学包括《线性规划》《动态规划》等。这些都是很基础的,且不得不学的内容。
    当我在写此稿的时候,此"人工神经网络实验系统"系列的第3款已经在研制中了,它将
会把"遗传算法"溶入到BP算法中,给工程项目中的最优化系数求解等广泛领域提供强有利的
科学推断的实验手段。敬请期待。
    最后,我想说,由于我个人学识水平的限制(我刚完成大学一年级的学习)。尽管我已做
出了较大的努力,但还有些错误或不足的地方,请这此领域从事研究的专家前辈给于指点。
不胜感激!

								    沈琦
								  2001.7.13

作者联系方式:

E-mail: shenqi@shenqisoft.com

我开的<人工智能>的网站:

http://www.shenqisoft.com/ai/

===================================================================================
~~~~~~~我思故我在~~~~~~~我思故我在~~~~~~~我思故我在~~~~~~~我思故我在~~~~~~~我思
故我在~~~~~~~我思故我在~~~~~~~我思故我在~~~~~~~我思故我在~~~~~~~我思故我在~~~~~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -