python机器学习之神经网络(二)
由于Rosenblatt感知器的局限性,对于非线性分类的效果不理想。本次程序中使用的激活函数是tanh函数,公式如下:tanh函数的图像如下:程序中具体的tanh函数形式如下:它的局部梯度分两种情况:神经元j没有位于隐藏层:神经元j位于隐藏层:其中k是单元j后面相连的所有的单元。局部梯度得到之后,根据增量梯度下降法的权值更新法则即可得到下一次的权值w,经过若干次迭代,设定误差条件,即可找到权值空间的最小值。python程序如下,为了能够可视化,训练数据采用二维数据,每一个隐藏层有8个节点,设置了7个隐藏层,一个输出层,输出层有2个单元:图中蓝色是训练数据,红色是测试数据,圈圈代表类型[1,0],星星代表类型[0,1]。
用户评论