精华内容
下载资源
问答
  • 卷积神经网络CNN代码解析 deepLearnToolbox-master是一个深度学习matlab包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoEncoder(堆栈SAE,卷积CAE)的作者是 Rasmus Berg Palm ...

    卷积神经网络CNN代码解析 deepLearnToolbox-master是一个深度学习matlab包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoEncoder(堆栈SAE,卷积CAE)的作者是 Rasmus Berg Palm rasmusbergpalm@

    代码下载:/rasmusbergpalm/DeepLearnToolbox

    这里我们介绍deepLearnToolbox-master中的CNN部分。

    DeepLearnToolbox-master中CNN内的 函数:

    调用关系为:

    该模型使用了mnist的数字mnist_uint8.mat作为训练样本,作为cnn的一个使用样例,

    每个样本特征为一个28*28 的向量。

    网络结构为:

    让我们来看看各个函数:

    一、Test_example_CNN:2

    三、cnntrain.m5

    四、cnnff.m6

    五、cnnbp.m7

    五、cnnapplygrads.m10

    六、cnntest.m11

    Test_example_CNN:

    Test_example_CNN:

    1设置CNN的基本参数规格,如卷积、降采样层的数量,卷积核的大小、降采样的降幅

    2 cnnsetup函数 初始化卷积核、偏置等

    3 cnntrain函数 训练cnn,把训练数据分成batch,然后调用

    3.1 cnnff 完成训练的前向过程,

    3.2 cnnbp计算并传递神经网络的error,并计算梯度(权重的修改量)

    3.3 cnnapplygrads 把计算出来的梯度加到原始模型上去

    4 cnntest 函数,测试当前模型的准确率

    该模型采用的数据为mnist_uint8.mat,

    含有70000个手写数字样本其中60000作为训练样本,10000作为测试样本。

    把数据转成相应的格式,并归一化。

    设置网络结构及训练参数

    初始化网络,对数据进行批训练,验证模型准确率

    绘制均方误差曲线

    二、Cnnsetup.m

    该函数你用于初始化CNN的参数。

    设置各层的mapsize大小,

    初始化卷积层的卷积核、bias

    尾部单层感知机的参数设置

    *

    bias统一设置为0

    权重设置为:-1~1之间的随机数/sqrt(6/(输入神经元数量+输出神经元数量))

    对于卷积核权重,输入输出为fan_in, fan_out

    fan_out net.layers l .outputmaps * net.layers l .kernelsize ^ 2;

    %卷积核初始化,1层卷积为1*6个卷积核,2层卷积一共6*12 72个卷积核。对于每个卷积输出featuremap,

    %fan_in 表示该层的一个输出map,所对应的所有卷积核,包含的神经元的总数。1*25,6*25

    fan_in numInputmaps * net.layers l .kernelsize ^ 2;

    fin 1*25 or 6*25

    fout 1*6*25 or 6*12*25

    net.layers l .k i j rand net.layers l .kernelsize - 0.5 * 2 * sqrt 6 / fan_in + fan_out ;

    1 卷积降采样的参数初始化

    2尾部单层感知机的参数(权重和偏量)设置:

    三、cnntrain.m

    该函数用于训练CNN。

    生成随机序列,每次选取一个batch(50)个样本进行训练。

    批训练:计算50个随机样本的梯度,求和之后一次性更新到模型权重中。

    在批训练过程中调用:

    Cnnff.m 完成前向过程

    Cnnbp.m 完成误差传导和梯度计算过程

    Cnnapplygrads.m 把计算出来的梯度加到原始模型上去

    四、cnnff.m

    1、取得CNN的输入

    2、两次卷积核降采样层处理

    3、尾部单层感知机的数据处理,需要把subFeatureMap2连接成为一个 4*4 *12 192的向量,但是由于采用了50样本批训练的方法,subFeatureMap2被拼合成为一个192*50的特征向量fv;

    Fv作为单层感知机的输入,全连接的方式得到输出层

    五、cnnbp.m

    该函数实现2部分功能,计算并传递误差,计算梯度

    1、计算误差和LossFunction

    计算尾部单层感知机的误差

    把单层感知机的输入层featureVector的误差矩阵,恢复为subFeatureMap2的4*4二维矩阵形式

    插播一张图片:

    误差在特征提取网络【卷积降采样层】的传播

    如果本层是卷积层,它的误差是从后一层(降采样层)传过来,误差传播实际上是用降采样的反向过程,也就是降采样层的误差复制为2*2 4份。卷积层的输入是经过sigmoid处理的,所

    展开全文
  • 有关神经网络训练时使用的学习率参数说法错误的是? A.网络训练时刚开始学习率可以大一些,以便提高学习速度,随后应减少学习率,以免引起学习震荡 B.学习率可以与其他网络参数一起训练,对降低代价函数是...

    神经网络的基础知识

    返回

    已经超过规定的测试次数或提交截止时间已过。你可以作为自我学习进行测验,但提交的结果将无法获得学分。

    1单选(2分)

    有关神经网络训练时使用的学习率参数说法错误的是?

    • A.网络训练时刚开始学习率可以大一些,以便提高学习速度,随后应减少学习率,以免引起学习震荡

    • B.学习率可以与其他网络参数一起训练,对降低代价函数是有利的

    • C.学习率过大更容易导致训练陷入局部极小值

    • D.学习率可以随着训练误差动态调整效果更好

    2单选(2分)

    下面哪个选项不是神经网络训练过程中过拟合的防止方法?

    • A.提前终止

    • B.L2正则化

    • C.增加学习率

    • D.dropout

    3单选(2分)

    有关BP神经网络的说法,错误是哪个?

    • A.易陷入局部极小值

    • B.训练时新样本的加入对已经学习的样本没影响

    • C.学习效率低,收敛速度慢

    • D.隐层的个数以及隐层节点的数量选取缺乏理论指导

    4单选(2分)

    有关神经网络参数初始化的说法错误的是哪个?

    • A.Xavier初始化可以减少梯度消失

    • B.使用正态分布初始化,但权重取太大或太小都会影响网络的训练

    • C.权重和偏置都可以取全零初始化

    • D.合适的权重初始化可以加快神经网络的训练和效果

    5单选(2分)

    有关BP网络的说法,哪个是正确的?

    • A.在使用梯度下降时,加上冲量项会减少训练的速度,但可能会增加陷入局部极小值的可能

    • B.与批量梯度下降法相比,使用小批量梯度下降法可以降低训练速度,但达到全局最优解可能需要更多的迭代次数

    • C.交叉熵也可以作为分类预测问题的损失函数

    • D.神经元的激活函数选择不影响神经网络的训练过程和最终性能

    6单选(2分)

    梯度消失问题的认识哪个是正确的?

    • A.隐层的权重取值大容易导致梯度消失

    • B.隐藏层神经元的个数太多导致

    • C.隐藏层太多时,可能导致靠近输入层的权重的偏导数太小而得不到更新

    • D.神经元处于Sigmoid等激活函数的饱和区工作,梯度值偏小

    7单选(2分)

    一个含有2个隐层的BP神经网络,神经元个数都为20,输入和输出节点分别有8和5个节点,这个网络的权重和偏置数分别是多少?

    • A.3000,32

    • B.660,45

    • C.16000,48

    • D.3200,45

    8单选(2分)

    AI的应用领域十分广泛,以下属于人工智能AI应用领域的是?

    • A.视频监控

    • B.公共交通

    • C.商品零售业 

    • D.其他都是

    9单选(2分)

    下面哪项不是机器视觉的功能?

    • A.图像分类

    • B.计算机写诗

    • C.目标检测

    • D.人体步态识别

    10多选(3分)

    下面哪些是深度学习快速发展的原因?

    • A.可以获得更多的数据

    • B.性能更好的算法

    • C.神经网络是一个新领域

    • D.更快的计算能力

    正确答案:A、B、D

    11多选(3分)

    有关BP神经网络的不足的说法哪些是正确的?

    • A.隐节点的个数可以随意取

    • B.学习效率低

    • C.易陷入局部极小

    • D.检验时新样本与训练样本差别大泛化效果弱

    正确答案:B、C、D

    12多选(3分)

    下面有关神经网络的说法,正确的是?

    • A.神经网络的训练主要是针对神经元之间的权重和神经元的偏置进行一定的调整,使得代价函数极小化

    • B.神经网络不同层次的神经元可以使用不同的激活函数

    • C.均方差损失函数是神经网络常用的一种代价函数(损失函数

    • D.神经网络神经元的输出都是传给其他神经元,不能再反馈回来

    正确答案:A、B、C

    13多选(3分)

    关于模型参数(权重值)的描述,正确的说法是哪些?

    • A.在训练神经网络过程中,参数不断调整,其调整的依据是基于损失函数不断减少

    • B.每一次Epoch都会对之前的参数进行调整,迭代次数越多,损失函数一般越小

    • C.模型参数量越多越好,但没有固定的对应规则

    • D.训练好的神经网络模型存储于一定结构的神经元之间的权重和神经元的偏置中

    正确答案:A、B、D

    14多选(3分)

    下面哪些场景适合目标检测?

    • A.作业帮以图搜图查询答案

    • B.车牌检测

    • C.通过摄像头从一群人中搜索嫌疑犯

    • D.把一行句子分词

    正确答案:A、B、C

    15判断(2分)

    由于信息时代的快速发展,每天产生的数据与信息不计其数,所以人类寻求使用人工智能(AI)的方式,制造出智能系统来帮助人类自己做信息的处理与判断。

    (正确)

    展开全文
  • 内容来源:《神经网络与深度学习》。 通俗地讲, 机器学习(Machine Learning, ML)就是让计算机从数据中进行自动学习,得到某种知识(或规律)。作为一门学科,机器学习通常指一类问题以及解决这类问题的方法,即...

    本篇为对机器学习基础的概要总结。内容来源: 《神经网络与深度学习》

    通俗地讲, 机器学习(Machine Learning, ML)就是让计算机从数据中进行自动学习,得到某种知识(或规律)。作为一门学科,机器学习通常指一类问题以及解决这类问题的方法,即如何从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对未知或无法观测的数据进行预测。

    机器学习问题在早期的工程领域也经常称为模式识别(Pattern Recognition, PR),但模式识别更偏向于具体的应用任务,比如光学字符识别、语音识别,人脸识别等。这些任务的特点是对于我们人类而言,这些任务很容易完成,但我们不知道自己是如何做到的,因此也很难人工设计一个计算机程序来解决这些任务。一个可行的方法是设计一个算法可以让计算机自己从有标注的样本上学习其中的规律,并用来完成各种识别任务。随着机器学习技术的应用越来越广,现在机器学习的概念逐渐替代模式识别,成为这一类问题及其解决方法的统称。
    本章先介绍机器学习的基本概念和要素,并较详细地描述一个简单的机器学习例子, 线性回归


    2.1 基本概念

    首先介绍下机器学习中的一些基本概念:包括样本、特征、标签、模型、学习算法等。以一个生活中的经验学习为例,假设我们要到市场上购买芒果,但是之前毫无挑选芒果的经验,那么我们如何通过学习来获取这些知识?

    首先,我们从市场上随机选取一些芒果,列出每个芒果的特征(Feature)特 征 也 可 以 称 为 属 性(Attribute)。 ,包括颜色,大小,形状,产地,品牌,以及我们需要预测的标签(label)。标签可以连续值(比如关于芒果的甜度、水分以及成熟度的综合打分),也可以是离散值(比如“好”“坏”两类标签)。样本(Sample),也叫示例(Instance)。

    一个标记好特征以及标签的芒果可以看作是一个样本(Sample)。一组样本构成的集合称为数据集(Data Set)。一般将数据集分为两部分:训练集和测试集。 训练集(Training Set)中的样本是用来训练模型的,也叫训练样本(Training Sample),而测试集(Test Set)中的样本是用来检验模型好坏的,也叫测试样本(Test Sample)。在很多领域,数据集也经常称为语料库(Corpus)。

    我们用一个 d维向量 \mathbf{x}=\left[x_{1}, x_{2}, \cdots, x_{d}\right]^{\mathrm{T}} 表示一个芒果的所有特征构成的向量,称为特征向量(Feature Vector),其中每一维表示一个特征。假设训练集由 N 个样本组成,其中每个样本都是独立同分布(Identically and Independently Distributed, IID)的,即独立地从相同的数据分布中抽取的,即为:

    \mathcal{D}=\left\{\left(\mathbf{x}^{(1)}, y^{(1)}\right),\left(\mathbf{x}^{(2)}, y^{(2)}\right), \cdots,\left(\mathbf{x}^{(N)}, y^{(N)}\right)\right\}

    并不是所有的样本特征都是数值型,需要通过转换表示为特征向量,参见第2.6节。

    给定训练集D,我们希望让计算机自动寻找一个函数 f(x, θ)来建立每个样本特性向量x和标签y 之间的映射。对于一个样本x,我们可以通过决策函数来预测其标签的值

    \hat{y}=f(\mathbf{x}, \theta)

    或标签的条件概率

    p(y | \mathbf{x})=f_{y}(\mathbf{x}, \theta)

    其中 θ 为可学习的参数。
     

    图2.2给出了机器学习的基本概念。对一个预测任务,输入特征向量为x,输 方法。出标签为y,我们选择一个函数f(x, θ),通过学习算法A和一组训练样本D,找到一组最优的参数θ∗,得到最终的模型f(x, θ∗)。这样就可以对新的输入x进行预测。
     

     

    2.2 机器学习的三个基本要素

    机器学习是从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法

    2.2.1 模型

    一个机器学习任务要先需要确定其输入空间 X 和输出空间 Y。不同机器学习任务的主要区别在于输出空间不同。在两类分类问题中 \mathcal{Y}=\{+1,-1\},在 C类分类问题中 \mathcal{Y}=\{1,2, \cdots, C\},而在回归问题中 Y = R。这里,

    输入空间默认为样本输入空间 \mathcal{X} 和输出空间 \mathcal{Y} 构成了一个样本空间。对于样本空间中的样本(\mathbf{x}, y) \in \mathcal{X} \times \mathcal{Y},假定存在一个未知的真实映射函数g : \mathcal{X} \rightarrow \mathcal{Y}使得

    y=g(\mathbf{x})

    或者真实条件概率分布

    p_{r}(y | \mathbf{x})

    机器学习的目标是找到一个模型来近似真实映射函数g(\mathbf{x})或真实条件概率分布p_{r}(y | \mathbf{x})

    2.2.1.1 线性模型

    线性模型的假设空间为一个参数化的线性函数族,对于分类问题,一般为广义线性函数,参见公式 (3.3)。

    f(\mathbf{x}, \theta)=\mathbf{w}^{\mathrm{T}} \mathbf{x}+b
    其中参数 θ 包含了权重向量 w和偏置 b。

    2.2.1.2 非线性模型

    广义的非线性模型可以写为多个非线性基函数 ϕ(x)的线性组合

    f(\mathbf{x}, \theta)=\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x})+b

    \phi(\mathbf{x})=\left[\phi_{1}(\mathbf{x}), \phi_{2}(\mathbf{x}), \cdots, \phi_{K}(\mathbf{x})\right]^{\mathrm{T}}为K 个非线性基函数组成的向量,参数 θ 包含了权重向量 w和偏置 b。

    如果 ϕ(x)本身为可学习的基函数,比如

    \phi_{k}(\mathbf{x})=h\left(\mathbf{w}_{k}^{\mathrm{T}} \boldsymbol{\phi}^{\prime}(\mathbf{x})+b_{k}\right), \forall 1 \leq k \leq K

    其中h(\cdot)为非线性函数, \phi^{\prime}(\mathbf{x})为另一组基函数,w_k 和b_k 为可学习的参数,则f(\mathbf{x}, \theta)就等价于神经网络模型。
     

    2.2.2 学习准则

    好的模型应该与真实映射函数一致或者与真实条件概率一致。

    2.2.2.1 损失函数

     

    2.2.2.2 风险最小化准则

    2.2.3 优化算法

    在确定了训练集 D、假设空间 F 以及学习准则后,如何找到最优的模型f(x, θ∗)就成了一个最优化(Optimization)问题。机器学习的训练过程其实就是最优化问题的求解过程。

    参数与超参数 常见的超参数包括:聚类算法中的类别个数、梯度下降法的步长、正则项的系数、神经网络的层数、支持向量机中的核函数等。超参数的选取一般都是组合优化问题,很难通过优化算法来自动学习。因此,超参数优化是机器学习的一个经验性很强的技术,通常是按照人的经验设定,或者通过搜索的方法对一组超参数组合进行不断试错调整。超参数的优化参见第7.6

    2.2.3.1 梯度下降法
    为了充分利用凸优化中一些高效、成熟的优化方法,比如共轭梯度、拟牛顿法等,很多机器学习方法都倾向于选择合适的模型和损失函数以构造一个凸函数作为优化目标。但也有很多模型(比如神经网络)的优化目标是非凸的,只能退而求其次找到局部最优解。
    不同机器学习算法的区别在于模型、学习准则(损失函数)和优化算法的差异。相同的模型也可以有不同的学习算法。比如线性分类模型有感知器、 logistic回归和支持向量机,它们之间的差异在于使用了不同的学习准则和优化算法。在机器学习中,最简单、常用的优化算法就是梯度下降法,即通过迭代的梯度下降法参见方法来计算训练集D上风险函数的最小值。

    2.2.3.2 提前停止

    针对梯度下降的优化算法,除了加正则化项之外,还可以通过提前停止来防止过拟合。在梯度下降训练的过程中,由于过拟合的原因,在训练样本上收敛的参数,并不一定在测试集上最优。因此,除了训练集和测试集之外,有时也会使用一个验证集(Validation Set)来进行模型选择,测试模型在验证集上是否最优。在每次迭代时,把新得到的模型 f(x, θ) 在验证集上进行测试,并计算错误率。验 证 集 也 叫 开 发 集(Development Set)。 如果在验证集上的错误率不再下降,就停止迭代。这种策略叫提前停止(EarlyStop)。如果没有验证集,可以在训练集上划分出一个小比例的子集作为验证集。图2.4给出了提前停止的示例。

    2.2.3.3 随机梯度下降法

    批量梯度下降和随机梯度下降之间的区别在于每次迭代的优化目标是对所有样本的平均损失函数还是单个样本的损失函数。随机梯度下降因为实现简单,收敛速度也非常快,因此使用非常广泛。随机梯度下降相当于在批量梯度下降的梯度上引入了随机噪声。当目标函数非凸时,反而可以使其逃离局部最优点。

    2.2.3.4 Mini-batch

     

    2.3 机器学习的简单示例:线性回归

    线性回归(Linear Regression)是机器学习和统计学中最基础和广泛应用的模型,是一种对自变量和因变量之间关系进行建模的回归分析。自变量数量为 1时称为简单回归,自变量数量大于 1时称为多元回归。

    2.3.1 参数学习

    给定一组包含 N 个训练样本的训练集\mathcal{D}=\left\{\left(\mathbf{x}^{(n)}, y^{(n)}\right)\right\}, 1 \leq n \leq N,我们希望能够学习一个最优的线性回归的模型参数 w。

    我们介绍四种不同的参数估计方法:经验风险最小化、结构风险最小化、最大似然估计、最大后验估计。

    2.3.1.1 经验风险最小化

    根据经验风险最小化准则,训练集D 上的的经验风险定义为

    \begin{aligned} \mathcal{R}(\mathbf{w}) &=\sum_{n=1}^{N} \mathcal{L}\left(y^{(n)}, f\left(\mathbf{x}^{(n)}, \mathbf{w}\right)\right) \\ &=\frac{1}{2} \sum_{n=1}^{N}\left(y^{(n)}-\mathbf{w}^{\mathrm{T}} \mathbf{x}^{(n)}\right)^{2} \\ &=\frac{1}{2}\left\|\mathbf{y}-X^{\mathrm{T}} \mathbf{w}\right\|^{2} \end{aligned}

    其中\mathbf{y} \in \mathbb{R}^{N}是由每个样本的真实标签y^{(1)}, \cdots, y^{(N)}组成的列向量,X \in \mathbb{R}^{(d+1) \times N}是所有输入 \mathbf{x}^{(1)}, \cdots, \mathbf{x}^{(N)}\mathbf{x}^{(1)}, \cdots, \mathbf{x}^{(N)}组成的矩阵

    X=\left[ \begin{array}{cccc}{x_{1}^{(1)}} & {x_{1}^{(2)}} & {\dots} & {x_{1}^{(N)}} \\ {\vdots} & {\vdots} & {\ddots} & {\vdots} \\ {x_{d}^{(1)}} & {x_{d}^{(2)}} & {\cdots} & {x_{d}^{(N)}} \\ {1} & {1} & {\cdots} & {1}\end{array}\right]

    风险函数R(w)是关于 w的凸函数,其对 w的偏导数为

    \begin{aligned} \frac{\partial \mathcal{R}(\mathbf{w})}{\partial \mathbf{w}} &=\frac{1}{2} \frac{\partial\left\|\mathbf{y}-X^{\mathrm{T}} \mathbf{w}\right\|^{2}}{\partial \mathbf{w}} \\ &=-X\left(\mathbf{y}-X^{\mathrm{T}} \mathbf{w}\right) \end{aligned}

    \frac{\partial}{\partial \mathbf{w}} \mathcal{R}(\mathbf{w})=0,得到最优的参数 w∗ 为

    \mathbf{w}^{*}=\left(X X^{\mathrm{T}}\right)^{-1} X \mathbf{y}

    =\left(\sum_{n=1}^{N} \mathbf{x}^{(n)}\left(\mathbf{x}^{(n)}\right)^{\mathrm{T}}\right)^{-1}\left(\sum_{n=1}^{N} \mathbf{x}^{(n)} y^{(n)}\right)

    这种求解线性回归参数的方法也叫最小二乘法估计(Least Square Estimation,LSE)。图2.5给出了用最小二乘法估计方法来进行参数学习的示例。

    在最小二乘法估计方法中,X X^{\mathrm{T}} \in \mathbb{R}^{(d+1) \times(d+1)} 必须存在逆矩阵,即 XX T是满秩的\left(\operatorname{rank}\left(X X^{\mathrm{T}}\right)=d+1\right)。也就是说, X 中的每一行特征之间是线性不相关的。一种常见的 X X^{\mathrm{T}}不可逆情况是样本数量 N 小于特征数量(d + 1),X X^{\mathrm{T}}的秩为 N。这时会存在很多解 w∗,可以使得\mathcal{R}\left(\mathbf{w}^{*}\right)=0

    X X^{\mathrm{T}}不可逆时,可以使用主成分分析等方法来预处理数据,消除不同特征之间的相关性,然后再使用最小二乘估计方法来求解。或者是通过用梯度下降法来求解。初始化 \mathbf{W}_{0}=0,通过下面公式进行迭代,

    \mathbf{w} \leftarrow \mathbf{w}+\alpha X\left(\mathbf{y}-X^{\mathrm{T}} \mathbf{w}\right)

    其中 α是学习率。这种方法也称为最小均方误差(Least Mean Squares, LMS)算法。

    2.3.1.2 结构风险最小化

    最小二乘法估计的基本要求是各个特征之间要相互独立,保证X X^{\mathrm{T}}可逆。但即使X X^{\mathrm{T}}可逆,如果特征之间可能会有较大的共线性(Multicollinearity),也会使得X X^{\mathrm{T}}的逆在数值上无法准确计算。数据集 X 上一些小的扰动就会导致\left(X X^{\mathrm{T}}\right)^{-1}发生大的改变,进而使得最小二乘法估计的计算变得很不稳定。为了解决这个问题, Hoerl and Kennard [1970]提出了岭回归(Ridge Regression),给X X^{\mathrm{T}}的对角线元素都加上一个常数 λ使得\left(X X^{\mathrm{T}}+\lambda I\right)满秩,即其行列式不为 0。最优的参数 w∗ 为

    \mathbf{w}^{*}=\left(X X^{\mathrm{T}}+\lambda I\right)^{-1} X \mathbf{y}

    其中 λ > 0为预先设置的超参数, I 为单位矩阵。
    岭回归的解 w∗ 可以看做是结构风险最小化准则下的最小二乘法估计。

    \mathcal{R}(\mathbf{w})=\frac{1}{2}\left\|\mathbf{y}-X^{\mathrm{T}} \mathbf{w}\right\|^{2}+\frac{1}{2} \lambda\|\mathbf{w}\|^{2}

    其中 \lambda>0为正则化系数。

    2.3.1.3 最大似然估计

    机器学习任务可以分为两类,一类是样本的特征向量 x 和标签 y 之间如果存在未知的函数关系 y=h(\mathrm{x}),另一类是条件概率p(y | \mathbf{x})服从某个未知分布。第2.3.1.1中介绍的最小二乘估计是属于第一类,直接建模x和标签y之间的函数关系。此外,线性回归还可以通过建模条件概率 p(y|x)的角度来进行参数估计。

    \begin{aligned} p(y | \mathbf{x}, \mathbf{w}, \sigma) &=\mathcal{N}\left(y | \mathbf{w}^{\mathrm{T}} \mathbf{x}, \sigma^{2}\right) \\ &=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y-\mathbf{w}^{\mathrm{T}} \mathbf{x}\right)^{2}}{2 \sigma^{2}}\right) \end{aligned}
    参数 w在训练集 D 上的似然函数(Likelihood)为

    \begin{aligned} p(\mathbf{y} | X, \mathbf{w}, \sigma) &=\prod_{n=1}^{N} p\left(y^{(n)} | \mathbf{x}^{(n)}, \mathbf{w}, \sigma\right) \\ &=\prod_{n=1}^{N} \mathcal{N}\left(y^{(n)} | \mathbf{w}^{\mathrm{T}} \mathbf{x}^{(n)}, \sigma^{2}\right) \end{aligned}

    为了方便计算,对似然函数取对数得到对数似然函数(Log Likelihood),

    \log p(\mathbf{y} | X, \mathbf{w}, \sigma)=\sum_{n=1}^{N} \log \mathcal{N}\left(y^{(n)} | \mathbf{w}^{\mathrm{T}} \mathbf{x}^{(n)}, \sigma^{2}\right)

    最大似然估计(Maximum Likelihood Estimate, MLE)是指找到一组参数w使得似然函数p(\mathbf{y} | X, \mathbf{w}, \sigma)最大,等价于对数似然函数 log \log p(\mathbf{y} | X, \mathbf{w}, \sigma)最大。

    \frac{\partial \log p(\mathbf{y} | X, \mathbf{w}, \sigma)}{\partial \mathbf{w}}=0,得到

    \mathbf{w}^{M L}=\left(X X^{\mathrm{T}}\right)^{-1} X \mathbf{y}

    可以看出,最大似然估计的解和最小二乘估计的解相同

    2.3.1.4 最大后验估计

    假设参数 w为一个随机向量,并服从一个先验分布p(\mathbf{w} | \nu)。简单起见,一般令p(\mathbf{w} | \nu)为各向同性的高斯分布

    p(\mathbf{w} | \nu)=\mathcal{N}\left(\mathbf{w} | \mathbf{0}, \nu^{2} I\right)

    根据贝叶斯公式,那么参数w的后验概率分布(Posterior Distribution)为

    \begin{aligned} p(\mathbf{w} | X, \mathbf{y}, \nu, \sigma) &=\frac{p(\mathbf{w}, \mathbf{y} | X, \nu, \sigma)}{\sum_{\mathbf{w}} p(\mathbf{w}, \mathbf{y} | X, \nu, \sigma)} \\ & \propto p(\mathbf{y} | X, \mathbf{w}, \sigma) p(\mathbf{w} | \nu) \end{aligned}

    令似然函数p(\mathbf{y} | X, \mathbf{w}, \sigma))为公式 (2.49)中定义的高斯密度函数,则后验分布\log p(\mathbf{y} | X, \mathbf{w}, \sigma)的对数为

    \begin{aligned} \log p(\mathbf{w} | X, \mathbf{y}, \nu, \sigma) & \propto \log p(\mathbf{y} | X, \mathbf{w}, \sigma)+\log p(\mathbf{w} | \nu) \\ & \propto-\frac{1}{2 \sigma^{2}} \sum_{n=1}^{N}\left(y^{(n)}-\mathbf{w}^{\mathrm{T}} \mathbf{x}^{(n)}\right)^{2}-\frac{1}{2 \nu^{2}} \mathbf{w}^{\mathrm{T}} \mathbf{w} \\ &=-\frac{1}{2 \sigma^{2}} \sum^{N}\left\|\mathbf{y}-\mathbf{w}^{\mathrm{T}} X\right\|^{2}-\frac{1}{2 \nu^{2}} \mathbf{w}^{\mathrm{T}} \mathbf{w} \end{aligned}

     

    2.4 偏差-方差分解

    \begin{aligned} \mathbb{E}_{\mathcal{D}} &\left[\left(f_{\mathcal{D}}(\mathbf{x})-f^{*}(\mathbf{x})\right)^{2}\right] \\ &=\mathbb{E}_{\mathcal{D}}\left[\left(f_{\mathcal{D}}(\mathbf{x})-\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathbf{x})\right]+\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathbf{x})\right]-f^{*}(\mathbf{x})\right)^{2}\right] \\ &=\underbrace{\left(\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathbf{x})\right]-f^{*}(\mathbf{x})\right)^{2}+\mathbb{E}_{\mathcal{D}}\left[\left(f_{\mathcal{D}}(\mathbf{x})-\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathbf{x})\right]\right)^{2}\right]} \end{aligned}

     

    2.5 机器学习算法的类型

    监督学习 如果机器学习的目标是通过建模样本的特征 x 和标签 y 之间的关系:y=f(\mathbf{x}, \theta)p(y | \mathbf{x}, \theta),并且训练集中每个样本都有标签,那么这类机器学习称为监督学习(Supervised Learning)。根据标签类型的不同,监督学习又可以分为回归和分类两类。
    1. 回归(Regression)问题中的标签 y 是连续值(实数或连续整数), f(x, θ)的输出也是连续值。
    2. 分类(Classification)问题中的标签y是离散的类别(符号)。在分类问题中,学习到模型也称为分类器(Classifier)。分类问题根据其类别数量又可分为两类分类(Binary Classification)和多类分类(Multi-class Classification)问题。
    3. 结构化学习(Structured Learning)的输出是结构化的对象,比如序列、树或图等。由于结构化学习的输出空间比较大,因此我们一般定义一个联合特征空间,将 x, y 映射为该空间中的联合特征向量 ϕ(x, y),预测模型可以写为

    \hat{\mathbf{y}}=\underset{\mathbf{y} \in \operatorname{Gen}(\mathbf{x})}{\arg \max } f(\boldsymbol{\phi}(\mathbf{x}, \mathbf{y}), \theta)

    其中 Gen(x)表示输入x所有可能的输出目标集合。计算 arg max的过程也一种基于感知器的结构化学。 称为解码(Decoding)过程,一般通过动态规划的方法来计算

    无监督学习 无监督学习(Unsupervised Learning, UL)是指从不包含目标标签的训练样本中自动学习到一些有价值的信息。典型的无监督学习问题有聚类、密度估计、特征学习、降维等。无监督学习参见第9章

    强化学习 强化学习(Reinforcement Learning, RL)是一类通过交互来学习的机器学习算法。在强化学习中,智能体根据环境的状态做出一个动作,并得到强化学习参见第14章。即时或延时的奖励。智能体在和环境的交互中不断学习并调整策略,以取得最大化的期望总回报。

     

    2.6 数据的特征表示

    图像特征 在手写体数字识别任务中,样本 x为待识别的图像。为了识别 x是什么数字,我们可以从图像中抽取一些特征。如果图像是一张大小为 m × n的图像,其特征向量可以简单地表示为 m × n维的向量,每一维的值为图像中对应像素的灰度值。为了提高模型准确率,也会经常加入一个额外的特征,比如直方图、宽高比、笔画数,纹理特征、边缘特征等。假设我们总共抽取了 d 个特征,这些特征可以表示为一个向量\mathbf{x} \in \mathbb{R}^{d}

    文本特征 在文本情感分类任务中,样本 x为自然语言文本,类别 y ∈ {+1, -1}分别表示正面或负面的评价。为了将样本x从文本形式转为为向量形式,一种简单的方式是使用词袋模型(Bag-of-Words, BoW)模型。假设训练集合中的词都词袋模型在信息检索中也叫做向量空间模型(Vector Space Model, VSM)来自一个词表V,大小为|V|,则每个样本可以表示为一个|V|维的向量x ∈ R|V|,向量中每一维 xi 的值为词表中的第 i个词是否在 x中出现。如果出现值为 1,否则为 0。

    表示学习 如果直接用数据的原始特征来进行预测,对机器学习模型的能力要求比较高。这些原始特征可能存在以下几种不足:(1)特征比较单一,需要进行(非线性的)组合才能发挥其作用;(2)特征之间冗余度比较高;(3)并不是所有的特征都对预测有用;(4)很多特征通常是易变的;(5)特征中往往存在一些噪声。

    2.7 评价指标

    1. 真正例(True Positive, TP):一个样本的真实类别为 c并且模型正确地预测为类别 c。这类样本数量记为TP表示。

    T P_{c}=\sum_{n=1}^{N} I\left(y^{(n)}=\hat{y}^{(n)}=c\right)
    2. 假负例(False Negative, FN):一个样本的真实类别为 c,模型错误地预测为其它类 c。这类样本数量记为

    F N_{c}=\sum_{n=1}^{N} I\left(y^{(n)}=c \wedge \hat{y}^{(n)} \neq c\right)
    3. 假正例(False Positive, FP)一个样本的真实类别为其它类,模型错误地预测为类 c。这类样本数量记为

    F P_{c}=\sum_{n=1}^{N} I\left(y^{(n)} \neq c \wedge \hat{y}^{(n)}=c\right)
    4. 真负例(True Negative, TN):一个样本的真实类别为其它类,模型也预测为其它类。这类样本数量记为 T Nc。对于类别 c来说,这种情况一般不需要关注。

    交叉验证 交叉验证(Cross Validation)是一种比较好的可能衡量机器学习模型的统计分析方法,可以有效避免划分训练集和测试集时的随机性对评价结果造成的影响。我们可以把原始数据集平均分为 K 组不重复的子集,每次选 K - 1组子集作为训练集,剩下的一组子集作为验证集。这样可以进行 K 次试验并得到K 个模型。这K 个模型在各自验证集上的错误率的平均作为分类器的评价。
     

    2.8 理论和定理

    2.8.1 PAC 学习理论

    机器学习中一个很关键的问题是期望错误和经验错误之间的差异,称为泛化错误(Generalization Error)。泛化错误可以衡量一个机器学习模型 f 是否可以很好地泛化到未知数据。

     

    2.8.2 没有免费午餐定理

    没有免费午餐定理(No Free Lunch Theorem, NFL)是由 Wolpert和 Macerday在最优化理论中提出的。没有免费午餐定理证明:对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效。如果一个算法对某些问题有效,那么它一定在另外一些问题上比纯随机搜索算法更差。也就是说,不能脱离具体问题来谈论算法的优劣,任何算法都有局限性。必须要“具体问题具体分析”。
    不存在一种机器学习算法适合于任何领域或任务。

    2.8.3 丑小鸭定理

    丑小鸭定理(Ugly Duckling Theorem)是 1969年由渡边慧提出的 [Watan-able, 1969]。“丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大”。这个定理初看好像不符合常识,但是仔细思考后是非常有道理的。因为世界上不存在相似性的客观标准,一切相似性的标准都是主观的。如果以体型大小的角度来看,丑小鸭和白天鹅的区别大于两只白天鹅的区别;但是如果以基因的角度来看,丑小鸭与它父母的差别要小于他父母和其他白天鹅之间的差别。

    2.8.4 奥卡姆剃刀

    • 习题 2-1 分析为什么平方损失函数不适用于分类问题。

    对于分类问题,我们的分类结果一般是0/1表示,如果仅仅使用MSLoss来计算预测结果和实际结果显得十分简单粗暴,我们更好的方式是·是衡量这二者的概率分布的差异,就是交叉熵,因为它的设计初衷,就是要衡量两个概率分布之间的差异。

    • 习题 2-2 在线性回归中,如果我们给每个样本\left(\mathbf{x}^{(n)}, y^{(n)}\right)赋予一个权重r^{(n)},经验风险函数为      \mathcal{R}(\mathbf{w})=\frac{1}{2} \sum_{n=1}^{N} r^{(n)}\left(y^{(n)}-\mathbf{w}^{\mathrm{T}} \mathbf{x}^{(n)}\right)^{2}                                                                                                                                                      4   计算其最优参数 w∗,并分析权重 r(n) 的作用。

     

     

     

     

     

     

    展开全文
  • 计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,根据梯度方向更新权值。 (1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程; (2)...
    1、反向传播思想:
    计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,根据梯度方向更新权值。
    (1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
    (2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
    (3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。
    2、无监督逐层训练:预训练:每次训练一层隐结点。训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为 下一层隐结点的输入。在预训练结束后,再对整个网络进行微调训练。
    3、DNN:指深度神经网络,与RNN循环神经网络、CNN卷积神经网络的区别就是,DNN特指全连接的神经元结构,并不包含卷积单元 或时间上的关联。
    一、DBN:(预训练+微调)
    思想:整个网络看成是多个RBM的堆叠,在使用无监督逐层训练时,首先训练第一层,然后将第一层预训练好的隐结点视为第二层的输入节点,对第二层进行预训练,各层预训练完成后,再用BP算法对整个网络进行训练。
    整体解释:预训练+微调 的做法可视为将大量参数分组,对每组先找到局部看起来比较好的位置,然后再基于这些局部较优的结果联合起来进行全局寻优。好处:利用了模型大量参数所提供的自由度,有效的节省了训练开销。
    补充:是一个概率生成模型,与传统的判别神经网络不同的是,生成模型建立了观察数据和标签之间的联合分布,而判别模型只评估了条件概率。
    DBN遇到的问题:需要为训练提供一个有标签的样本集;学习过程较慢;不适当的参数选择导致学习收敛于局部最优解。

    二、CNN:(局部感知+权共享机制:让一组神经元使用相同的连接权)
    提出:全连接的结构下会引起参数数量的膨胀,容易过拟合且局部最优。图像中有固有的局部模式可以利用,所以,提出了CNN,并不是所有上下层神经元都能直接相连,而是通过“卷积核”作为中介。同一个卷积核在所有图像内都是共享的,图像通过卷积操作后仍然保留原来的位置关系。
    复合多个“卷积层”和“采样层”对输入信号进行加工,然后再连接层实现与输出目标之间的映射。多层的目的:一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全局化。
    CNN两大神器:
    1、局部感知:一般认为图像的空间联系是局部的像素联系比较密切,而距离较远的像素相关性较弱,因此,每个神经元没必要对全局图像进行感知,只要对局部进行感知,然后在更高层将局部的信息综合起来得到全局信息。利用卷积层实现:(特征映射,每个特征映射是一个神经元阵列):从上一层通过局部卷积滤波器提取局部特征。卷积层紧跟着一个用来求局部平均与二次提取的计算层,这种二次特征提取结构减少了特征分辨率。
    2、参数共享:在局部连接中,每个神经元的参数都是一样的,即:同一个卷积核在图像中都是共享的。(理解:卷积操作实际是在提取一个个局部信息,而局部信息的一些统计特性和其他部分是一样的,也就意味着这部分学到的特征也可以用到另一部分上。所以对图像上的所有位置,都能使用同样的学习特征。)卷积核共享有个问题:提取特征不充分,可以通过增加多个卷积核来弥补,可以学习多种特征。
    3、采样(池化)层:在通过卷积得到特征后,希望利用这些特征进行分类。基于局部相关性原理进行亚采样,在减少数据量的同时保留有用信息。(压缩数据和参数的量,减少过拟合)(max-polling 和average-polling)
    可用BP算法训练,训练中,无论是卷积层还是采样层,每一组神经元都是用相同的连接权。
    优点:限制了参数的个数并挖掘了局部结构的这个特点,减少了复杂度。
    (CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度)
    三、DBN与CNN两者异同:
    异:DBN:全连接,有pre-train过程;CNN:局部连接,没有预训练过程,但加了卷积。
    同:无论是DBN还是CNN,这种多隐层堆叠,每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的、与输出目标之间联系不大的输入表示,转化成与输出目标联系密切的表示。即:通过多层处理,逐渐将初始的低层特征表示转化成高层的特征表示后,用“简单模型”就可以完成复杂的分类等学习任务。
    四、RNN:
    提出:DNN存在一个缺陷:无法对时间序列上的变化进行建模,然而,样本出现的时间顺序对于自然语言处理、语音识别等应用很重要;RNN解决了样本的处理在各个时刻独立的问题,可以对时间序列上的变化进行建模,深度是时间上的长度。神经元的输出可以在下一个时间戳直接作用到自身。即,某一层某一时刻神经元的输入,除了上一层神经元在该时刻的输出外,还有本身在上一时刻的输出。
    缺点:时间轴上的“梯度消失”,为解决这个问题——>长短时记忆单元LSTM:通过门的开关实现时间上记忆功能,防止梯度消失。
    五、LSTM:
    核心:模仿一种细胞状态,类似传送带思想,直接在整个链上运行,只有一些少量的线性交互,信息在上面保持不变。利用一种“门”的结构来去除或增加信息到细胞状态的能力,有三个门。门:让信息选择通过的方法,包括sigmoid神经网络层和一个点乘操作。
    第一步:忘记门层:决定从细胞状态中丢弃什么信息。读取本层的输入和上一层的输出,输出一个0到1之间的数值给每个细胞状态。
    第二步:确定什么样的信息被存放在细胞状态中,包含两个部分:1)sigmoid“输入门层”,决定什么值将要更新。2)tanh层,创建一个新的候选值向量。会被加到状态中。
    第三步:更新细胞状态。基于细胞状态确定输出什么值

    面试篇:
    理解它们各自的参数代表什么,比较好的初始参数,BP的计算,以及常见超参数的调整策略。
    如何优化模型 : 加速收敛, 避免overfit, 提升精度 ..
    - batch size effect;- learning rate effect;- weight initialization effect;- batch normalization
    - drop-out;- model average;- fine-tuning;- data augmentation
    • CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?
    几个不相关的问题的相关性在于,都存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。
    CNN通过:局部感知、权值共享、池化操作、多层次结构抓住了这个共性。局部感知使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难度;池化操作和多层次结构一起,实现了数据的降维,将低层次的特征组合成高层次的特征。
    什么时候用local-conv?什么时候用全卷积(每一个点用同一个filter)?
    当数据集具有全局的局部特征分布时,也就是说局部特征之间有较强的相关性,适合用全卷积。在不同的区域有不同的特征分布时,适合用local-Conv。
    什么样的资料不适合用深度学习?
    1)数据集太小,因为神经网络有效的关键就是大量的数据,有大量的参数需要训练,少量的数据不能充分训练参数。2)数据集没有局部相关性。目前深度学习应用的领域主要是图像、语音、自然语言处理,这些领域的共性就是局部相关性。例如:图像中的像素组成物体,语音中的音位组成单词,文本数据中的单词组成句子,而深度学习的本质就是学习局部低层次的特征,然后组合低层次的特征成高层次的特征,得到不同特征之间的空间相关性。
    何为共线性, 跟过拟合有啥关联?
    • 共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。
    • 共线性会造成冗余,导致过拟合。
    • 解决方法:排除变量的相关性/加入权重正则。
    为什么引入非线性激励函数?
    因为如果不用非线性激励函数,每一层都是上一层的线性函数,无论神经网络多少层,输出都是输入的线性组合,与只有一个隐藏层效果一样。相当于多层感知机了。所以引入非线性激励函数,深层网络就变得有意义了,可以逼近任意函数。
    什么造成梯度消失?推导?
    许多激活函数将输出值挤压在很小的区间内,在激活函数两端较大范围的定义域内梯度为0,导致权重更新的缓慢训练难度增加,造成学习停止。(前面层上的梯度是来自后面的层上项的乘积,当层数过多时,随着乘积的累积,将越来越小。)
    CNN常见的问题
    1、梯度消失问题:过多的层数会导致梯度消失,解决手段:减少层数;增大学习率;用Relu代替sigmoid。
    2、权重衰减:CNN的权重共享相当于自带某种正则项,所以代价函数里可不加正则
    3、随机梯度下降的参数选择:
    1)batch的选择决定了下降的方向:
    如果数据集比较小,可以采用全数据集的形式,好处:全数据集确定的方向能够更好的代表样本总体;不同权重的梯度值差别巨大,因此选一个全局的学习率很困难,使用全数据集可以只基于梯度符号并且针对性单独更新各权值。
    如果数据集比较大,全数据集不可行,内存限制;由于各个batch采样的差异性,各次梯度修正值相互抵消,无法修正。另一个极端每次只训练一个样本,batch=1,每次修正方向以各自样本的梯度方向修正,难以达到收敛。
    选择适中的batch? 批梯度下降法,
    1)sigmoid:将输出实值压缩到0-1之间。 缺点:(输入非常大或非常小的时候)容易梯度消失;sigmoid函数是非0均值的,下一层的神经元将从上一层神经元得到的非0 均值的信号作为输入,再结合w计算梯度,始终都是正的。(可根据batch调节)
    2)Tanh:是0均值的。
    3)Relu(修正线性单元):好处:收敛快,求梯度简单。具有稀疏特性
    (相比于sigmoid:sigmoid反向传播求误差梯度时,求导计算量很大,而relu求导简单;对于深层网络,sigmoid反向传播时,在sigmoid接近饱和区时,变换太缓慢,导数趋0,从而无法完成深层网络的训练;Relu会使一部分神经元的输出为0,造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题。)
    缺点:训练的时候很脆弱,一个非常大的梯度流过一个Relu神经元后,不会对其他数据有激活现象了,设置较小的学习率,这种情况会不那么频繁。
    卷积计算层:
    参数共享机制、一组固定的权重和不同窗口内数据做内积:卷积
    CNN优缺点:
    优点:共享卷积核、减少了网络自由参数的个数,对高维数据处理无压力;无需手动选取特征,训练好权重,即得特征。降低神经网络的复杂性。这种网络结构在有监督的方式下学习到了一些良好的性能:对平移、比例缩放、倾斜或其他形式的变形具有高度不变性。
    缺点:需要调参,需要大量样本;
    神经网络优势:
    可以利用神经网络中某一层的输出当做是数据的另一种表达,从而可以将其认为是经过神经网络学习到的特征,基于这一特征,可以进行进一步的相似度比较等操作。
    有效的关键是大规模的数据,每个DL都有众多的参数,少量数据无法将参数训练充分。
    发展缺陷:
    随着网络层数的加深,优化函数越来越容易陷入局部最优解,并且这个“陷阱”越来越偏离真正的全局最优,利用有限数据训练的深层网络,性能还不如浅层网络。
    随着网络层数增加,梯度消失现象越来越严重,(一般指sigmoid函数,反向传播时,每传递一层,梯度衰减为原来的1/4。层数一多,梯度指数衰减后,底层基本接收不到有效的训练信号。)

    深度学习整体解释:1)自下而上的非监督学习
    2)自顶向下的监督学习
    展开全文
  • 与上一相同,使用神经网络实现 2、预先知识学习 神经网络:对每一层传入值进行计算,然后插入偏置单元,即全为1的单元 ,进入下一层计算,层层传递,最终得出结果。由于给出了theta的值,具体如何推导在下一节课...
  • 一个感知器可以接收n个输入x=(x1,x2,…,xn),对应n个权值w=(w1,w2,…,wn),此外还有一个偏置项阈值,就是图中的b,神经元将所有输入参数与对应权值进行加权求和,得到的结果经过激活函数变换后输出,计算公式如下: ...
  • 作业下载 地址:... 1. sigmoid梯度计算 function g = sigmoidGradient(z) %SIGMOIDGRADIENT returns the gradient of the sigmoid function %evaluated at z % g...
  • P神经元模型,想象一下,一张考试卷子,卷子中的每一道作为一个神经元的输入进入你的大脑,而每道的分值代表着这道的权重,你的大脑经过一系列的分析,分析出了先做哪道,这就是一个简单的神经网络。...
  • BAT机器学习面试1000系列 1 前言 1 BAT机器学习面试1000系列 2 1 归一化为什么能提高梯度下降法求解最优解的速度? 22 2 归一化有可能提高精度 22 3 归一化的类型 23 1)线性归一化 23 2)标准差标准化 ...
  • 机器学习期末试题.rar

    2020-05-13 09:03:23
    北京航空航天大学机器学习研究生课程近两年...8,给出一个4X4X4X3的全连接神经网络,推导反向传播算法,以第二层的第三个节点为例 9,给出机器学习和深度学习的联系,各有什么优缺点,你认为未来深度学习会如何发展。
  • 这是课程[Neural Networks and Deep Learning]第1周的习题解答,共10道。 解答: 100年前,电力的出现引起工业革命,今天,AI也成为新的驱动力。...机器学习是一个迭代过程,先有点子(Ide...
  • RBF首先是确定神经元中心点ci,对于异或,训练集和验证集构造0 1取值的二维数据,四个0-1点即为中心点。 然后根据103页公式计算w和β,代入径向基函数作为输出 训练10次后错误率已经是10,毕竟RBF是能以任意精度逼近...
  • 昨晚参加了大疆的网申笔试,本人申请的岗位是机器学习算法工程师。抱着试一试的心态,去看看题型,没想到最后真的是就只看了看题型,尴尬。现记录如下,权当学习。一、单选1. SVM & Logistic算法2. 稠密矩阵...
  • 题目 1.【排序】梯度下降算法的正确步骤是什么? a.计算预测值和真实值之间的...2.【多选】小明在训练深度学习模型时,发现训练集误差不断减少,测试集误差不断增大,以下解决方法正确的是? A. 数据增广 B. 增...
  • 1、神经网络基础问题 (1)Backpropagation(要能推倒)   后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式法则对参数进行一层一层的求导。这里重点强调:要将参数进行随机初始化而不是...
  • 题目:对以下的网络执行一次前向传播和反向传播:(1)输入在神经网络上进行一次前馈传播,请计算隐层和输出层中每个神经元的输入和输出;假设损失函数为L2-loss。输入: (2)进行一次误差逆传播,请计算隐层和输出...
  • 机器学习面试1-20

    2018-10-15 21:45:59
    1.哪些机器学习算法不需要做归一化? 在实际应用中,通过梯度下降法求解的模型一般都是需要归一化的,比如线性回归、logistic回归、KNN、SVM、神经网络等模型。 但树形模型不需要归一化,因为它们不关心变量的值,...
  • 课上习题 【1】代价函数 【2】代价函数计算 ...Answer:学习的时候要去掉梯度校验,不然会特别慢 ...Answer:对于神经网络这种复杂模型来说,初始值都是同一个值 r,不然第二层会全都一样。 ...
  • Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。 (2)可以实现深层网络的训练。对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度...
  • 点--机器学习

    2017-04-25 17:48:24
    在统计模式分类问题中:  当先验概率已知时,直接使用贝叶斯求后验概率即可;...训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种选择。 Dropout是指在模型训练时随机让
  • (1)神经学的启发。在神经生物学中,有一个概念叫做侧抑制...归一化数据处理可以消除数据之间的量纲差异,便于数据利用与快速计算。 (3)增强网络泛化能力。对局部神经元的活动创建竞争机制,使得其中响应...
  • 我们总能听到机器学习、深度学习、神经网络这样的词,但是你是否清楚这里的“学习”到底意味着什么?它只是销售软件和服务的营销词汇吗?还是说科学家真的创造了类似人脑的组件并令其在机器内部运行呢?机器会占领...
  • 机器学习考试0.1:基础方法

    多人点赞 2020-12-23 21:19:59
    3. 计算题:深度神经网络神经元结点的输出、卷积神经网络的卷积过程和结果。 常见基础方法及分析 线性回归 回归分析是是研究自变量和因变量之间的关系,通常用作预测分析。线性回归是其中的一种,其认为目标和特征...
  • Sklearn 与 TensorFlow 机器学习实用指南——第十章总结用 TensorFlow 高级 API 训练 MLP使用普通 TensorFlow 训练 DNN构造阶段执行阶段使用神经网络完整代码习题 有了上一章关于tensorflow的基本介绍,本章进入...
  • Neural Networks: Representation 选AD B加起来不一定非要等于1 ...考察神经网络的运行过程,选A 计算题,选A 计算题,选A 转载于:https://www.cnblogs.com/xingkongyihao/p/8434917.html...
  • 机器学习是人工智能研究的重要方向,已在DSS中扮演起越来越晕要的角色,若将两者有机地结合起来,改进问题处理系统, 增设学习系统.就成为一种基于学习的DSS体系结构,简称Mi.一IDSS[21。对神经网络箅法运用集成...
  • 题型:单选*5+多选*5+填空*3+简答*5+编程*2... 神经网络训练过程中哪些现象表明可能出现了梯度爆炸A. weight很大B. weight的grad持续大于1C. grad变成NaND. cost减小很快4. 填空1. cnn输出的计算2. 简答1. 图像...

空空如也

空空如也

1 2 3 4 5 6
收藏数 117
精华内容 46
关键字:

机器学习神经网络计算题