前馈神经网络_BP算法+R语言程序运行实例
目录
- 关于神经网络的介绍
- 前馈神经网络
- 应用到机器学习
- 参数学习
- 误差反向传播
- 程序实例(R语言)
前言
今天是小白学习神经网络的第一次博客文章,希望以后的自己可以坚持下去,只争朝夕不负青春。本章是关于神经网络—前馈神经网络的系列个人见解,还有许些不足之处还望大家能够积极指正,小白在这里谦虚请教。
在初学神经网络之时,发现帖子上对于一些名词并没有详细的介绍,对一些做法选择没有一些解释。小白是一个学数学的孩子,对于问题习惯知根知底。懵懵懂查阅许些资料汇成自己的话语,写在了这篇文章中,希望能够与大家共同努力。
一、神经网络介绍
人工神经网络是指一系列受生物学和神经学启发的数学模型,主要是通过对人脑的神经元
网络进行抽象,构建人工神经元,并按照一定的拓扑结构来建立人工神经元之间的连接,来模
拟生物神经网络。
从机器学习的角度来看,神经网络一般可以看做一个非线性模型,其基本组成单位为具有非线
性激活函数的神经元,通过大量神经元之间的连接,使得神经网络成为一种高度非线性的模型。
神经元之间的连接权重就是需要学习的参数,可以在机器学习的框架下通过梯度下降方法来
进行学习
总结一下:神经网络是大规模并行分布处理器,天然具有存储并使用经验知识的能力。它从两个方面来模型大脑,一方面,网络获取知识通过学习获取;另一方面,内部神经元连接强度,即突出权重,用来储存获取知识。
下面来介绍一下大家熟知的神经元:
模拟生物神经元的结构和特性,接收一组输入信号并产生输出。
对于神经元来说,它通常具有多个树突和一条轴突,而当神经元所输入信号的积累超过
某个阈值时,它就处于兴奋状态,产生电脉冲。
这段话反映到神经网络上就是:偏置的设置。
其实,神经元就相当于感知器,想要激活感知器,使得y=1,就必须使
因其样本的多样性,人工选择阈值,对于众多神经元来说,使模型整体表现最佳并不理想。
因此我们要将T变成可学习的阈值,通过移项成为偏置。
二、前馈神经网络
常见的激活函数(进行合理的选择,有时候必要考虑一下梯度消失):
下面,我们系统的来建造一下神经网络的模型。
试问,这是前馈神经网络的一次输出, 权重以及偏置等一些因素导致最后的输出值与真实值之间的偏差,精确度怎么样?我们需要更新,进行必要的参数学习。
三、应用到机器学习
四、参数学习
五、 误差反向传播算法
六、R语言程序实例