MLP(multi-layer perceptron)

  • 神经元neuron(基本计算单元)

xi为输入,wi为各项输入的权重,b为偏差,f为激活函数,h为输出。输入的加权和,经过激活函数映射为输出。

    • 参数的物理意义:权重(各输入的重要程度)偏差(该神经元被激活的难易程度≈阈值)
    • 激活函数:常见有sigmoid函数,tanh(双曲正切)函数,线性整流函数ReLu
sigmoid函数    将加权和缩放到[0,1],微分形式为  

tanh函数   将加权和缩放到[-1,1] ,微分形式为

线性整流函数   分段函数,实际神经网络中更好用。梯度=0(z<0),t梯度=1(z>0)

注:分类问题:使用sigmoid函数,label y=0 or 1, 使用tanh函数, label y = -1 or 1.

回归问题:[0,1];[-1,1]

  • 神经网络模型

神经网络本质是多个神经元连接组成的层级结构,上一层的输出为下一层的输入。

基本概念:输入层,输出层,隐藏层略。

基本表示符号略。

前向传播:上一层的输出作为本层的输入,依次逐层向后传播。

  • 代价函数(cost function)
某个样本的代价:

所有样本的代价:

第一项为所有样本代价的平均值,第二项为权重正则化项regularization(权重衰减项weight decay),避免权重太大引起过拟合.

λ为权重衰减参数。

  • 梯度下降法最小化代价函数
    • 初始化参数:正态分布初始化参数(如果全部初始化为0,会导致每层的神经元学到相同的函数。)
    • 梯度下降法:用优化算法(eg:梯度下降法)最小化代价函数,其中最重要的步骤计算梯度。
      

    • 反向传播算法计算梯度

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/ceciliaxu/p/12056940.html

时间: 2024-10-13 01:18:27

MLP(multi-layer perceptron)的相关文章

Theano Multi Layer Perceptron 多层感知机

理论 机器学习技法:https://www.coursera.org/course/ntumltwo 假设上述网址不可用的话,自行度娘找别人做好的种子.或者看这篇讲义也能够:http://www.cnblogs.com/xbf9xbf/p/4712785.html Theano代码 须要使用我上一篇博客关于逻辑回归的代码:http://blog.csdn.net/yangnanhai93/article/details/50410026 保存成ls_sgd.py 文件,置于同一个文件夹下就可以.

mahout学习(三)

public class TMahout03 { public static void main(String[] args) throws IOException, TasteException { //-准确率和召回率评估的配置与运行-//         RandomUtils.useTestSeed(); DataModel model = new FileDataModel(new File("path/ua.base")); RecommenderIRStatsEvalua

mahout0.9注意事项SlopeOneRecommender

1.今天试验SlopeOne推荐算法,结果没有提示.心想是不是少了jar包,查查不少.通过网络查询定位此类所在的位置为:org.apache.mahout.cf.taste.impl.recommender.slopeone.包下面,所以去查看jar包,发现没有.查看src包也没有这个类的源码,之后去官网查看,一看,才知道这个算法已被移除了在0.9上.如果想用的话需要0.8. 1 February 2014 - Apache Mahout 0.9 released Apache Mahout h

DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解

DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解 @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43221829 本文介绍多层感知机算法,特别是详细解读其代码实现,基于python theano,代码来自:Multilayer Perceptron,如果你想详细了解多层感知机算法,可以参考:UFLDL教程,或者参考本文第一部分的算法简介. 经详细注释的代码:放在我的gith

deeplearning.net 0.1 document - Multilayer Perceptron

Multilayer Perceptron 下面我们使用Theano来介绍一下单隐藏层的多层感知机(MLP).MLP可以看成一个logistic回归分类器,它使用一个已经学习的非线性转换器处理输入.这个转换器把输入变成一个线性可分离的空间.中间层被看作是隐藏层.单个隐藏层足够让MLPs普遍逼近,但是我们会在后面看到使用多层隐藏层是很有效的. The Model 一个只有单层隐藏层的MLP可以表示成一下形式: 通常地,一个单隐藏层的MLP是一个函数.其中D是输入x的大小,L是输出向量f(x)的大小

DeepLearning之路(三)MLP

DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解 @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43221829 本文介绍多层感知机算法,特别是详细解读其代码实现,基于Python theano,代码来自:Multilayer Perceptron,如果你想详细了解多层感知机算法,可以参考:UFLDL教程,或者参考本文第一部分的算法简介. 经详细注释的代码:放在我的gith

初识spark的MLP模型

初识Spark的MLP模型 1. MLP介绍 Multi-layer Perceptron(MLP),即多层感知器,是一个前馈式的.具有监督的人工神经网络结构.通过多层感知器可包含多个隐藏层,实现对非线性数据的分类建模.MLP将数据分为训练集.测试集.检验集.其中,训练集用来拟合网络的参数,测试集防止训练过度,检验集用来评估网络的效果,并应用于总样本集.当因变量是分类型的数值,MLP神经网络则根据所输入的数据,将记录划分为最适合类型.常被MLP用来进行学习的反向传播算法,在模式识别的领域中算是标

多层感知器学习

1.多层感知器简介 多层感知器(MLP)可以看做一个逻辑回归,不过它的输入要先进行一个非线性变换,这样数据就被映射到线性可分的空间了,这个空间我们称为隐藏层.通常单层隐藏层就可以作为一个感知器了,其结构如下图所示: 这里输入层首先通过权重矩阵和偏置得到总输出值并且通过tanh函数作一个非线性变换就可以得到hidden layer,然后从hidden layer到output layer可以使用之前的逻辑回归进行操作. 这里我们同样使用SGD算法来对参数进行更新,参数共有四个,分别是input-h

understanding backpropagation

几个有助于加深对反向传播算法直观理解的网页,包括普通前向神经网络,卷积神经网络以及利用BP对一般性函数求导(UFLDL) A Visual Explanation of the Back Propagation Algorithm for Neural Networks By Sebastian Raschka, Michigan State University. Let's assume we are really into mountain climbing, and to add a l

深度学习的57个术语

原文地址:https://www.cnblogs.com/hmy-blog/p/6555939.html 激活函数(Activation Function) 为了让神经网络能够学习复杂的决策边界(decision boundary),我们在其一些层应用一个非线性激活函数.最常用的函数包括  sigmoid.tanh.ReLU(Rectified Linear Unit 线性修正单元) 以及这些函数的变体. Adadelta Adadelta 是一个基于梯度下降的学习算法,可以随时间调整适应每个参