深度学习与神经网络:单层感知机

今天这个文章让我们一起来学习下感知机:

一个传统的单层感知机如上图所示,其实理解起来很简单,我们可以直接理解为输入节点接受信号之后直接传输到输出节点,然后得到结果y.

就和上图一样,我们给出了权向量W=[W1,W2,W3]=[0.3,0.3,0.3],这时候我们输入[X1,X2,X3],并且于输出节点的t相结合,这样就可以得到方程式:

y = 0.3X1+0.3X2+0.3X3+0.4

在我们给定训练数据集之后,第一次给定的权值基本不会是适合的,因此我们需要使用给定的训练数据集进行迭代学习,规则如下:

给定的测试样例为(X,Y),而如今现在的模型输出为y,此时我们要对权值进行调整:

而这里边的η被称为学习率,这个学习率∈(0,1),并且很大程度上这个学习率是根据我们的经验得到的.如果我们选择的学习率过大,容易造成权值计算的不稳定.如果选择的学习率太小,不能够充分体现出对于权值的修正,迭代次数太多.就跟我们显微镜对焦一样,左调调,右调调就会看的越来越清楚.

从上边的式子来看,如果输出的实际值y和训练集中的Y一致,则Wi就不会发生变化,从而感知机就不会发生变化,否则感知机就会根据错误的大小进行权值的处理.

所以从上述来看,本质上感知机只能够对输出层进行处理,学习能力是很有限的,泛化能力很差.我们不妨分析下:对于与,或,非这样的问题,如图所示:

是可以形成一个线性超平面,从而进行分类划分.

如果是异或这样的问题,是无法形成一个线性超平面进行划分的.

在这里我们总结一下单层感知器的局限:

1:单层感知器没有泛化的能力

2:结构简单,激活函数只能是符号函数

3:只对于线性可分问题进行收敛,如果非线性可分问题,不会产生超平面,无法收敛.

4:如果存在离群点,则需要花费太多的训练时间.

下面我们用MATLAB来实际操作搭建一个单层感知器:

首先我们在MATLAB中输入P,T,p,t,P和T是训练集和训练集结果,p,t则是模型的参数,这里我们在nevp()中使用hardlims,这个参数是单层感知机的激活函数名称.

训练后我们输入测试集:

因此我们输入之后,可以得到一个正确的结果.

而MATLAB中也有一个nntool,可以使用图形化界面进行操作:

我们在命令行输入nntool.

注意选择上边的参数.

选择好输入的数据集

进行训练,训练后输入测试集:

输入结果,是-1,跟之前我们的测试集是一致的.

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术沉淀

KNN算法实现及其交叉验证

2713
来自专栏奇点大数据

Pytorch神器(6)

作者介绍:高扬,奇点大数据创始人。技术畅销书《白话大数据与机器学习》、《白话深度学习与Tensorflow》、《数据科学家养成手册》著书人。重庆工商大学研究生导...

1743
来自专栏新智元

TensorFlow 自动句子语义编码,谷歌开源机器学习模型 Skip-Thoughts

【新智元导读】谷歌今天开源一个句子编码器模型 Skip-Thoughts,在 TensorFlow 上实现,学习将输入的句子编码成固定维度的向量表示,可以用于语...

3903
来自专栏机器学习算法工程师

你知道词袋模型吗?

词袋模型是一种在使用机器学习算法建模文本时表示文本数据的方式; 易于理解和实现,并且在语言建模和文档分类等问题上取得了巨大成功。

1213
来自专栏ATYUN订阅号

【学术】在Google Sheet中创建深度神经网络

深度卷积神经网络并不像听起来的那样令人生畏。我将向你们展示我在Google Sheet中做的一个实现。复制它,你可以尝试一下,看看不同的因素如何影响模型的预测。...

3016
来自专栏自学笔记

Hidden Markov ModelHMM隐马尔科夫模型

等等,这种序列叫可见状态序列,但在HMM里面,还存在一个隐含状态链,比如这个状态链可能是

2122
来自专栏用户3246163的专栏

2.1 统计基础

主要用在线性回归的时候来估计b1 unbiasedness: 估计的残差是随机的 efficiency:对比其他估计样本残差最小 consistency:样本增...

2403
来自专栏机器之心

教程 | 如何判断LSTM模型中的过拟合与欠拟合

选自MachineLearningMastery 作者:Jason Brownlee 机器之心编译 参与:Nurhachu Null、路雪 判断长短期记忆模型在...

1.2K10
来自专栏PaddlePaddle

转载|使用PaddleFluid和TensorFlow训练序列标注模型

上一篇通过转载|使用PaddleFluid和TensorFlow训练RNN语言模型大家了解了:

1143
来自专栏人工智能头条

基于Python的卷积神经网络和特征提取

4054

扫码关注云+社区