失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何用python来实现感知器

如何用python来实现感知器

时间:2022-09-02 01:47:23

相关推荐

如何用python来实现感知器

后端开发|php教程

python,感知,实现

后端开发-php教程

我们知道,感知器是最简单的神经网络,只有一层。感知器是模拟生物神经元行为的机器。那么这次给大家带来的教学就是如何用python来实现感知器,模型如下。

教程网logo源码,idea引入vscode,ubuntu老板,tomcat应用流程,sqlite时间比较出错,dz社区江湖插件,对前端框架的深刻理解,爬虫框架基础知识13,php sap,seo实战课堂排名,私服发布网站源码php,网页源码网,财务网站模板下载lzw

给定一个n维的输入 ,其中w和b是参数,w为权重,每一个输入对应一个权值,b为偏置项,需要从数据中训练得到。

体育赛事源码,vscode下载下载失败,光盘恢复 ubuntu,tomcat加入项目编译,qt-sqlite停车场项目,怀孕五个月吃了小爬虫药,redhat安装php,烟台seo推广哪家便宜,电影院网站模板,oa网站模板下载lzw

激活函数 感知器的激活函数可以有很多选择,比如我们可以选择下面这个阶跃函数f来作为激活函数:

彩虹代刷网源码2.0,vscode字体设置有哪些,更改ubuntu镜像,如何修改tomcat网页,api 反爬虫,php提交到邮箱,seo怎么自学留痕推广,物流网站免费源码,清爽大气企业整站dedecms模板lzw

事实上感知器可以拟合任何线性函数,任何线性分类或线性回归的问题都可以用感知器来解决。但是感知器不能实现异或运算,当然所有的线性分类器都不可能实现异或操作。

所谓异或操作:

对于上图,我们找不到一条直线可以将0,1类分开。对于and操作,感知器可以实现,我们可以找到一条直线把其分为两部分。。

对于and操作:

感知器的训练

首先将权重w和 偏置b随机初始化为一个很小的数,然后在训练中不断更新w和b的值。

1.将权重初始化为 0 或一个很小的随机数

2.对于每个训练样本 x(i) 执行下列步骤:

计算输出值 y^.

更新权重

其中

下面用感知器实现and操作,具体代码如下:

# -*- coding: utf-8 -*-# python 3.4import numpy as npfrom random import choicefrom sklearn import cross_validationfrom sklearn.linear_model import LogisticRegression\\

1.将权重初始化为 0 或一个很小的随机数

2.对于每个训练样本 x(i) 执行下列步骤:

计算输出值 y^.

更新权重

\def load_data(): input_data=[[1,1], [0,0], [1,0], [0,1]] labels=[1,0,0,0] return input_data,labelsdef train_pre(input_data,y,iteration,rate): #=========================== \\

参数:

input_data:输入数据

y:标签列表

iteration:训练轮数

rate:学习率

\ #============================ unit_step = lambda x: 0 if x < 0 else 1 w=np.random.rand(len(input_data[0]))#随机生成[0,1)之间,作为初始化w bias=0.0#偏置 for i in range(iteration): samples= zip(input_data,y) for (input_i,label) in samples:#对每一组样本 #计算f(w*xi+b),此时x有两个 result=input_i*w+bias result=float(sum(result)) y_pred=float(unit_step(result))#计算输出值 y^ w=w+rate*(label-y_pred)*np.array(input_i)#更新权重bias=rate*(label-y_pred)#更新bias return w,bias def predict(input_i,w,b): unit_step = lambda x: 0 if x < 0 else 1#定义激活函数 result=result=result=input_i*w+b result=sum(result) y_pred=float(unit_step(result)) print(y_pred) if __name__==\__main__: input_data,y=load_data() w,b=train_pre(input_data,y,20,0.01) predict([1,1],w,b)

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

php如何实现栈数据结构以及括号匹配算法的代码示例详解

php中最简单的字符串匹配算法,php匹配算法_PHP教学

最简单的php中字符串匹配算法教学

如果觉得《如何用python来实现感知器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。