python单层感知器

简介:

python的单向感知器

import numpy as np
import matplotlib.pyplot as plt #报表显示控件

start表示矩阵的长度和宽度

start, range_num = 5, 1000

输入数据

X = np.arange(start,start*(start+1)).reshape(start,start)

标签信息,Y的标签信息数目记得和Start数目一致

Y = np.array([1,1,-1,1,-1])

权值信息范围,介于-1到1之间

W = (np.random.random(start)-0.5)*2
print(W)

lr = 0.11 #学习率,一般介于0和1之间

表示迭代次数,O表示输出

n, O = 0, 0

更新权值函数

def update():

global X,Y,W,lr,n
n += 1

#激活函数
O = np.sign(np.dot(X,W.T)) 

W_C = lr*((Y-O.T).dot(X))/int(X.shape[0])
W += W_C

for _ in range(range_num):

update()
O = np.sign(np.dot(X,W.T))
if (O==Y.T).all():
    print("哈哈")
    break

x1, y1, x2, y2 = [3,4], [3,3], [1], [1]
k, d = -W[1]/W[2], -W[0]/W[2]

xdata = np.linspace(0,10)
plt.figure()
plt.plot(xdata, xdata*k+d, 'r')
plt.plot(x1, y1, 'bo')
plt.plot(x2, y2, 'yo')
plt.show()

相关文章
|
机器学习/深度学习 算法 数据可视化
【Python机器学习】实验12 神经网络-感知器
【Python机器学习】实验12 神经网络-感知器
149 0
|
8月前
|
机器学习/深度学习 算法 Python
【Python机器学习】感知器进行信用分类和使用KNN进行图书推荐实战(附源码和数据集)
【Python机器学习】感知器进行信用分类和使用KNN进行图书推荐实战(附源码和数据集)
227 0
|
机器学习/深度学习 算法 数据可视化
python神经网络之实现双层感知器和神经网络感知器算法将鸢尾分类
python神经网络之实现双层感知器和神经网络感知器算法将鸢尾分类
429 0
python神经网络之实现双层感知器和神经网络感知器算法将鸢尾分类
|
机器学习/深度学习 存储 Python
使用感知器的Python机器学习简介
每个熟悉技术的人都听说过机器学习。但都认为必得高智商的数学大师才能搞, 咋也得懂微积分才整机器学习吧。其实没那么难,本文将指导您在没有任何高级数学理论的情况下, 在Python中创建感知器,总计也不到60行代码。
142 0
使用感知器的Python机器学习简介
|
机器学习/深度学习 算法 Python
深度学习神经网络第①篇——感知器及其Python实现
每一个输入分量Xj(j=1,2…,r)通过一个权值分量wj,进行加权求和,并作为阈值函数的输人。偏差b的加入(对应上图中的w0,这样是便于书写和理解)使得网络多了一个可调参数,为使网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类问题。
304 0
深度学习神经网络第①篇——感知器及其Python实现
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
26天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
107 80
|
15天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
34 14