# coding: utf-8
# In[1]:
#单层感知器
#题目:假设有4个数据2维的数据,数据的特征分别是(3,3)(4,3)(1,1)(2,1).(3,3)(4,3)这个两个数据的标签维1,(1,1)(2,1)这两个数据的标签为-1
#构建神经网络来进行分类
#思路:要分类的数据是2维数据,所以只需要2个输入节点,我们可以把神经元的偏置值也设置成一个输入节点。这样就需要3个输入节点。
#输入数据有4个(1,3,3)(1,4,3)(1,1,1)(1,2,1)
#数据对应的标签为(1,1,-1,-1)
#初始虎啊权值W1,W2,W3取0到1的随机数
#学习率lr(learning rate)设置为0.1
#激活函数sign函数
# In[5]:
import numpy as np
import matplotlib.pyplot as plt
# In[21]:
#定义输入数据
X = np.array([[1,3,3],
[1,4,3],
[1,1,1],
[1,2,1]])
T = np.array([[1],
[1],
[-1],
[-1]]) #定义标签
#权值初始化
W = np.random.random([3,1])#生成随机数
#学习率设置
lr = 0.1
#神经网络的输出
Y = 0
# In[22]:
#更新权值的函数
def train():
global X,Y,W,lr,T
#同时计算4个数据的预测值
Y = np.sign(np.dot(X,W)) #np.dot()矩阵的乘法 网络的预测值
#T-Y得到4个标签值与预测值的误差E(4,1)
E = T - Y #误差
#计算权值的变化
delta_W = lr*(X.T.dot(E)) / X.shape[0]
#更新权
单层感知机及线性网络
最新推荐文章于 2021-10-02 00:44:17 发布
本文深入探讨了单层感知机的工作原理及其在简单分类任务中的应用。通过介绍权重、偏置和激活函数的概念,阐述了如何构建和训练这种基本的神经网络模型。同时,将单层感知机与线性回归模型进行对比,强调它们在解决线性可分问题上的相似性和局限性。此外,还讨论了它们在实际问题中可能遇到的挑战以及解决策略。
摘要由CSDN通过智能技术生成