﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-毒菇求Buy-文章分类-Theory</title><link>http://www.cnitblog.com/alsan/category/132.html</link><description>Not now, when?</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 04:02:02 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 04:02:02 GMT</pubDate><ttl>60</ttl><item><title>Perceptrons</title><link>http://www.cnitblog.com/alsan/articles/423.html</link><dc:creator>毒菇求Buy</dc:creator><author>毒菇求Buy</author><pubDate>Thu, 16 Jun 2005 09:56:00 GMT</pubDate><guid>http://www.cnitblog.com/alsan/articles/423.html</guid><wfw:comment>http://www.cnitblog.com/alsan/comments/423.html</wfw:comment><comments>http://www.cnitblog.com/alsan/articles/423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/alsan/comments/commentRss/423.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/alsan/services/trackbacks/423.html</trackback:ping><description><![CDATA[<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">本文是继<A href="http://www.generation5.org/content/2000/nnintro.asp">Introduction to Neural Networks</A>的另一编，我们会看看一层及多层perceptrons概念，与及其背后所涉及的数学。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">The Perceptron</SPAN> 
<HR>

<TABLE width="100%">
<TBODY>
<TR>
<TD>
<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">一个perceptron可以想像为分类器：它可以区分不同的数据，更重要的是，可以将之前未见过的数据分类到已学会的数据组中。单层perceptron的结构相当简单。它有一些输入（input）、一个偏置（bias）、及一个输出（output）。右边的图代表了一个简单的2个输入perceptron原理图。在图的下端的两个圆圈代表了输入，黑色的方型是偏置，而顶部的员圈表示输出。每一个perceptron的输入（包括偏置），都有一个相对应的权重（weight）。perceptron就是将每个输入乘以相应的权重计算出输出。这个权重合计反馈给一个筛选函数以确定perceptron的最后输出。一个简单的perceptron的筛选函数可以是一个步进筛选： </P></TD>
<TD><IMG src="http://www.generation5.org/content/1999/images/perceptron.png" border=0> </TD></TR></TBODY></TABLE><IMG src="http://www.generation5.org/content/1999/images/pn_eq1.png"> 
<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">筛选函数的输出就是perceptron的输出。例如，如果权重合计是-2，perceptron会返回0。而合计是3，则perceptron会返回1。返回1代表perceptron被激活。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">The Delta Rule</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">不言而喻，训练perceptron时修改它的权重是非常正常的。Delta规则是一项简单的学习规则，它规定权重应该按希望值与实际值之间的差额作出修改，或：<BR><BR><IMG src="http://www.generation5.org/content/1999/images/pn_eq2.png"> </P>
<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">正如Perceptron Convergence Theorem中所说，perceptron的学习是被保证的。在定律中指出，如果一个解决方案可以在perceptron上实现，则学习规则可以在有限数目的步骤内找出它的解决方案。这条定律的证明可以在Minsky and Papert's book, Perceptrons (1989)中找到。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Perceptron Java Applet</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">At this stage, open the Generation5 <A href="javascript:popup('/jdk/demos/perceptronApplet.html',370,385)"><FONT color=#002c99>Perceptron Applet</FONT></A> and play. Try different placing groups of data in different quadrants and placing the data quite close together (or far apart). The perceptron should successfully manage to find a line that separates the two datasets apart. Now try mixing the data up and look at the error message you receive.</P>
<P>What does "linearly inseparable" mean?</P><img src ="http://www.cnitblog.com/alsan/aggbug/423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/alsan/" target="_blank">毒菇求Buy</a> 2005-06-16 17:56 <a href="http://www.cnitblog.com/alsan/articles/423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>An Introduction to Neural Networks</title><link>http://www.cnitblog.com/alsan/articles/421.html</link><dc:creator>毒菇求Buy</dc:creator><author>毒菇求Buy</author><pubDate>Thu, 16 Jun 2005 09:30:00 GMT</pubDate><guid>http://www.cnitblog.com/alsan/articles/421.html</guid><wfw:comment>http://www.cnitblog.com/alsan/comments/421.html</wfw:comment><comments>http://www.cnitblog.com/alsan/articles/421.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/alsan/comments/commentRss/421.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/alsan/services/trackbacks/421.html</trackback:ping><description><![CDATA[<SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Introduction</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">神经网络是新技术领域中的一个时尚词汇。很多人听过这个词，但很少人真正明白它是什么。本文的目的是介绍所有关于神经网络的基本包括它的功能、一般结构、相关术语、类型及其应用。<BR><BR>“神经网络”这个词实际是来自于生物学，而我们所指的神经网络正确的名称应该是“人工神经网络（ANNs）”。在本文，我会同时使用这两个互换的术语。<BR><BR>一个真正的神经网络是由数个至数十亿个被称为神经元的细胞（组成我们大脑的微小细胞）所组成，它们以不同方式连接而型成网络。人工神经网络就是尝试模拟这种生物学上的体系结构及其操作。在这里有一个难题：我们对生物学上的神经网络知道的不多！因此，不同类型之间的神经网络体系结构有很大的不同，我们所知道的只是神经元基本的结构。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">The neuron</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">虽然已经确认在我们的大脑中有大约50至500种不同的神经元，但它们大部份都是基于基本神经元的特别细胞。基本神经元包含有synapses、soma、axon及dendrites。Synapses负责神经元之间的连接，它们不是直接物理上连接的，而是它们之间有一个很小的空隙允许电子讯号从一个神经元跳到另一个神经元。然后这些电子讯号会交给soma处理及以其内部电子讯号将处理结果传递给axon。而axon会将这些讯号分发给dendrites。最后，dendrites带着这些讯号再交给其它的synapses，再继续下一个循环。<BR><BR>如同生物学上的基本神经元，人工的神经网络也有基本的神经元。每个神经元有特定数量的输入，也会为每个神经元设定权重（weight）。权重是对所输入的资料的重要性的一个指标。然后，神经元会计算出权重合计值（net value），而权重合计值就是将所有输入乘以它们的权重的合计。每个神经元都有它们各自的临界值（threshold），而当权重合计值大于临界值时，神经元会输出1。相反，则输出0。最后，输出会被传送给与该神经元连接的其它神经元继续剩余的计算。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Learning</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">正如上述所写，问题的核心是权重及临界值是该如何设定的呢？世界上有很多不同的训练方式，就如网络类型一样多。但有些比较出名的包括<A href="http://www.generation5.org/content/2000/bp.asp">back-propagation</A>, <A href="http://www.generation5.org/content/2000/perceptron.asp">delta rule</A>及Kohonen训练模式。<BR><BR>由于结构体系的不同，训练的规则也不相同，但大部份的规则可以被分为二大类别 - 监管的及非监管的。监管方式的训练规则需要“教师”告诉他们特定的输入应该作出怎样的输出。然后训练规则会调整所有需要的权重值（这是网络中是非常复杂的），而整个过程会重头开始直至数据可以被网络正确的分析出来。监管方式的训练模式包括有back-propagation及delta rule。非监管方式的规则无需教师，因为他们所产生的输出会被进一步评估。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Architecture</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">在神经网络中，遵守明确的规则一词是最“模糊不清”的。因为有太多不同种类的网络，由简单的布尔网络（Perceptrons），至复杂的自我调整网络（Kohonen），至热动态性网络模型（Boltzmann machines）！而这些，都遵守一个网络体系结构的标准。<BR><BR>一个网络包括有多个神经元“层”，输入层、隐蔽层及输出层。输入层负责接收输入及分发到隐蔽层（因为用户看不见这些层，所以见做隐蔽层）。这些隐蔽层负责所需的计算及输出结果给输出层，而用户则可以看到最终结果。现在，为免混淆，不会在这里更深入的探讨体系结构这一话题。对于不同神经网络的更多详细资料可以看<A href="http://www.generation5.org/articles.asp?Action=List&amp;Category=Articles&amp;Topic=Neural%20Networks"><FONT color=#002c99>Generation5 essays</FONT></A><BR><BR>尽管我们讨论过神经元、训练及体系结构，但我们还不清楚神经网络实际做些什么。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">The Function of ANNs</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">神经网络被设计为与图案一起工作 - 它们可以被分为分类式或联想式。分类式网络可以接受一组数，然后将其分类。例如<A href="http://www.generation5.org/content/2000/onr.asp">ONR</A>程序接受一个数字的影象而输出这个数字。或者P<A href="http://www.generation5.org/content/2000/pda32.asp">PDA32</A>程序接受一个坐标而将它分类成A类或B类（类别是由所提供的训练决定的）。更多实际用途可以看<A href="http://www.generation5.org/content/2000/app_military.asp">Applications in the Military</A>中的军事雷达，该雷达可以分别出车辆或树。<BR><BR>联想模式接受一组数而输出另一组。例如<A href="http://www.generation5.org/content/2000/hir.asp">HIR</A>程序接受一个‘脏’图像而输出一个它所学过而最接近的一个图像。联想模式更可应用于复杂的应用程序，如签名、面部、指纹识别等。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">The Ups and Downs of Neural Networks</SPAN>&nbsp; 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">神经网络在这个领域中有很多优点，使得它越来越流行。它在类型分类/识别方面非常出色。神经网络可以处理例外及不正常的输入数据，这对于很多系统都很重要（例如雷达及声波定位系统）。很多神经网络都是模仿生物神经网络的，即是他们仿照大脑的运作方式工作。神经网络也得助于神经系统科学的发展，使它可以像人类一样准确地辨别物件而有电脑的速度！前途是光明的，但现在...<BR><BR>是的，神经网络也有些不好的地方。这通常都是因为缺乏足够强大的硬件。神经网络的力量源自于以并行方式处理资讯，即是同时处理多项数据。因此，要一个串行的机器模拟并行处理是非常耗时的。<BR><BR>神经网络的另一个问题是对某一个问题构建网络所定义的条件不足 - 有太多因素需要考虑：训练的算法、体系结构、每层的神经元个数、有多少层、数据的表现等，还有其它更多因素。因此，随着时间越来越重要，大部份公司不可能负担重复的开发神经网络去有效地解决问题。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Conclusion</SPAN> 
<HR>

<P style="FONT-SIZE: 12px; FONT-FAMILY: Verdana">希望您可以通过本文对神经网络有基本的认识。<A href="http://www.generation5.org/">Generation5</A>现在有很多关于神经网络的资料可以查阅，包括文章及程序。我们有Hopfield、perceptrons（2个）网络的例子，及一些back-propagation个案研究。</P><SPAN style="FONT-SIZE: 20px; FONT-FAMILY: Verdana">Glossary</SPAN> 
<HR>

<TABLE style="FONT-SIZE: 12px; FONT-FAMILY: Verdana" width="100%">
<TBODY>
<TR>
<TD>NN</TD>
<TD>神经网络，Neural Network</TD></TR>
<TR>
<TD>ANNs</TD>
<TD>人工神经网络，Artificial Neural Networks</TD></TR>
<TR>
<TD>neurons</TD>
<TD>神经元</TD></TR>
<TR>
<TD>synapses</TD>
<TD>神经键</TD></TR>
<TR>
<TD>self-organizing networks</TD>
<TD>自我调整网络</TD></TR>
<TR>
<TD>networks modelling thermodynamic properties</TD>
<TD>热动态性网络模型</TD></TR></TBODY></TABLE><BR><BR><A href="http://www.generation5.org/content/2000/nnintro.asp">原文</A><img src ="http://www.cnitblog.com/alsan/aggbug/421.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/alsan/" target="_blank">毒菇求Buy</a> 2005-06-16 17:30 <a href="http://www.cnitblog.com/alsan/articles/421.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>