神经网络的基本原理

神经网络的基本原理是:每个神经元把最初的输入值乘以一定的权重,并加上其他输入到这个神经元里的值(并结合其他信息值),最后算出一个总和,再经过神经元的偏差调整,最后用激励函数把输出值标准化。基本上,神经网络是由一层一层的不同的计算单位连接起来的。我们把计算单位称为神经元,这些网络可以把数据处理分类,就是我们要的输出。

 

 

如果网络做出错误的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图像模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算。

 

 

得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能做出正确的判断。

 

 

神经网络

 

 

神经网络是一种重要的机器学习算法,可以用于分类、聚类等多种任务。与其他传统算法不同,神经网络回归得到的模型是一个黑盒子,没有现实的公式或代数表达,但是凭借其复杂的结构,学习效果往往更优。

 

 

与其他模型求解问题一样,训练神经网络,是一个最优化问题,即找到让模型效果最好的哪些参数。为了解决这个问题,传统算法有的通过数学解析计算理论最优,有的通过启发式算法搜索效果最好。神经网络的做法,是前向传播和反向传递的组合。

 

 

前向传播,是将输入值(观测值)经过一层层的计算(包括线性计算和非线性激活)得到输出值的预测值的过程。算法开始之前,线性计算的参数W和b都是随机给出,因此预测值与真实值之间差异很大。

 

 

反向传播,是根据预测值与真实值之间的差异,调整模型参数W和b。为了保证调整参数的方向是减小这一差异,这里用到了梯度下降的原理。

 

 

神经网络的神经元也分为三种:

 

 

输入神经元:位于输入层,主要是传递来自外界的信息进入神经网络中,比如图片信息,文本信息等,这些神经元不需要执行任何计算,只是作为传递信息,或者说是数据进入隐藏层。

 

 

隐藏神经元:位于隐藏层,隐藏层的神经元不与外界有直接的连接,它都是通过前面的输入层和后面的输出层与外界有间接的联系,因此称之为隐藏层,上图只是有1个网络层,但实际上隐藏层的数量是可以有很多的,远多于1个,当然也可以没有,那就是只有输入层和输出层的情况了。隐藏层的神经元会执行计算,将输入层的输入信息通过计算进行转换,然后输出到输出层。

 

 

输出神经元:位于输出层,输出神经元就是将来自隐藏层的信息输出到外界中,也就是输出最终的结果,如分类结果等。

 

 

神经元为什么精确度那么高?

 

 

人类自打婴儿时,就学会了认知这个世界,通过生活经历不断了解事物,辨识谁是萌猫,谁是小狗。多年的训练后,这种辨别的准确度可以达到100%。萌猫和小狗自身具备很多特点,人类通过不断的训练,记住了它们的特点,可以从视觉上进行区分,可以通过叫声区分,可以通过重量,体积,触感,味道区分。

 

 

这些特点,强化了人对猫狗的记忆和辨识度,并最终得出准确的答案。所以,以后只要通过几个特点,就可以推导出正确的结论。

 

举报/反馈

发表评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注