开发者学堂课程【机器学习算法 :多层感知器-1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7237
多层感知器-1
内容介绍
一、 多层感知器定义
二、 多层感知器实现异或 XOR
一、 多层感知器定义
多层感知器(Multi Layer Perceptron,即MLP)是一种前馈人工神经网络模型,包括至少一个隐藏层(除了一个输入层和一个输出层以外),将输入的多个数据集映射到单一的输出的数据集上。
1、单和多是指有计算功能的节点所在的层数,输入层无计算功能,不计算在内。单层即只有输入层和输出层,多层至少包含一个隐藏层
2、单层只能学习线性函数,多层可以学习非线性函数,适用于模式识别、图像处理、函数逼近等领域。
3、注意:
(1)多层感知器比单层感知器多了隐藏层,隐藏层和输出层具有计算功能。
(2)单层感知器是只有一层有计算功能的层的感知器模型,多层感知器是有多层有计算功能的层的感知器模型
4、多层感知器模型
输入层 输出层 隐藏层
给出一系列特征 X =(x1,x2, …)和目标 Y,一个多层感知器可以以分类或者回归为目的,学习到特征和目标之间的关系。(分类可以理解为输出的一个离散的值,例如分成五类,则输出的值为12345。回归理解为输出的值是连续值,例如预测商品销量,可以运用神经网络。)
二、 多层感知器实现异或 XOR
多层感知器实现异或例子:
注意:输出的值只有一个分量(o1),分量的取值可以为0或1,而不是输出两个分量。
用四个样本训练模型得到一组参数(无数组):
w01=0.5,w02=0.5,b(bias)=-1
w11=-1,w12=1
w21=1,w22=-1
w’01=0, w’11=1,w’21=1
f(x)=sign(x)
得到 f1(x)=sign(-x1+x2-0.5) f2(x)=sign(x1-x2-0.5) f(x)=sign(f1(x)+f2(x))
将表中数据代入上面公式中,得:
f1(x)=0, f2(x)=0, f(x)=0
f1(x)=1, f2(x)=0, f(x)=1
f1(x)=0, f2(x)=1, f(x)=1
f1(x)=0, f2(x)=0, f(x)=0
单个感知器为一个线性分类器,对应了一个分类超平面,对于二维空间,相当于一条直线,两个隐层节点对应了两条直线:-x1+x2-0.5=0,x1-x2-0.5=0 在样本空间中画出两条线,可以通过一个开域(或凸域)将不同类别的样本点分开。