单层感知机
单层感知器属于单层前向网络,即除输入层和输出层之外,只拥有一层神经元节点。
特点:输入数据从输入层经过隐藏层向输出层逐层传播,相邻两层的神经元之间相互连接,同一层的神经元之间没有连接。
感知器(perception)是由美国学者F.Rosenblatt提出的。与最早提出的MP模型不同,神经元突触权值可变,因此可以通过一定规则进行学习。可以快速、可靠地解决线性可分的问题。
简介
单层感知器由一个线性组合器和一个二值阈值元件组成。输入向量的各个分量先与权值相乘,然后在线性组合器中进行叠加,得到一个标量结果,其输出是线性组合结果经过一个二值阈值函数。二值阈值元件通常是一个上升函数,典型功能是非负数映射为1,负数映射为0或负一。
函数表达
布尔函数
给定三个布尔输入变量x1,x2,x3,一个输出变量Y,三个输入变量中至少有两个是0时, 输出为-1;至少有两个大于0时,输出为1。
感知机示意图
图象
代码
# -*- coding: utf-8 -*-
"""
Created on Wed Oct 9 22:40:39 2019
@author: C
"""
import pandas as pd
import numpy as np
def node (inputs, weights, T):
result = np.dot(inputs, weights)-T
result_ = pd.DataFrame(result)[0].map(lambda x:0 if x<0 else 1)
graph = pd.DataFrame(np.vstack((result, np.array(result_)))).T
return graph
inputs = np.random.uniform(-1, 1, (20,3))
weights = np.array([0.3, 0.3, 0.3]).T
T=0.4
graph = node (inputs, weights, T).rename(columns={0:'input',1:'output'})
graph.plot()
写在最后:
Il n’ya qu’un héroïsme au monde : c’est de voir le monde tel qu’il est et de l’aimer." Romain Rolland.