单层感知机及线性网络

本文深入探讨了单层感知机的工作原理及其在简单分类任务中的应用。通过介绍权重、偏置和激活函数的概念,阐述了如何构建和训练这种基本的神经网络模型。同时,将单层感知机与线性回归模型进行对比,强调它们在解决线性可分问题上的相似性和局限性。此外,还讨论了它们在实际问题中可能遇到的挑战以及解决策略。
摘要由CSDN通过智能技术生成

# 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]
    #更新权
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值