python机器学习之神经网络(一)


Posted in Python onDecember 20, 2017

python有专门的神经网络库,但为了加深印象,我自己在numpy库的基础上,自己编写了一个简单的神经网络程序,是基于Rosenblatt感知器的,这个感知器建立在一个线性神经元之上,神经元模型的求和节点计算作用于突触输入的线性组合,同时结合外部作用的偏置,对若干个突触的输入求和后进行调节。为了便于观察,这里的数据采用二维数据。

目标函数是训练结果的误差的平方和,由于目标函数是一个二次函数,只存在一个全局极小值,所以采用梯度下降法的策略寻找目标函数的最小值。

代码如下:

import numpy as np 
import pylab as pl 
b=1    #偏置 
a=0.3   #学习率 
x=np.array([[b,1,3],[b,2,3],[b,1,8],[b,2,15],[b,3,7],[b,4,29],[b,4,8],[b,4,20]]) #训练数据 
d=np.array([1,1,-1,-1,1,-1,1,-1])          #训练数据类别 
w=np.array([b,0,0])            #初始w 
def sgn(v):         
 if v>=0: 
  return 1 
 else: 
  return -1 
def comy(myw,myx): 
 return sgn(np.dot(myw.T,myx)) 
def neww(oldw,myd,myx,a): 
 return oldw+a*(myd-comy(oldw,myx))*myx 
 
for ii in range(5):        #迭代次数 
 i=0 
 for xn in x: 
  w=neww(w,d[i],xn,a) 
  i+=1 
 print w 
 
myx=x[:,1]         #绘制训练数据 
myy=x[:,2] 
pl.subplot(111) 
x_max=np.max(myx)+15 
x_min=np.min(myx)-5 
y_max=np.max(myy)+50 
y_min=np.min(myy)-5 
pl.xlabel(u"x") 
pl.xlim(x_min,x_max) 
pl.ylabel(u"y") 
pl.ylim(y_min,y_max) 
for i in range(0,len(d)): 
 if d[i]==1: 
  pl.plot(myx[i],myy[i],'r*') 
 else: 
  pl.plot(myx[i],myy[i],'ro') 
#绘制测试点 
test=np.array([b,9,19]) 
if comy(w,test)>0: 
 pl.plot(test[1],test[2],'b*') 
else: 
 pl.plot(test[1],test[2],'bo') 
test=np.array([b,9,64]) 
if comy(w,test)>0: 
 pl.plot(test[1],test[2],'b*') 
else: 
 pl.plot(test[1],test[2],'bo') 
test=np.array([b,9,16]) 
if comy(w,test)>0: 
 pl.plot(test[1],test[2],'b*') 
else: 
 pl.plot(test[1],test[2],'bo') 
test=np.array([b,9,60]) 
if comy(w,test)>0: 
 pl.plot(test[1],test[2],'b*') 
else: 
 pl.plot(test[1],test[2],'bo') 
#绘制分类线 
testx=np.array(range(0,20)) 
testy=testx*2+1.68 
pl.plot(testx,testy,'g--') 
pl.show()  
for xn in x: 
 print "%d %d => %d" %(xn[1],xn[2],comy(w,xn))

python机器学习之神经网络(一)

图中红色是训练数据,蓝色是测试数据,圆点代表类别-1.星点代表类别1。由图可知,对于线性可分的数据集,Rosenblatt感知器的分类效果还是不错的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
python conda操作方法
Sep 11 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
pytorch制作自己的LMDB数据操作示例
Dec 18 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
Python求两个字符串最长公共子序列代码实例
Mar 05 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
哪些是python中web开发框架
Jun 17 Python
Python中bisect的用法及示例详解
Jul 20 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
使用python实现ANN
Dec 20 #Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 #Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 #Python
Python实现感知器模型、两层神经网络
Dec 19 #Python
python实现感知器
Dec 19 #Python
python绘制简单折线图代码示例
Dec 19 #Python
matplotlib设置legend图例代码示例
Dec 19 #Python
You might like
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
jQuery自定义多选下拉框效果
2017/06/19 jQuery
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
python中base64加密解密方法实例分析
2015/05/16 Python
python模块之paramiko实例代码
2018/01/31 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
python实现PCA降维的示例详解
2020/02/24 Python
人力资源部经理助理岗位职责
2014/03/04 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
白酒代理协议书范本
2014/10/26 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
检察院起诉书
2015/05/20 职场文书
关于Redis的主从复制及哨兵问题
2022/06/16 Redis