首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BP神经网络在python上的非线性分类实现

我们知道BP神经网络算法又称为误差方向传播算法。它由一个输入层、至少一个隐含层、一个输出层组成。解决了线性不可分的情况的,BP神经网络算法的基本思想是:学习过程由信号的正向传播与误差反向传播两个过程组成的。正向传播时输入样本从输入层传入,经过隐含层处理后,再传向输出层。

它的学习过程可以概况为:正向传播求损失,反向传播回传误差,根据误差信号修正每层的权重,周而复此,直至到达设定值。

与线性分类器一样,BP神经网络也是以sigmoid函数作为传递函数。但是,对于像下图这样的数据分布来说,显然,应用线性分类器来进行分类是不行的,因为它的分布是非线性的。下面,我们采用BP神经网络对该数据进行分类。

应该BP神经网络分类的结果如图。我们可以看出,当增加隐含层数目为1层时,其分类的结果并不准确,当增加到4层时,我们看到分类的超平面是非线性的,分类的结果也比开始好了很多。即增加隐含层数量可以提高分类的精度,但以此同时,计算量会增加许多。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181006A0EO3300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券