机器学习——深度学习

这篇具有很好参考价值的文章主要介绍了机器学习——深度学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 感知机

机器学习——深度学习
y = f ( ∑ i = 1 n w i x i − b ) y=f(\sum\limits_{i=1}^{n}w_ix_i-b) y=f(i=1nwixib)
其中, f f f 常常取阶跃函数或 Sigmoid 函数。

学习规则:
Δ w i = η ( y − y ^ ) x i w i ← w i + Δ w i \Delta w_i=\eta(y-\hat{y})x_i\\ w_i \leftarrow w_i+\Delta w_i Δwi=η(yy^)xiwiwi+Δwi
其中, y ^ \hat{y} y^ 为感知机的输出, η \eta η 为学习率。

单层感知机只能解决线性可分问题,要解决非线性可分问题(如异或),可考虑引入多层功能神经元。

2 反向传播(BackPropagation)

机器学习——深度学习
训练集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ ( x m , y m ) , x ∈ R d , y ∈ R l D={(x_1,y_1),(x_2,y_2)\cdots(x_m,y_m)},x\in\mathbb{R}^d,y\in\mathbb{R^l} D=(x1,y1),(x2,y2)(xm,ym),xRd,yRl ,隐层的阈值为 γ h \gamma_h γh,输出层的阈值为 θ j \theta_j θj,两个层的激活函数均为 Sigmoid 函数( S ′ ( x ) = S ( x ) [ 1 − S ( x ) ] S'(x)=S(x)[1-S(x)] S(x)=S(x)[1S(x)] )。对训练例 ( x k , y k ) (x_k,y_k) (xk,yk),输出为 y ^ k = ( y ^ 1 k , y ^ 2 k , ⋯   , y ^ l k ) {\hat y^k}=({\hat y_1^k},{\hat y_2^k},\cdots,{\hat y_l^k}) y^k=(y^1k,y^2k,,y^lk),其中, y ^ j k = f ( β j − θ j ) {\hat y_j^k}=f(\beta_j-\theta_j) y^jk=f(βjθj)。则整个网络对该训练例的均方误差为:
E k = 1 2 ∑ j = 1 l ( y ^ j k − y j k ) 2 E_k=\frac{1}{2}\sum\limits_{j=1}^{l}({\hat y_j^k}-y^k_j)^2 Ek=21j=1l(y^jkyjk)2
我们需要确定的参数为:输入层到隐层的权值,共 d ⋅ q d\cdot q dq 个;隐层的阈值,共 q q q 个;隐层到输出层的权值 q ⋅ l q\cdot l ql 个;输出层的阈值,共 l l l 个。在每一轮迭代中,任意参数 v v v 的更新均可以表示为:
v ← v + Δ v ,  其中 Δ v = − η ∂ E k ∂ v v\leftarrow v+\Delta v,\ 其中\Delta v = -\eta\frac{\partial E_k}{\partial v} vv+Δv, 其中Δv=ηvEk
例如,对隐层到输出层的权值 w h j w_{hj} whj,有:
∂ E k ∂ w h j = ∂ E k ∂ y ^ j k ⋅ ∂ y ^ j k ∂ β j ⋅ ∂ β j ∂ w h j (链式法则) = ( y ^ j k − y j k ) ⋅ y ^ j k ⋅ ( 1 − y ^ j k ) ⋅ b h \begin{align} \frac{\partial E_k}{\partial w_{hj}}&=\frac{\partial E_k}{\partial {\hat y^k_j}}\cdot\frac{\partial {\hat y^k_j}}{\partial \beta_j}\cdot\frac{\partial \beta_j}{\partial w_{hj}}(链式法则)\\ &=({\hat y^k_j}-y^k_j)\cdot{\hat y^k_j}\cdot(1-{\hat y^k_j})\cdot b_h \end{align} whjEk=y^jkEkβjy^jkwhjβj(链式法则)=(y^jkyjk)y^jk(1y^jk)bh
g j = ( y j k − y ^ j k ) ⋅ y ^ j k ⋅ ( 1 − y ^ j k ) g_j=({y^k_j}-{\hat y^k_j})\cdot{\hat y^k_j}\cdot(1-{\hat y^k_j}) gj=(yjky^jk)y^jk(1y^jk),于是有:
Δ w h j = η g j b h \Delta w_{hj}=\eta g_jb_h Δwhj=ηgjbh
同理得 Δ θ j = − η g j 、 Δ v i h = η e h x i 、 Δ γ h = − η e h \Delta\theta_j=-\eta g_j、\Delta v_{ih}=\eta e_hx_i、\Delta\gamma_h=-\eta e_h Δθj=ηgjΔvih=ηehxiΔγh=ηeh,其中:
e h = − ∂ E k ∂ b h ⋅ ∂ b h ∂ α h = − b h ⋅ ( 1 − b h ) ⋅ ∑ j = 1 l ∂ E k ∂ β j ⋅ ∂ β j ∂ b h = b h ⋅ ( 1 − b h ) ⋅ ∑ j = 1 l g j w h j \begin{align} e_h&=-\frac{\partial E_k}{\partial b_{h}}\cdot\frac{\partial b_h}{\partial \alpha_h}\\ &=-b_h\cdot(1-b_h)\cdot\sum\limits_{j=1}^{l}\frac{\partial E_k}{\partial \beta_{j}}\cdot\frac{\partial \beta_j}{\partial b_{h}}\\ &=b_h\cdot(1-b_h)\cdot\sum\limits_{j=1}^{l}g_jw_{hj} \end{align} eh=bhEkαhbh=bh(1bh)j=1lβjEkbhβj=bh(1bh)j=1lgjwhj

BP 算法的流程为:
机器学习——深度学习
BP 算法的目标是最小化累积误差 E = 1 m ∑ i = 1 k E k E = \frac{1}{m}\sum\limits_{i=1}^{k}E_k E=m1i=1kEk ;只要隐层有足够多的神经元,BP 神经网络能以任意精度逼近任意连续函数。

3 卷积神经网络

特点:

  • 继承 BP 神经网络的优点
  • 权值共享:卷积层、池化层的可训练参数仅与卷积窗的种类有关,每种卷积窗内部的神经元参数一致。(卷积层 or 池化层 → 卷积窗 → 神经元)
  • 卷积层:
    机器学习——深度学习
  • 池化层:
    机器学习——深度学习

以 LeNet-5 手写数字为例:
机器学习——深度学习
C1 层:

  • 输入图片大小:32*32
  • 卷积窗大小:5*5
  • 卷积窗种类:6
  • 输出特征图大小:28*28
  • 可训练参数:(5*5+1)*6(每种卷积窗有 25 个权值和 1 个偏置常数)
  • 神经元数量:28*28*6(每个输出特征图由 28*28 个神经元构成)
  • 连接数:(5*5+1)*28*28*6(每个神经元需要与视野域内的 5*5 个输入连接,还要与本卷积窗的偏置常数连接)

S2 层:

  • 输入图片大小:28*28
  • 卷积窗大小:2*2
  • 卷积窗种类:6(和输入的 6 个图片一一对应)
  • 输出下采样图的大小:14*14(与卷积层不同的是,池化层的步长为 2)
  • 可训练参数:(1+1)*6(池化层的神经元会先取其视野域内的4个输入的最大值(也可以是最小值、均值等),然后在乘以一个可训练权重 w ,再加上一个可训练偏置,故每种卷积窗的可训练参数为:1+1)
  • 神经元数量:14*14*6
  • 连接数:(2*2+1)*14*14*6

C3 层:

  • 输入图片大小:14*14
  • 卷积窗大小:5*5
  • 卷积窗种类:16
    机器学习——深度学习
  • 输出特征图大小:10*10
  • 可训练参数:(3*6+4*9+6*1)*25+16(6 种卷积窗的每个神经元与 3 个输入图片有关;9 种卷积窗的每个神经元与 4 个输入图片有关;1 种卷积窗的每个神经元与 6 个输入图片有关;每个输入图片有 25 个输入;16 种卷积窗各有 1 个偏置常数)
  • 神经元数量:10*10*6
  • 连接数:((3*6+4*9+6*1)*25+16)*10*10*6
输入图片大小 卷积窗大小 卷积窗种类 输出特征图大小 可训练参数 神经元数量 连接数
S4 10*10 2*2 16 5*5 (1+1)*16 5*5*16 (16*5*5+1)*120
C5(全连接) 5*5 5*5 120 1*1 (16*5*5+1)*120 120 (16*5*5+1)*120
F6(全连接) 1*1 1*1 84 1*1 (120+1)*84 84 (120+1)*84

OUTPUT层:文章来源地址https://www.toymoban.com/news/detail-502288.html

  • 输入向量:1*84
  • 输出向量:1*10

到了这里,关于机器学习——深度学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习入门——感知机

    感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。但是,和实际的电流不同的是,感知机的信号只有“流/不流”(1/0)两种

    2024年02月08日
    浏览(21)
  • 《动手学深度学习》——多层感知机

    参考资料: 《动手学深度学习》 隐藏层 + 激活函数能够模拟任何连续函数。 4.1.2.1 ReLu函数 ReLU ⁡ ( x ) = max ⁡ ( x , 0 ) operatorname{ReLU}(x) = max(x, 0) ReLU ( x ) = max ( x , 0 ) 当输入为负时,ReLU 的导数为 0 ;当输出为负时,ReLU 的导数为 1 。 ReLU的优势在于它的求导非常简单,要么让

    2024年02月12日
    浏览(46)
  • 自动驾驶环境感知之基于深度学习的毫米波雷达感知算法

    (1)基本的数据形式 ADC(数模转换)数据块:由Chirp采样N、每帧内Chirp个数M和天线K组成的三维数据块的中频信号 Range-Azimuth-Doppler数据块:将中频信号数据块分别在距离、速度、角度三个维度上进行FFT操作,得到距离-角度-速度表征的RAD数据块。其中,角度是指水平方向的旋

    2024年01月25日
    浏览(34)
  • 机器学习——感知机

    本章节主要介绍感知机的基础知识,虽然在目前的机器学习范围内,感知机已经不怎么使用,但是通过对感知机的学习可以更好的了解以后的线性模型等相关知识。 同时读者可以点击链接:机器学习-目录_欲游山河十万里的博客-CSDN博客 学习完整的机器学习的相关知识。  目

    2023年04月18日
    浏览(26)
  • 机器学习12-基本感知器

    感知器 (Perceptron)是一种最简单的人工神经网络结构,由美国心理学家Frank Rosenblatt在1957年提出。它是一种单层的 前馈神经网络 ,通常用于 二分类 问题。 基本感知器由 多个输入节点 、 一个输出节点 和 一组权重参数 组成。每个输入节点都与输出节点连接,并且具有一个

    2024年02月21日
    浏览(23)
  • 多层感知机与深度学习算法概述

    读研之前那会儿我们曾纠结于机器学习、深度学习、神经网络这些概念的异同。现在看来深度学习这一算法竟然容易让人和他的爸爸机器学习搞混…可见深度学习技术的影响力之大。深度学习,作为机器学习家族中目前最有价值的一种算法,正在悄悄改变着世界以及我们生活

    2024年02月09日
    浏览(50)
  • 【深度学习】1 感知机(人工神经元)

    认识感知机 感知机接收多个输入信号,输出一个信号 感知机的信号只有“流/不流”(1/0)两种取值 0对应“不传递信号”,1对应“传递信号”。 输入信号被送往神经元时,会被分别乘以固定的权重。神经元会计算传送过来的信号的综合,只有当这个综合超过了某个界限值时,

    2024年02月09日
    浏览(35)
  • 深度学习基础知识-感知机+神经网络的学习

    参考书籍:(找不到资源可以后台私信我) 《深度学习入门:基于Python的理论与实现 (斋藤康毅)》 《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition (Aurelien Geron [Géron, Aurélien])》 机器学习和深度学习的区别: Perceptron(感知机) 感知机就是一种接收多种输入信

    2023年04月26日
    浏览(47)
  • 李沐深度学习-激活函数/多层感知机文档

    multilayer perceptron (MLP):多层感知机(多层神经网络) (hidden layer)隐藏层: 介于输入层和输出层之间的网络层 输入层不涉及计算,如果一个神将网络由三层组成,则多层感知机层数为2 多层感知机中隐藏层和输出层都是全连接 隐藏层的输出(也叫隐藏层变量或隐藏变量) 隐藏层单元

    2024年01月24日
    浏览(28)
  • (5)深度学习学习笔记-多层感知机-pytorch lightning版

    pytorch lighting是导师推荐给我学习的一个轻量级的PyTorch库,代码干净简洁,使用pl更容易理解ML代码,对于初学者的我还是相对友好的。 pytorch lightning官网网址 https://lightning.ai/docs/pytorch/stable/levels/core_skills.html 代码如下: 代码如下:(可以直接把download改为true下载) 更多pl的方

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包