感知器

零基础入门深度学习(1) - 感知器

倖福魔咒の 提交于 2019-11-28 20:49:10
用感知器实现 and 函数: 我们设计一个感知器,让它来实现 and 运算。程序员都知道, and 是一个二元函数(带有两个参数 和 ),下面是它的真值表: x1 x2 y 0 0 0 0 1 0 1 0 0 1 1 1 为了计算方便,我们用0表示false,用1表示true。 下面是感知器类的实现,非常简单。 from functools import reduce class Perceptron(object): def __init__(self, input_num, activator): ''' 初始化感知器,设置输入参数的个数,以及激活函数。 激活函数的类型为double -> double ''' self.activator = activator # 权重向量初始化为0 self.weights = [0.0 for _ in range(input_num)] # 偏置项初始化为0 self.bias = 0.0 def __str__(self): ''' 打印学习到的权重、偏置项 ''' return 'weights\t:%s\nbias\t:%f\n' % (self.weights, self.bias) def predict(self, input_vec): ''' 输入向量,输出感知器的计算结果 ''' # 把input_vec[x1,x2

NN入门

馋奶兔 提交于 2019-11-28 01:07:33
参考资料: https://blog.csdn.net/kwame211/article/details/77337166 , 仅作为个人学习笔记 。 人工智能的底层模型是 "神经网络" (neural network)。 1、感知器 历史上,科学家一直希望模拟人的大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于 人体的神经网络 。见上章图 外部刺激通过神经末梢,转化为电信号,转导到神经细胞(又叫神经元)。 无数神经元构成神经中枢。 神经中枢综合各种信号,做出判断。 人体根据神经中枢的指令,对外部刺激做出反应。 既然思考的基础是神经元,如果能够"人造神经元"(artificial neuron),就能组成人工神经网络,模拟思考。上个世纪六十年代,提出了最早的 "人造神经元"模型 ,叫做 "感知器" (perceptron),直到今天还在用。 上图的 圆圈就代表一个感知器 。它 接受多个输入 (x1,x2,x3...), 产生一个输出 (output),好比神经末梢感受各种外部环境的变化,最后产生电信号。 为了简化模型,我们约定每种输入只有两种可能:1 或 0。如果所有输入都是1,表示各种条件都成立,输出就是1;如果所有输入都是0,表示条件都不成立,输出就是0。 2、感知器示例 城里正在举办一年一度的游戏动漫展览,小明拿不定主意,周末要不要去参观。他决定考虑三个因素:

算法体系

爷,独闯天下 提交于 2019-11-28 01:07:30
仅供个人学习用 算法 CNN:卷积神经网络 Convolutional neural network RNN:循环神经网络 Recurrent neural networks LSTM:长短期记忆 Long short term memory GRU : 门循环单元 Gated recurrent units FFNN:前馈神经网络 Feed forward neurral network BP:反向传播 Backpropagation RBFN:径向基函数网络 Radial basis function network HN:霍普菲尔网络 Hopfield network MC:马尔可夫链 Markov Chain BM:玻尔兹曼机 Boltzmann machine RBM:受限玻尔兹曼机 Restricted Boltzmann machine GAN:生成式对抗网络 Generative adversarial networks AE:自动编码器 Autoencoder SAE:稀疏自编码机 Sparse autoencoders VAE:变分自编码机 Variational autoencoders DAE:去噪自编码机 Denoising autoencoders DBN:深度信念网络 Deep belief networks SVM:支持向量机 Support

神经网络理论知识

China☆狼群 提交于 2019-11-27 15:25:33
感知器: 一个感知器有如下组成部分: 输入权值 ——一个感知器可以接收多个输入(x1,x2,…xn),每个输入上有一个权值wi,此外还有一个偏置项b,就是上图中的w0。 激活函数 ——感知器的激活函数可以有很多选择 输出 ——感知器的输出由某个公式来计算 事实上,感知器不仅仅能实现简单的布尔运算。它可以拟合任何的线性函数,任何线性分类或线性回归问题都可以用感知器来解决。前面的布尔运算可以看作是二分类问题,即给定一个输入,输出0(属于分类0)或1(属于分类1)。然而,感知器却不能实现异或运算。 感知器的训练 训练感知器对于多层感知器的监督式训练最常见的深度学习算法是反向传播。基本的过程是 :   1、将训练样本通过神经网络进行前向传播计算。   2、计算输出误差,通常用均方差:   其中 t 是目标值,y是实际的神经网络输出。其它的误差计算方法也可以,但MSE(均方差)通常是一种比较好的选择。   3.网络误差通过随机梯度下降法来最小化。 前面的权重项和偏置项的值是如何获得的呢? 这就要用到感知器训练算法:将权重项和偏置项初始化为0,然后,利用下面的感知器规则迭代的修改wi和b,直到训练完成。 其中: wi是与输入xi对应的权重项,b是偏置项。事实上,可以把b看作是值永远为1的输入xb所对应的权重。t是训练样本的实际值,一般称之为label。而y是感知器的输出值,它是根据公式(1

[转帖]一文搞懂神经网络

北战南征 提交于 2019-11-26 07:35:58
一文搞懂神经网络 人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 https://ai.51cto.com/art/201911/606086.htm 【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源

[转帖]一文搞懂神经网络

て烟熏妆下的殇ゞ 提交于 2019-11-26 07:23:29
一文搞懂神经网络 人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 https://ai.51cto.com/art/201911/606086.htm 【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源