深度学习-多层感知器

深度学习-多层感知器多层感知器多层感知器 MultilayerPe 缩写 MLP 是一种前向结构的人工神经网络 映射一组输入向量到一组输出向量 MLP 可以被看作是一个有向图 由多个的节点层所组成 每一层都全连接到下一层 除了输入节点 每个节点都是一个带有非线性激活函数的神经元 或称处理单元 一种被称为反向传播算法的监督学习方法常被用来训练 MLP MLP 是感知器的推广 克服了感知器不能对线性不可分数据

多层感知器

前言

本博文主要介绍一下多层感知器的结构,并且用代码实现网络结构的初始化。随笔而已,写的比较粗躁。

模型结构

很简单吧,模型图上的每一根线就是一个z=wx+b 所以图上需要两个w向量,两个b向量。(数数问题)

注意:一般神经网络中的输入层是不算的。再就是一个神经元输出只有一个实数。所以我们可以把输入层看成是一个 X 向量。(不是一个神经元能产生一个X向量,一个神经元只能产生一个x1)
如图:输入层为三个我们可以看作x1,x2,x3 组成X向量。
产生的“刺激”:w1X+b1。经过刺激函数转换成y1 (输入层—>隐藏层).
同样产生“刺激” w2X+b1。经过刺激函数转换为y2
所以我们可以得到下面结论:
w1、w2是一个3*1的矩阵。
b1是一个2*1的矩阵。












综上所述
初始化我们需要3个W向量,两个b向量。

初始化代码

# -*- coding: utf-8 -*- # @Time : 2017/11/22 下午9:17 # @Author : SkullFang # @Email :  # @File : OneDemo.py # @Software: PyCharm import numpy as np class Network(object): def __init__(self,sizes): """ sizes表示 网络的结构 sizes=[3,2,1] 输入层为3,隐藏层为2,输出层为1 :param sizes: """ #网络层数 self.num_layers=len(sizes) #层数 #神经元的个数 self.sizes=sizes #初始化每一层的偏置 z=wx+b 就是b的值 self.baises=[np.random.randn(y,1) for y in sizes[1:]] #等同与 """ baises=[] #意思就是生成一个符合正态分布的 y*1的数组 for y in sizes[1:]: biases.append(np.random.randn(y, 1)) 结果 [array([[ 1.0], [-0.0]]), array([[-0.]])] """ #初始化权重W self.weights=[np.random.randn(y,x) for x,y in zip(sizes[:-1],sizes[1:])] #等同与 """ 产生一个y*x 符合正态的 weights=[] for x,y in zip(sizes[:-1],sizes[1:]): weights.appenf(np.random.randn(y,x)) pass >>> weights [array([[-0., -0., 0.], [ 0., 0., 0.]]), array([[ 0., -0.]])] """ #sigmoid def sigmoid(z): """ 激活函数 :param z: :return: sigmoid(z)=1/(1+e^-z) """ return 1.0/(1.0+np.exp(-z)) #创建网络 net=Network([3,2,1]) print net.num_layers print net.sizes print net.baises print net.weights
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177191.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:05
下一篇 2026年3月26日 下午8:06


相关推荐

  • python有序列表_python有序列表以及方法的介绍(代码)

    python有序列表_python有序列表以及方法的介绍(代码)本篇文章给大家带来的内容是关于python有序列表以及方法的介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。有序列表以及有序列表的函数和方法(list)list=[‘hello’,’wrold’]#len获取查询长度length=len(list)#append添加一个新元素,到list的末尾list.append(‘admin’)#pop删除指定位…

    2022年6月16日
    44
  • 扣子(Coze)工作流:2分钟输出一篇去AI味公众号文章,带提示词保姆级教程

    扣子(Coze)工作流:2分钟输出一篇去AI味公众号文章,带提示词保姆级教程

    2026年3月12日
    1
  • LoadRunner教程01:性能测试常见用语

    LoadRunner教程01:性能测试常见用语1、并发用户数量:常见的错误理解:使用系统的全部用户数量使用系统的全部在线用户数量正确理解:与服务器进行交互的在线用户数量2、请求响应时间:从client发出请求到得到响应的整个时间,一般包括网络响应时间+server的响应时间3、事务请求响应时间:完成这个事务所用的时间,这个是性能测试中重点关注的指标4、吞吐率:单位时间在网络上传输的数据量(从服务端返

    2022年5月10日
    38
  • DELL Eq PS4000服务器数据恢复过程/数据恢复案例

    DELL Eq PS4000服务器数据恢复过程/数据恢复案例DELLEqualLogicPS4000是戴尔为远程或分支办公室、部门和中小企业存储部署提供的存储服务器,可以提供企业级自动化、智能化性能服务,价格合理,管理和部署相对便捷,更适合中小企业及办公室需求,是中型企业级存储的起点…

    2022年6月15日
    31
  • PyCharm 离线安装第三方库

    PyCharm 离线安装第三方库6 现在知道为什么不要下载 whl 了吗 如果有依赖包 用 whl 直接死那里了 5 打开 pycharm import 运行 如果报错 回到第一步 安装依赖包 4 cmd 打开终端 进去 pythonsetup pyinstall 2 不要下载 whl

    2026年3月27日
    2
  • SFM综述

    SFM综述https://blog.csdn.net/qq_29462849/article/details/118159269

    2022年6月20日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号