精华内容
下载资源
问答
  • 神经网络与深度学习期末考试满分过题库!
    千次阅读
    2020-12-27 20:45:12
    1. TensorFlow的特点有哪些( E
      A、灵活性
      B、可移植性
      C、高效
      D、多语言支持
      E、以上全部都是

    2. 下列有关张量和和变量的说法正确的是(B
      A、张量可以简单理解为多维度数组
      B、以上都是
      C、变量是一种特殊的张量
      D、在TensorFlow中所有的数据都是通过张量的形式表示“

    3. 下列声明哪些是正确的?(C
      声明1:可以通过将所有权重初始化为0来训练网络
      声明2:可以通过将偏差初始化为0来训练网络
      A、1和2都错
      B、1和2都对
      C、1错2对
      D、1对2错

    4. 下列哪个函数不可以做激活函数?(B
      A、y=tanh(x)
      B、y=2x
      C、y=sin(x)
      D、y=max(x,0)

    5. 在一个简单的MLP模型中,输入层有8个神经元,隐藏层有5个神经元,输出层有1个神经元。隐藏输出层和输入隐藏层之间的权重矩阵的大小是多少(D
      A、[1 X 5],[5 X 8]
      B、[8×5],[1×5]
      C、[5×8],[5×1]
      D、[5×1],[8×5]

    6. 对于前向神经网络,输入层中的节点数为10,隐藏层为5。从输入层到隐藏层的最大连接数是(B
      A、小于50

    更多相关内容
  • 人工智能:神经网络与深度学习

    千次阅读 2020-06-30 08:39:21
    1 人工智能 ...人工智能是计算机科学的一个分支,它试图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,

    **

    人工智能:神经网络与深度学习

    **
    1956年夏季,在美国的达特茅斯学院中, John McCarthy、Marvin Minsky、Claude Shannon、Allen Newel、Herbert Simon等科学家聚在一起,共同研究和探讨用机器模拟智能的一系列有关问题,并首次提出了“人工智能”这一术语,它标志着“人工智能”这门新兴学科的正式诞生。

    1 人工智能

    人工智能是计算机科学的一个分支,它试图了解智能的实质,并生产出一种新的能以与人类智能相似的方式做出反应的智能机器。人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
    实现人工智能是人类长期以来一直追求的梦想。虽然计算机技术在过去几十年里取得了长足的发展,但是实现真正意义上的机器智能至今仍然困难重重,截止目前,还没有一台电脑能产生“自我”的意识。伴随着神经解剖学的发展,观测大脑微观结构的技术手段日益丰富,人类对大脑组织的形态、结构与活动的认识越来越深入,人脑信息处理的奥秘也正在被逐步揭示。如何借助神经科学、脑科学与认知科学的研究成果,研究大脑信息表征、转换机理和学习规则,建立模拟大脑信息处理过程的智能计算模型,最终使机器掌握人类的认知规律,是“类脑智能”的研究目标。
    类脑智能是涉及计算科学、认知科学、神经科学与脑科学的交叉前沿方向。类脑智能的实现离不开大脑神经系统的研究。众所周知,人脑是由几十多亿个高度互联的神经元组成的复杂生物网络,也是人类分析、联想、记忆和逻辑推理等能力的来源。神经元之间通过突触连接以相互传递信息,连接的方式和强度随着学习发生改变,从而将学习到的知识进行存储。
    模拟人脑中信息存储和处理的基本单元——神经元而组成的人工神经网络模型具有自学习与自组织等智能行为,能够使机器具有一定程度上的智能水平。神经网络的计算结构和学习规则遵照生物神经网络设计,在数字计算机中,神经细胞接收周围细胞的刺激并产生相应输出信号的过程可以用“线性加权和”及“函数映射”的方式来模拟,而网络结构和权值调整的过程用优化学习算法实现。目前神经网络已经发展了上百种模型,在诸如手写体识别、显著性检测、语音识别和图像识别、模式识别、人机交互、优化算法、深度学习等技术领域取得了非常成功的应用。

    2 机器学习

    机器学习是人工智能的一个分支,也是用来实现人工智能的一个有效手段。简单来说,机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。使用大量数据和算法来“训练”机器,由此带来机器学习如何完成任务。
    机器学习主要分三种形式,监督学习、非监督学习、半监督学习。最常见的是监督学习中的分类问题。监督学习的训练样本都含有“标签”,非监督学习的训练样本中都不含“标签”,半监督学习介于监督学习和非监督学习之间。在监督学习中,因为训练集全部已经标记了,所以关注点通常是在未来测试数据上的性能。而在半监督学习的分类问题中,训练数据中包含未标记的数据。因此,存在两个不同的目标。一个是预测未来测试数据的类别,另一个是预测训练样本中未标记实例的类别。

    2.1 监督学习
    监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人为标注的。监督学习最常见的是分类问题,通过已有的训练样本去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。监督学习的目标往往是让计算机去学习已经创建好的分类系统。常见的有监督学习算法有:回归分析和统计分类。

    2.2 非监督学习
    非监督学习事先没有任何训练样本,而需要直接对数据进行建模。样本数据类别未知,需要根据样本间的相似性对样本集进行分类,试图使类内差距最小化,类间差距最大化。通俗点来说,就是实际应用中不少情况下无法预先知道样本的标签,也就是说没有训练样本对应的类别,因而只能从原先没有样本标签的样本集开始学习分类器设计。非监督学习里典型的例子是聚类。聚类的目的在于把相似的东西聚在一起,而并不关心这一类是什么。

    2.3 半监督学习
    半监督学习所给的数据有的是有标签的,有的是没有标签的。单独使用有标签的样本,能够生成有监督分类算法。单独使用无标签的样本,能够生成非监督聚类算法。两者都使用,希望在有标签的样本中加入无标签的样本,增强有监督分类的效果;同样的,希望在无标签的中加入有标签的样本,增强非监督聚类的效果。一般而言,半监督学习侧重于在有监督的分类算法中加入无标记样本来实现半监督分类。

    3 深度学习

    深度学习是机器学习领域一个新的研究方向,近年来在图像识别与检索、语言信息处理、语音识别等多领域中都取得较为成功的发展。深度学习应用的发展基础在于建立模型来模拟人类大脑的神经连接结构,在处理图像、声音和文本这些信号时,通过多个变换阶段分层对数据特征进行描述,进而给出数据的解释。
    深度学习是实现机器学习的一种技术,现在所说的深度学习大部分都是指神经网络。神经网络是受人类大脑的启发:神经元之间的相互连接。深度学习的概念源于人工神经网络的研究,含多隐层的神经网络就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
    深度学习的概念最早Hinton 等于2006 年提出,基于深信度网(DBN)提出非监督贪婪训练逐层算法,为解决深层结构相关的优化难题带来希望。Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。源自于Hopfield提出的霍普菲尔德网络变化而来的循环神经网络,成功应用于语音识别、语言模型、机器翻译等处理和预测序列数据。目前卷积神经网络和循环神经网络是应用最广的两种深度学习模型。

    3.1 卷积神经网络
    卷积神经网络(Convolutional Neural Networks,CNN)是近年发展起来,并引起广泛重视的一种高效的识别方法。1962年,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的局部互连网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
    卷积神经网络是一种前馈神经网络,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层神经网络,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
    卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核(filter)。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。

    3.2 循环神经网络
    循环神经网络(Recurrent neural network,RNN)源自于1982年由John Hopfield提出的霍普菲尔德网络。霍普菲尔德网络因为实现困难,在其提出的时候并且没有被合适地应用。该网络结构也于1986年后被全连接神经网络以及一些传统的机器学习算法所取代。然而,传统的机器学习算法非常依赖于人工提取的特征,使得基于传统机器学习的图像识别、语音识别以及自然语言处理等问题存在特征提取的瓶颈。而基于全连接神经网络的方法也存在参数太多、无法利用数据中时间序列信息等问题。随着更加有效的循环神经网络结构被不断提出,循环神经网络挖掘数据中的时序信息以及语义信息的深度表达能力被充分利用,并在语音识别、语言模型、机器翻译以及时序分析等方面实现了突破。
    循环神经网络的主要用途是处理和预测序列数据。在全连接神经网络或卷积神经网络模型中,网络结构都是从输入层到隐含层再到输出层,层与层之间是全连接或部分连接的,但每层之间的节点是无连接的。但是如果要预测句子的下一个词语是什么,一般需要用到当前词语以及前面的词语,因为句子中前后词语并不是独立的。从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。也就是说,循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。
    长短时记忆网络(Long Short Term,LSTM)是一种循环神经网络 特殊的类型,可以学习长期依赖信息。LSTM 由Hochreiter 和Schmidhuber于1997年提出,并在近期被Alex Graves进行了改良和推广。在很多问题,LSTM 都取得相当巨大的成功,并得到了广泛的使用。LSTM 通过特别的设计来避免长期依赖问题。

    4 实现工具

    神经网络和深度学习的程序实现语言和框架有很多,语言有Python、C++、Java、Go、R、Matlab、BrainScript、Julia、Scala和Lua等,框架有TensorFlow、Caffe、CNTK、MXNet、Torch、Theano和Neon等。其中Python语言由于其简洁性、易读性以及可扩展性,已经成为目前最受欢迎的深度学习程序设计语言,TensorFlow由于其灵活性、高效性和可移植性,成为目前最流行的一种深度学习框架。

    4.1 Python
    Python语言20世纪90年代初由Guido van Rossum发明,名字的灵感来自于英国喜剧团体 Monty Python,是一种极具可读性和通用性的面向对象的编程语言。Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的设计哲学是“优雅”、“ 明确”、“ 简单”。Python开发的哲学是“用一种方法,最好是只有一种方法来做一件事”。
    Python是一门解释型的高级编程语言,简单明确,拥有很好的扩充性,可以非常轻松地用其他语言编写模块供调用,用Python编写的模块也可以通过各种方式轻松被其他语言调用。所以一种常见的Python使用方式是,底层复杂且对效率要求高的模块用C/C++等语言实现,顶层调用的API用Python封装,这样可以通过简单的语法实现顶层逻辑,故而Python又被称为“胶水语言”。如今的深度学习框架中,大部分框架基本上要么官方接口就是Python,要么支持Python接口。

    4.2 TensorFlow
    TensorFlow是Google基于DistDelief进行研发的第二代人工智能系统,是一个开源的机器学习库。最初由Google大脑小组的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,如计算机视觉,语音识别,自然语言理解等。其主要特点有:灵活、高效、可移植以及多语言支持等。
    TensorFlow是一个采用数据流图(Data Flow Graphs),用于数值计算的开源软件库。TensorFlow的名字本身描述了它自身的执行原理:Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。在图(Graph)这种数据结构中包含两种基本元素:节点(node)和边(edge)。这两种元素在数据流图中有自己各自的作用。节点用来表示要进行的数学操作,另外,任何一种操作都有输入/输出,因此它也可以表示数据的输入的起点/输出的终点。边表示节点与节点之间的输入/输出关系,一种特殊类型的数据沿着这些边传递。这种特殊类型的数据在TensorFlow被称之为Tensor,即张量,所谓的张量通俗点说就是多维数组。当向这种图中输入张量后,节点所代表的操作就会被分配到计算设备完成计算。

    参考文献

    《神经网络与深度学习:基于tensorflow框架和python技术实现》,包子阳,电子工业出版社。

    展开全文
  • 神经网络与深度学习》习题解答(至第七章)

    千次阅读 多人点赞 2021-03-26 20:21:38
    部分题目的个人解答,参考了github上的习题解答分享知乎解答。题目是自己做的,部分解答可能出错,有问题的解题部分欢迎指正。 第一章 2-1 直观上,对特定的分类问题,平方差的损失有上限(所有标签都错,损失值是...

    部分题目的个人解答,参考了github上的习题解答分享与知乎解答。题目是自己做的,部分解答可能出错,有问题的解题部分欢迎指正。原文挂在自己的自建博客上。

    第二章

    2-1

    直观上,对特定的分类问题,平方差的损失有上限(所有标签都错,损失值是一个有效值),但交叉熵则可以用整个非负域来反映优化程度的程度。

    从本质上看,平方差的意义和交叉熵的意义不一样。概率理解上,平方损失函数意味着模型的输出是以预测值为均值的高斯分布,损失函数是在这个预测分布下真实值的似然度,softmax损失意味着真实标签的似然度。

    分类问题中的标签,是没有连续的概念的。1-hot作为标签的一种表达方式,每个标签之间的距离也是没有实际意义的,所以预测值和标签两个向量之间的平方差这个值不能反应分类这个问题的优化程度。

    大部分分类问题并非服从高斯分布

    根据吴恩达机器学习视频: J ( θ ) = 1 m ∑ i = 1 m 1 2 ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{m}\sum^m_{i=1}\frac{1}{2}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ)=m1i=1m21(hθ(x(i))y(i))2,h表示的是你的预测结果,y表示对应的标签,J就可以理解为用二范数的方式将预测和标签的差距表示出来,模型学习的过程就是优化权重参数,使得J达到近似最小值,理论上这个损失函数是很有效果的,但是在实践中却又些问题,它这个h是激活函数激活后的结果,激活函数通常是非线性函数,例如sigmoid之类的,这就使得这个J的曲线变得很复杂,并不是凸函数,不利于优化,很容易陷入到局部最优解的情况。吴恩达说当激活函数是sigmoid的时候,J的曲线就如下图所示,可以看到这个曲线是很难求出全局最小值的,稍不留神就是局部最小值。

    img

    交叉熵的公式为: C o s t ( h θ ( x ) , y ) = − y ⋅ l o g ( h θ ( x ) ) + ( y − 1 ) ⋅ l o g ( 1 − h θ ( x ) ) Cost(h_{\theta}(x),y)=-y\cdot log(h_{\theta}(x))+(y-1)\cdot log(1-h_{\theta}(x)) Cost(hθ(x),y)=ylog(hθ(x))+(y1)log(1hθ(x))

    使用交叉熵的时候就变成:

    img

    img

    2-2

    最优参数

    [ r ‾ ( n ) ] 2 = r ( n ) [\overline{r}^{(n)}]^2 = r^{(n)} [r(n)]2=r(n),则:
    R ( w ) = 1 2 ∑ n = 1 N [ r ‾ ( n ) ] 2 ( y ( n ) − w ⊤ x ( n ) ) 2 = 1 2 ∑ n = 1 N ( ( ‾ r ) ( n ) ( y ( n ) − w ⊤ x ( n ) ) ) 2 = 1 2 ∣ ∣ r ‾ ⊤ ( y − X ‾ w ) ∣ ∣ 2 \begin{aligned} R(w) &=\frac{1}{2}\sum^N_{n=1}[\overline{r}^{(n)}]^2(y^{(n)}-w^\top x^{(n)})^2 \\ & =\frac{1}{2}\sum^N_{n=1}(\overline(r)^{(n)}(y^{(n)}-w^\top x^{(n)}))^2 \\ & =\frac{1}{2}||\overline{r}^\top(y-\overline{X}w)||^2 \end{aligned} R(w)=21n=1N[r(n)]2(y(n)wx(n))2=21n=1N((r)(n)(y(n)wx(n)))2=21r(yXw)2
    损失函数对参数 w w w求导:
    ∂ R ( w ) ∂ w = 1 2 ∣ ∣ r ‾ ⊤ ( y − X ‾ w ) ∣ ∣ 2 ∂ w = − X r ‾ r ‾ ⊤ ( y − X ⊤ w ) = 0 \begin{aligned} \frac{\partial R(w)}{\partial w}&= \frac{\frac{1}{2}||\overline{r}^\top(y-\overline{X}w)||^2}{\partial w} \\ &= -X\overline{r}\overline{r}^\top (y-X^\top w) \\ &= 0 \end{aligned} wR(w)=w21r(yXw)2=Xrr(yXw)=0
    于是有: w ∗ = ( X r ‾ r ‾ ⊤ X ⊤ ) − 1 X r ‾ r ‾ ⊤ y w^* =(X\overline{r}\overline{r}^\top X^\top)^{-1}X\overline{r}\overline{r}^\top y w=(XrrX)1Xrry

    参数 r ( n ) r^{(n)} r(n)

    这个参数是为了对不同的数据进行加权,相当于不同数据对结果的影响程度会不同,如果某个数据比较重要,希望对其高度重视,那么就可以设置相对较大的权重,反之则设置小一点。

    2-3

    已知定理: A 、 B A、B AB分别为 n × m , m × s n \times m,m\times s n×m,m×s的矩阵,则 r a n k ( A B ) ≤ m i n { r a n k ( A ) , r a n k ( B ) } rank(AB)\leq min\{rank(A),rank(B)\} rank(AB)min{rank(A),rank(B)}

    X ∈ R ( d + 1 ) × N , X T ∈ R N × ( d + 1 ) X\in \mathbb{R}^{(d+1)\times N},X^T \in \mathbb{R}^{N\times (d+1)} XR(d+1)×NXTRN×(d+1)

    r a n k ( X ) = r a n k ( X ⊤ ) = m i n ( ( d + 1 ) , N ) , N < d + 1 rank(X)=rank(X^\top)=min((d+1),N),N<d+1 rank(X)=rank(X)=min((d+1),N),N<d+1,因此 r a n k ( X ) = N rank(X)=N rank(X)=N

    r a n k ( X X ⊤ ) ≤ N , N = N rank(XX^\top)\leq{N,N}=N rank(XX)N,N=N

    2-4

    R ( w ) = 1 2 ∣ ∣ y − X ⊤ w ∣ ∣ 2 + 1 2 λ ∣ ∣ w ∣ ∣ 2 R(w)=\frac{1}{2}||y-X^\top w||^2+\frac{1}{2}\lambda||w||^2 R(w)=21yXw2+21λw2 w ∗ = ( X X ⊤ + λ I ) − 1 X y w^* = (XX^\top+\lambda I)^{-1}Xy w=(XX+λI)1Xy

    可得:
    ∂ R ( w ) ∂ w = 1 2 ∂ ∣ ∣ y − X ⊤ w ∣ ∣ 2 + λ ∣ ∣ w ∣ ∣ 2 ∂ w = − X ( y − X ⊤ w ) + λ w = 0 \begin{aligned} \frac{\partial R(w)}{\partial w} &=\frac{1}{2}\frac{\partial ||y-X^\top w||^2+\lambda||w||^2}{\partial w} \\ &=-X(y-X^\top w)+\lambda w \\ &= 0 \end{aligned} wR(w)=21wyXw2+λw2=X(yXw)+λw=0
    因此有:
    − X Y + X X ⊤ w + λ w = 0 ( X X ⊤ + λ I ) w = X Y w ∗ = ( X X ⊤ + λ I ) − 1 X y -XY+XX^\top w+\lambda w = 0 \\ (XX^\top+\lambda I)w =XY \\ w^* = (XX^\top+\lambda I)^{-1}Xy XY+XXw+λw=0(XX+λI)w=XYw=(XX+λI)1Xy

    2-5

    根据题意,有: log ⁡ p ( y ∣ X ; w , σ ) = ∑ n = 1 N log ⁡ N ( y ( n ) w ⊤ x ( n ) , σ 2 ) \log p(y|X;w,\sigma) =\sum^N_{n=1}\log N(y^{(n)}w^\top x^{(n)},\sigma^2) logp(yX;w,σ)=n=1NlogN(y(n)wx(n),σ2)

    ∂ log ⁡ p ( y ∣ X ; w , σ ) ∂ w = 0 \frac{\partial \log p(y|X;w,\sigma)}{\partial w} = 0 wlogp(yX;w,σ)=0,因此有:
    ∂ ( ∑ n = 1 N − ( y ( n ) − w ⊤ x ( n ) ) 2 2 β ) ∂ w = 0 ∂ 1 2 ∣ ∣ y − X ⊤ w ∣ ∣ 2 ∂ w = 0 − X ( y − X ⊤ w ) = 0 \frac{\partial(\sum^N_{n=1}-\frac{(y^{(n)}-w^\top x^{(n)})^2}{2\beta})}{\partial w}=0 \\ \frac{\partial \frac{1}{2}||y-X^\top w||^2}{\partial w} =0 \\ -X(y-X^\top w) = 0 w(n=1N2β(y(n)wx(n))2)=0w21yXw2=0X(yXw)=0
    因此有: w M L = ( X X ⊤ ) − 1 X y w^{ML}=(XX^\top)^{-1}Xy wML=(XX)1Xy

    2-6

    样本均值

    参数 μ \mu μ在样本上的似然函数为: p ( x ∣ μ , σ 2 ) = ∑ n = 1 N ( x ( n ) ; μ , σ 2 ) p(x|\mu,\sigma^2)=\sum^N_{n=1}(x^{(n)};\mu,\sigma^2) p(xμ,σ2)=n=1N(x(n);μ,σ2)

    对数似然函数为: log ⁡ p ( x ; μ , σ 2 ) = ∑ n = 1 N log ⁡ p ( x ( n ) ; μ , σ 2 ) = ∑ n = 1 N ( log ⁡ 1 2 π σ − ( x ( n ) − μ ) 2 2 σ 2 ) \log p(x;\mu,\sigma^2)=\sum^N_{n=1}\log p(x^{(n)};\mu,\sigma^2)=\sum^N_{n=1}(\log \frac{1}{\sqrt{2\pi}\sigma}-\frac{(x^{(n)}-\mu)^2}{2\sigma^2}) logp(x;μ,σ2)=n=1Nlogp(x(n);μ,σ2)=n=1N(log2π σ12σ2(x(n)μ)2)

    我们的目标是找到参数 μ \mu μ的一个估计使得似然函数最大,等价于对数自然函数最大。

    ∂ log ⁡ p ( x ; μ , σ 2 ) ∂ μ = 1 σ 2 ∑ n = 1 N ( x ( n ) − μ ) = 0 \frac{\partial \log p(x;\mu,\sigma^2)}{\partial \mu}=\frac{1}{\sigma^2}\sum^N_{n=1}(x^{(n)}-\mu)=0 μlogp(x;μ,σ2)=σ21n=1N(x(n)μ)=0,得到: μ M L = 1 N ∑ n = 1 N x ( n ) \mu^{ML}=\frac{1}{N}\sum^N_{n=1}x^{(n)} μML=N1n=1Nx(n),即样本均值

    MAP证明

    参数 μ \mu μ的后验分布: p ( μ ∣ x ; μ 0 , σ 0 2 ) ∝ p ( x ∣ μ ; σ 2 ) p ( μ ; μ 0 , σ 0 2 ) p(\mu|x;\mu_0,\sigma_0^2)\propto p(x|\mu;\sigma^2)p(\mu;\mu_0,\sigma_0^2) p(μx;μ0,σ02)p(xμ;σ2)p(μ;μ0,σ02)

    令似然函数 p ( x ∣ μ ; σ 2 ) p(x|\mu;\sigma^2) p(xμ;σ2)为高斯密度函数,后验分布的对数为:
    log ⁡ p ( μ ∣ x ; μ 0 , σ 0 2 ) ∝ log ⁡ p ( x ∣ μ ; σ 2 ) + log ⁡ p ( μ ; μ 0 , σ 2 ) ∝ − 1 σ 2 ∑ n = 1 N ( x ( n ) − μ ) 2 − 1 σ 2 ( μ − μ 0 ) 2 \begin{aligned} \log p(\mu|x;\mu_0,\sigma_0^2)&\propto\log p(x|\mu;\sigma^2)+\log p(\mu;\mu_0,\sigma^2) \\ &\propto -\frac{1}{\sigma^2}\sum^N_{n=1}(x^{(n)}-\mu)^2-\frac{1}{\sigma^2}(\mu-\mu_0)^2 \end{aligned} logp(μx;μ0,σ02)logp(xμ;σ2)+logp(μ;μ0,σ2)σ21n=1N(x(n)μ)2σ21(μμ0)2
    ∂ log ⁡ p ( μ ∣ x ; μ 0 , σ 0 2 ) ∂ μ = 0 \frac{\partial \log p(\mu|x;\mu_0,\sigma_0^2)}{\partial \mu}=0 μlogp(μx;μ0,σ02)=0,得到: μ M A P = ( 1 σ 2 ∑ n = 1 N x ( n ) + μ 0 σ 0 2 ) / ( N σ 2 + 1 σ 0 2 ) \mu^{MAP}=(\frac{1}{\sigma^2}\sum^N_{n=1}x^{(n)}+\frac{\mu_0}{\sigma_0^2})/(\frac{N}{\sigma^2}+\frac{1}{\sigma_0^2}) μMAP=(σ21n=1Nx(n)+σ02μ0)/(σ2N+σ021)

    证明完毕

    2-7

    σ → ∞ \sigma\rightarrow \infty σ μ M A P = 1 N ∑ n = 1 N x ( n ) \mu^{MAP}=\frac{1}{N}\sum^N_{n=1}x^{(n)} μMAP=N1n=1Nx(n)

    2-8

    因为 f f f可测量,故 σ \sigma σ可测量,又 f f f有界,有: E y [ f 2 ( x ) ∣ x ] = f 2 ( x ) ,   E y [ y f ( x ) ∣ x ] = f ( x ) ⋅ E y ( y ∣ x ) \mathbb{E}_y[f^2(x)|x]=f^2(x),\ \mathbb{E}_y[yf(x)|x]=f(x)\cdot \mathbb{E}_y(y|x) Ey[f2(x)x]=f2(x), Ey[yf(x)x]=f(x)Ey(yx)

    R ( f ) = E x [ E y [ ( y − f ( x ) ) 2 ∣ x ] ] = E x [ E y [ y 2 ∣ x ] + E y [ f 2 ( x ) ∣ x ] − 2 E y [ y f ( x ) ∣ x ] ] R(f)=\mathbb{E}_x[\mathbb{E}_y[(y-f(x))^2|x]]=\mathbb{E}_x[\mathbb{E}_y[y^2|x]+\mathbb{E}_y[f^2(x)|x]-2\mathbb{E}_y[yf(x)|x]] R(f)=Ex[Ey[(yf(x))2x]]=Ex[Ey[y2x]+Ey[f2(x)x]2Ey[yf(x)x]]

    R ( f ) = E x [ E y [ y 2 ∣ x ] + f 2 ( x ) − 2 f ( x ) E y [ y ∣ x ] ] R(f)=\mathbb{E}_x[\mathbb{E}_y[y^2|x]+f^2(x)-2f(x)\mathbb{E}_y[y|x]] R(f)=Ex[Ey[y2x]+f2(x)2f(x)Ey[yx]]

    由Jensen不等式: E y [ y 2 ∣ x ] ≥ E y [ y ∣ x ] 2 \mathbb{E}_y[y^2|x]\geq \mathbb{E}_y[y|x]^2 Ey[y2x]Ey[yx]2

    故: R ( f ) ≥ E x [ E y [ f ( x ) − E y [ y ∣ x ] ] ] 2 R(f)\geq \mathbb{E}_x[\mathbb{E}_y[f(x)-\mathbb{E}_y[y|x]]]^2 R(f)Ex[Ey[f(x)Ey[yx]]]2

    故: f ∗ ( x ) = E y ∼ p r ( y ∣ x ) [ y ] f^*(x)=\mathbb{E}_{y\sim p_r(y|x)}[y] f(x)=Eypr(yx)[y]

    2-9

    高偏差原因:数据特征过少;模型复杂度太低;正则化系数 λ \lambda λ太大;

    高方差原因:数据样例过少;模型复杂度过高;正则化系数 λ \lambda λ太小;没有使用交叉验证

    2-10

    对于单个样本 E D E_D ED f ∗ ( x ) f^*(x) f(x)是常数,因此: E D [ f ∗ ( x ) ] = f ∗ ( x ) E_D[f^*(x)]=f^*(x) ED[f(x)]=f(x)

    E D [ ( f D ( x ) − f ∗ ( x ) ) 2 ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] + E D [ f D ( x ) ] − f ∗ ( x ) ) 2 ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 + ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 + 2 ( f D ( x ) − E D [ f D ( x ) ] ) ( E D [ f D ( x ) ] − f ∗ ( x ) ) ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] + E D [ E D [ f D ( x ) ] 2 + ( f ∗ ( x ) ) 2 − 2 E D [ f D ( x ) ] f ∗ ( x ) ] + 2 E D [ ( f D ( x ) − E D [ f D ( x ) ] ) ( E D [ f D ( x ) ] − f ∗ ( x ) ) ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] + E D [ f D ( x ) ] 2 + ( f ∗ ( x ) ) 2 − 2 E D [ f D ( x ) + 2 E D [ ( f D ( x ) − E D [ f D ( x ) ] ) ( E D [ f D ( x ) ] − f ∗ ( x ) ) ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] + ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 + 2 E D [ ( f D ( x ) − E D [ f D ( x ) ] ) ( E D [ f D ( x ) ] − f ∗ ( x ) ) ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] + ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 + 2 ( E D [ f D ( x ) ] ) 2 − 2 E D [ f D ( x ) f ∗ ( x ) ] − 2 ( E D [ f D ( x ) ] ) 2 + 2 E D [ f D ( x ) f ∗ ( x ) ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] + ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 \begin{aligned} E_D[(f_D(x)-f^*(x))^2] &= E_D[(f_D(x)-E_D[f_D(x)]+E_D[f_D(x)]-f*(x))^2] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2+(E_D[f_D(x)]-f^*(x))^2+2(f_D(x)-E_D[f_D(x)])(E_D[f_D(x)]-f^*(x))] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2]+E_D[E_D[f_D(x)]^2+(f^*(x))^2-2E_D[f_D(x)]f^*(x)]+2E_D[(f_D(x)-E_D[f_D(x)])(E_D[f_D(x)]-f^*(x))] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2]+E_D[f_D(x)]^2+(f^*(x))^2-2E_D[f_D(x)+2E_D[(f_D(x)-E_D[f_D(x)])(E_D[f_D(x)]-f^*(x))] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2]+(E_D[f_D(x)]-f^*(x))^2+2E_D[(f_D(x)-E_D[f_D(x)])(E_D[f_D(x)]-f^*(x))] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2]+(E_D[f_D(x)]-f^*(x))^2+2(E_D[f_D(x)])^2-2E_D[f_D(x)f^*(x)]-2(E_D[f_D(x)])^2+2E_D[f_D(x)f^*(x)] \\ &=E_D[(f_D(x)-E_D[f_D(x)])^2]+(E_D[f_D(x)]-f^*(x))^2 \end{aligned} ED[(fD(x)f(x))2]=ED[(fD(x)ED[fD(x)]+ED[fD(x)]f(x))2]=ED[(fD(x)ED[fD(x)])2+(ED[fD(x)]f(x))2+2(fD(x)ED[fD(x)])(ED[fD(x)]f(x))]=ED[(fD(x)ED[fD(x)])2]+ED[ED[fD(x)]2+(f(x))22ED[fD(x)]f(x)]+2ED[(fD(x)ED[fD(x)])(ED[fD(x)]f(x))]=ED[(fD(x)ED[fD(x)])2]+ED[fD(x)]2+(f(x))22ED[fD(x)+2ED[(fD(x)ED[fD(x)])(ED[fD(x)]f(x))]=ED[(fD(x)ED[fD(x)])2]+(ED[fD(x)]f(x))2+2ED[(fD(x)ED[fD(x)])(ED[fD(x)]f(x))]=ED[(fD(x)ED[fD(x)])2]+(ED[fD(x)]f(x))2+2(ED[fD(x)])22ED[fD(x)f(x)]2(ED[fD(x)])2+2ED[fD(x)f(x)]=ED[(fD(x)ED[fD(x)])2]+(ED[fD(x)]f(x))2

    2-11

    image-20201206203637388

    2-12

    用笔算一下就OK,9

    第三章

    3-1

    设任意 α \alpha α为超平面上的向量,取两点 α 1 , α 2 ∈ a \alpha_1,\alpha_2 \in a α1,α2a,则满足:
    { ω ⊤ α 1 + b = 0 ω ⊤ α 2 + b = 0 \begin{cases} \omega^\top\alpha_1+b=0 \\\\ \omega^\top\alpha_2+b=0 \\\\ \end{cases} ωα1+b=0ωα2+b=0
    两式相减,得到: ω T ( α 1 − α 2 ) = 0 \omega^T(\alpha_1-\alpha_2)=0 ωT(α1α2)=0,由 α 1 − α 2 \alpha_1-\alpha_2 α1α2平行于 a a a,故 ω ⊥ α \omega \perp \alpha ωα,即 ω \omega ω垂直于决策边界。

    3-2

    x x x投影到平面 f ( x , ω ) = ω ⊤ x + b = 0 f(x,\omega)=\omega^\top x+b=0 f(x,ω)=ωx+b=0的点为 x ′ x' x,则:可知 x − x ′ x-x' xx垂直于 f ( x , ω ) f(x,\omega) f(x,ω),由3-1有 x − x ′ x-x' xx平行于 ω \omega ω

    于是有: δ = ∣ ∣ x − x ′ ∣ ∣ = k ∣ ∣ ω ∣ ∣ \delta=||x-x'||=k||\omega|| δ=xx=kω,又:
    { f ( x , ω ) = ω ⊤ x + b ω ⊤ x 2 + b = 0 \begin{cases} f(x,\omega)=\omega^\top x+b \\\\ \omega^\top x_2+b=0 \end{cases} f(x,ω)=ωx+bωx2+b=0
    故有: w T ( x − x ′ ) = f ( x , ω ) w^T(x-x')=f(x,\omega) wT(xx)=f(x,ω),带入 x − x ′ = k ω x-x'=k\omega xx=kω有: k ∣ ∣ ω ∣ ∣ 2 = f ( x , ω ) k||\omega||^2=f(x,\omega) kω2=f(x,ω)

    故: δ = ∣ f ( x , ω ) ∣ ∣ ∣ ω ∣ ∣ \delta=\frac{|f(x,\omega)|}{||\omega||} δ=ωf(x,ω)

    3-3

    由多线性可分定义

    可知: ω c x 1 > ω c ~ x 1 \omega_cx_1>\omega_{\tilde{c}}x_1 ωcx1>ωc~x1 ω c x 2 > ω c ~ x 2 \omega_cx_2>\omega_{\tilde{c}}x_2 ωcx2>ωc~x2,又 ρ ∈ [ 0 , 1 ] \rho \in[0,1] ρ[0,1],故: ρ > 0 , 1 − ρ > 0 \rho>0,1-\rho>0 ρ>0,1ρ>0

    线性组合即有: ρ ω c x 1 + ( 1 − ρ ) ω c x 2 > ρ ω a ~ x 1 + ( 1 − ρ ) ω c ~ x 2 \rho\omega_cx_1+(1-\rho)\omega_cx_2>\rho\omega_{\tilde{a}}x_1+(1-\rho)\omega_{\tilde{c}}x_2 ρωcx1+(1ρ)ωcx2>ρωa~x1+(1ρ)ωc~x2

    3-4

    对于每个类别 c c c,他们的分类函数为 f c ( x ; ω c ) = ω c T x + b c , c ∈ { 1 , ⋯   , C } f_c(x;\omega_c)=\omega^T_cx+b_c,c\in \{1,\cdots,C\} fc(x;ωc)=ωcTx+bcc{1,,C}

    因为每个类都与除它本身以外的类线性可分,所以: ω c ⊤ x ( n ) > ω c ~ ⊤ x ( n ) \omega_c^\top x^ {(n)}>\omega_{\tilde{c}}^\top x^{(n)} ωcx(n)>ωc~x(n)

    因此有: ∑ n = 1 N ( ω c ⊤ x ( n ) − ω c ~ ⊤ x ( n ) ) > 0 \sum^N_{n=1}(\omega^\top_cx^{(n)}-\omega^\top_{\tilde{c}}x^{(n)})>0 n=1N(ωcx(n)ωc~x(n))>0,即: X T ω c − X T ω c ~ > 0 X^T\omega_c-X^T\omega_{\tilde{c}}>0 XTωcXTωc~>0,故整个数据集线性可分。

    3-5

    从理论上来说,平方损失函数也可以用于分类问题,但不适合。首先,最小化平方损失函数本质上等同于在误差服从高斯分布的假设下的极大似然估计,然而大部分分类问题的误差并不服从高斯分布。而且在实际应用中,交叉熵在和Softmax激活函数的配合下,能够使得损失值越大导数越大,损失值越小导数越小,这就能加快学习速率。然而若使用平方损失函数,则损失越大导数反而越小,学习速率很慢。

    Logistic回归的平方损失函数是非凸的: L = 1 2 ∑ t ( y ^ − y ) 2 L=\frac{1}{2}\sum_t(\hat{y}-y)^2 L=21t(y^y)2 y ^ = σ ( ω T x ) \hat{y}=\sigma(\omega^Tx) y^=σ(ωTx)

    ∂ L ∂ ω = ∑ t ( y ^ − y i ) ∂ y ^ ∂ ω = ∑ i ( y ^ − y i ) y ^ ( 1 − y ^ ) x i = ∑ i ( − y ^ 3 + ( y i + 1 ) y ^ 2 − y i y ^ ) x i \frac{\partial L}{\partial \omega} =\sum_t(\hat{y}-y_i)\frac{\partial \hat{y}}{\partial \omega}=\sum_i(\hat{y}-y_i)\hat{y}(1-\hat{y})x_i=\sum_i(-\hat{y}^3+(y_i+1)\hat{y}^2-y_i\hat{y})x_i ωL=t(y^yi)ωy^=i(y^yi)y^(1y^)xi=i(y^3+(yi+1)y^2yiy^)xi

    进一步地: ∂ 2 L ∂ ω 2 = ∑ ( − 3 y ^ 2 + 2 ( y i + 1 ) y ^ − y i ) ∂ y ^ ∂ ω x i = ∑ [ − 3 y ^ 2 + 2 ( y i + 1 ) y ^ − y i ] y ^ ( 1 − y ^ ) x i 2 \frac{\partial^2 L}{\partial \omega^2}=\sum(-3\hat{y}^2+2(y_i+1)\hat{y}-y_i)\frac{\partial \hat{y}}{\partial \omega}x_i=\sum[-3\hat{y}^2+2(y_i+1)\hat{y}-y_i]\hat{y}(1-\hat{y})x_i^2 ω22L=(3y^2+2(yi+1)y^yi)ωy^xi=[3y^2+2(yi+1)y^yi]y^(1y^)xi2

    y ^ ∈ [ 0 , 1 ] , y ∈ 0 , 1 \hat{y}\in[0,1],y\in{0,1} y^[0,1]y0,1,二阶导数不一定大于零。

    3-6

    不加入正则化项限制权重向量的大小,可能造成权重向量过大,产生上溢。

    3-6

    3-7

    原式中: ω ‾ = 1 T ∑ k = 1 K c k ω k \overline{\omega}=\frac{1}{T}\sum^K_{k=1}c_k\omega_k ω=T1k=1Kckωk,又 c k = t k + 1 − t k c_k=t_{k+1}-t_k ck=tk+1tk

    即: ω ‾ = 1 T ∑ k = 1 K ( t k + 1 − t k ) ω k \overline{\omega}=\frac{1}{T}\sum^K_{k=1}(t_{k+1}-t_k)\omega_k ω=T1k=1K(tk+1tk)ωk,即只需要证明算法和该式等价。

    根据算法第8、9行有: ω k = y ( n ) x ( n ) \omega_k=y^{(n)}x^{(n)} ωk=y(n)x(n),故原算法中: ω ‾ = ω T − 1 T u = ∑ k = 1 K ω k − 1 T u \overline{\omega}=\omega_T-\frac{1}{T}u=\sum^K_{k=1}\omega_k-\frac{1}{T}u ω=ωTT1u=k=1KωkT1u

    又有: u = ∑ k = 1 K t k ω k u=\sum^K_{k=1}t_{k}\omega_k u=k=1Ktkωk

    故算法3.2能得到: ω ‾ = ∑ k = 1 K ( 1 − 1 T t k ω k ) \overline{\omega}=\sum^K_{k=1}(1-\frac{1}{T}t_k\omega_k) ω=k=1K(1T1tkωk),由算法第12行可知: t k + 1 = T t_{k+1}=T tk+1=T并带入可得到:

    ω ‾ = 1 T ∑ k = 1 K ( T − t k ) ω k = 1 T ∑ k = 1 K ( t k + 1 − t k ) ω k \overline{\omega}=\frac{1}{T}\sum^K_{k=1}(T-t_k)\omega_k=\frac{1}{T}\sum^K_{k=1}(t_{k+1}-t_k)\omega_k ω=T1k=1K(Ttk)ωk=T1k=1K(tk+1tk)ωk,证毕。

    3-8

    ω k = ω k − 1 + ϕ ( x ( k ) , y ( k ) ) − ϕ ( x ( k ) , z ) \omega_k=\omega_{k-1}+\phi(x^{(k)},y^{(k)})-\phi(x^{(k)},z) ωk=ωk1+ϕ(x(k),y(k))ϕ(x(k),z)

    因此可知: ∣ ∣ ω K ∣ ∣ 2 = ∣ ∣ ω K − 1 + ϕ ( x ( k ) , y ( k ) ) − ϕ ( x ( k ) , z ) ∣ ∣ 2 ||\omega_K||^2=||\omega_{K-1}+\phi(x^{(k)},y^{(k)})-\phi(x^{(k)},z)||^2 ωK2=ωK1+ϕ(x(k),y(k))ϕ(x(k),z)2

    ∣ ∣ ω K ∣ ∣ 2 = ∣ ∣ ω K − 1 ∣ ∣ 2 + ∣ ∣ ϕ ( x ( k ) , y ( k ) ) − ϕ ( x ( k ) , z ) ∣ ∣ 2 + 2 ω K − 1 ⋅ ( ϕ ( x ( n ) , y ( n ) ) − ϕ ( x ( n ) , z ) ) ||\omega_K||^2=||\omega_{K-1}||^2+||\phi(x^{(k)},y^{(k)})-\phi(x^{(k)},z)||^2+2\omega_{K-1}\cdot(\phi(x^{(n)},y^{(n)})-\phi(x^{(n)},z)) ωK2=ωK12+ϕ(x(k),y(k))ϕ(x(k),z)2+2ωK1(ϕ(x(n),y(n))ϕ(x(n),z))

    因为 z z z ω K − 1 \omega_{K-1} ωK1的最倾向的候选项,因此 2 ω K − 1 ⋅ ( ϕ ( x ( n ) , y ( n ) ) − ϕ ( x ( n ) , z ) ) 2\omega_{K-1}\cdot(\phi(x^{(n)},y^{(n)})-\phi(x^{(n)},z)) 2ωK1(ϕ(x(n),y(n))ϕ(x(n),z))将小于0。

    故: ∣ ∣ ω K ∣ ∣ 2 ≤ ∣ ∣ ω K − 1 ∣ ∣ 2 + R 2 ||\omega_K||^2\leq||\omega_{K-1}||^2+R^2 ωK2ωK12+R2

    迭代到最后有: ∣ ∣ ω K ∣ ∣ 2 ≤ K R 2 ||\omega_K||^2\leq KR^2 ωK2KR2,找到了上界。

    再寻找下界: ∣ ∣ ω K ∣ ∣ 2 = ∣ ∣ ω ∗ ∣ ∣ 2 ⋅ ∣ ∣ ω K ∣ ∣ 2 ≥ ∣ ∣ ω ∗ ⊤ ω K ∣ ∣ 2 ||\omega_K||^2=||\omega^*||^2\cdot||\omega_K||^2\geq||\omega^{*\top}\omega_K||^2 ωK2=ω2ωK2ωωK2

    带入 ω K \omega_K ωK有: ∣ ∣ ω K ∣ ∣ 2 ≥ ∣ ∣ ω ∗ ⊤ ∑ k = 1 K ( ϕ ( x ( n ) , y ( n ) ) − ϕ ( x ( n ) . z ) ) ∣ ∣ ||\omega_K||^2\geq ||\omega^{*\top}\sum^K_{k=1}(\phi(x^{(n)},y^{(n)})-\phi(x^{(n)}.z))|| ωK2ωk=1K(ϕ(x(n),y(n))ϕ(x(n).z))

    即: ∣ ∣ ω K ∣ ∣ 2 ≥ [ ∑ k = 1 K ⟨ ω ∗ , ( ϕ ( x ( n ) , y ( n ) ) − ϕ ( x ( n ) . z ) ) ⟩ ] 2 ||\omega_K||^2\geq [\sum^K_{k=1}\langle\omega^*,(\phi(x^{(n)},y^{(n)})-\phi(x^{(n)}.z))\rangle]^2 ωK2[k=1Kω,(ϕ(x(n),y(n))ϕ(x(n).z))]2

    根据广义线性可分有: ⟨ ω ∗ , ϕ ( x ( k ) , y ( k ) ) ⟩ − ⟨ ω ∗ , ϕ ( x ( k ) , z ) ⟩ ≥ γ \langle\omega^*,\phi(x^{(k)},y^{(k)})\rangle-\langle\omega^*,\phi(x^{(k)},z)\rangle\geq\gamma ωϕ(x(k),y(k))ω,ϕ(x(k),z)γ

    因此: ∣ ∣ ω K ∣ ∣ 2 ≥ K 2 γ 2 ||\omega_K||^2\geq K^2\gamma^2 ωK2K2γ2

    因此结合起来就得到了: K 2 γ 2 ≤ K R 2 K^2\gamma^2\leq KR^2 K2γ2KR2,即 K ≤ R 2 γ 2 K\leq\frac{R^2}{\gamma^2} Kγ2R2,证毕

    3-9

    存在性证明:

    因为数据集线性可分,因此该最优化问题存在可行解,又根据线性可分的定义可知目标函数一定有下界,所以最优化问题一定有解,记作: ( ω ∗ , b ∗ ) (\omega^*,b^*) (ω,b)

    因为 y ∈ { 1 , − 1 } y\in \{1,-1\} y{1,1},因此 ( ω ∗ , b ∗ ) ≠ ( 0 , b ∗ ) (\omega^*,b^*)\not=(0,b^*) (ω,b)=(0,b),即 ω ∗ ≠ O \omega^*\not=\mathbb{O} ω=O,故分离的超平面一定存在。

    唯一性证明(反证法):

    假定存在两个最优的超平面分别为 ω 1 ∗ x + b = 0 \omega_1^*x+b=0 ω1x+b=0 ω 2 ∗ x + b = 0 \omega_2^*x+b=0 ω2x+b=0

    因为为最优,故有: ∣ ∣ ω 1 ∗ ∣ ∣ = ∣ ∣ ω 2 ∗ ∣ ∣ = C ||\omega_1^*||=||\omega_2^*||=C ω1=ω2=C,其中C为一个常数。

    于是令: ω = ω 1 ∗ + ω 2 ∗ 2 \omega=\frac{\omega_1^*+\omega_2^*}{2} ω=2ω1+ω2 b = b 1 ∗ + b 2 ∗ 2 b=\frac{b_1^*+b_2^*}{2} b=2b1+b2,可知该解也为可行解。

    于是有: C ≤ ∣ ∣ ω ∣ ∣ C\leq||\omega|| Cω,又根据范数的三角不等式性质: ∥ ∣ ω ∣ ∣ ≤ ∣ ∣ ω 1 ∗ ∣ ∣ 2 + ∣ ∣ ω 2 ∗ ∣ ∣ 2 = C \||\omega||\leq\frac{||\omega_1^*||}{2}+\frac{||\omega_2^*||}{2}=C ω2ω1+2ω2=C

    因此: 2 ∣ ∣ ω ∣ ∣ = ∣ ∣ ω 1 ∗ ∣ ∣ + ∣ ∣ ω 2 ∗ ∣ ∣ 2||\omega||=||\omega_1^*||+||\omega^*_2|| 2ω=ω1+ω2

    又根据不等式取等号的条件可以得到: ω 1 ∗ = λ ω 2 ∗ \omega_1^*=\lambda\omega_2^* ω1=λω2

    代入可知: λ = 1 \lambda=1 λ=1 (-1的解舍去,会导致 ω = 0 \omega=0 ω=0

    因此不存在两个超平面最优,故该超平面惟一。

    证毕

    3-10

    ϕ ( x ) = [ 1 , 2 x 1 , 2 x 2 , 2 x 1 x 2 , x 1 2 , x 2 2 ] ⊤ \phi(x)=[1,\sqrt{2}x_1,\sqrt{2}x_2,\sqrt{2}x_1x_2,x_1^2,x_2^2]^{\top} ϕ(x)=[1,2 x1,2 x2,2 x1x2,x12,x22] ϕ ( z ) = [ 1 , 2 z 1 , 2 z 2 , 2 z 1 z 2 , z 1 2 , z 2 2 ] ⊤ \phi(z)=[1,\sqrt{2}z_1,\sqrt{2}z_2,\sqrt{2}z_1z_2,z_1^2,z_2^2]^{\top} ϕ(z)=[1,2 z1,2 z2,2 z1z2,z12,z22]

    故: ϕ ( x ) ⊤ ϕ ( z ) = 1 + 2 x 1 z 1 + 2 x 2 z 2 + 2 x 1 x 2 z 1 z 2 + x 1 2 z 1 2 + x 2 2 z 2 2 = ( 1 + ( x 1   x 2 ) ( z 1   z 2 ) ⊤ ) 2 \phi(x)^\top\phi(z)=1+2x_1z_1+2x_2z_2+2x_1x_2z_1z_2+x_1^2z_1^2+x_2^2z_2^2=(1+(x_1 \ x_2)(z_1 \ z_2)^\top)^2 ϕ(x)ϕ(z)=1+2x1z1+2x2z2+2x1x2z1z2+x12z12+x22z22=(1+x1 x2)(z1 z2))2

    即: ϕ ( x ) ⊤ ϕ ( z ) = ( 1 + x ⊤ z ) 2 = k ( x , z ) \phi(x)^\top\phi(z)=(1+x^\top z)^2=k(x,z) ϕ(x)ϕ(z)=(1+xz)2=k(x,z),证毕

    3-11

    原问题:
    m i n 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ n = 1 N ξ n s . t . 1 − y n ( w ⊤ x n + b ) − ξ n ≤ 0 , ∀ n ∈ { 1 , ⋯   , N } ξ n ≥ 0 , ∀ n ∈ { 1 , ⋯   , N } \begin{array}{c} min\frac{1}{2}||w||^2+C\sum^N_{n=1}\xi_n \\\\ s.t. 1-y_n(w^\top x_n+b)-\xi_n\leq 0,\forall n\in\{1,\cdots,N\} \\\\ \xi_n\geq0,\forall n\in\{1,\cdots,N\} \end{array} min21w2+Cn=1Nξns.t.1yn(wxn+b)ξn0,n{1,,N}ξn0,n{1,,N}
    使用拉格朗日乘子法,可得:
    L ( w , b , ξ , λ , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i + ∑ i = 1 N λ i ( 1 − y i ( w ⊤ x i + b ) − ξ i ) − ∑ i = 1 N μ i ξ i L(w,b,\xi,\lambda,\mu)=\frac{1}{2}||w||^2+C\sum^N_{i=1}\xi_i+\sum^N_{i=1}\lambda_i(1-y_i(w^\top x_i+b)-\xi_i)-\sum^N_{i=1}\mu_i\xi_i L(w,b,ξ,λ,μ)=21w2+Ci=1Nξi+i=1Nλi(1yi(wxi+b)ξi)i=1Nμiξi
    将其转化为最小最大问题:
    min ⁡ w , b , ξ   max ⁡ λ , μ   L ( w , b , ξ , λ , μ ) s . t . λ i ≥ 0 , ∀ n ∈ { 1 , ⋯   , N } \begin{array}{c} \min\limits_{w,b,\xi} \ \max\limits_{\lambda,\mu} \ L(w,b,\xi,\lambda,\mu) \\\\ s. t. \lambda_i\geq0,\forall n\in\{1,\cdots,N\} \end{array} w,b,ξmin λ,μmax L(w,b,ξ,λ,μ)s.t.λi0,n{1,,N}
    转化为对偶问题:
    max ⁡ λ , μ   min ⁡ w , b , ξ   L ( w , b , ξ , λ , μ ) s . t . λ i ≥ 0 , ∀ n ∈ { 1 , ⋯   , N } \begin{array}{c} \max\limits_{\lambda,\mu} \ \min\limits_{w,b,\xi} \ L(w,b,\xi,\lambda,\mu) \\\\ s. t. \lambda_i\geq0,\forall n\in\{1,\cdots,N\} \end{array} λ,μmax w,b,ξmin L(w,b,ξ,λ,μ)s.t.λi0,n{1,,N}
    求解 min ⁡ w , b , ξ L ( w , b , ξ , λ , μ ) \min\limits_{w,b,\xi}L(w,b,\xi,\lambda,\mu) w,b,ξminL(w,b,ξ,λ,μ)如下:

    ∂ L ∂ b = 0 \frac{\partial L}{\partial b}=0 bL=0,得到 ∑ i = 1 N λ i y i = 0 \sum^N\limits_{i=1}\lambda_iy_i=0 i=1Nλiyi=0,带入 L L L中,有:

    L ( w , b , ξ , λ , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i + ∑ i = 1 N λ i − ∑ i = 1 N λ i y i w ⊤ x i − ∑ i = 1 N λ i ξ i − ∑ i = 1 N μ i ξ i L(w,b,\xi,\lambda,\mu)=\frac{1}{2}||w||^2+C\sum^N\limits_{i=1}\xi_i+\sum^N\limits_{i=1}\lambda_i-\sum^N\limits_{i=1}\lambda_iy_iw^\top x_i-\sum^N\limits_{i=1}\lambda_i\xi_i-\sum^N\limits_{i=1}\mu_i\xi_i L(w,b,ξ,λ,μ)=21w2+Ci=1Nξi+i=1Nλii=1Nλiyiwxii=1Nλiξii=1Nμiξi

    ∂ L ∂ w = 0 \frac{\partial L}{\partial w}=0 wL=0,可得: w − ∑ i = 1 N λ i y i x i = 0 w-\sum^N\limits_{i=1}\lambda_iy_ix_i=0 wi=1Nλiyixi=0,因此: w = ∑ i = 1 N λ i y i x i w=\sum^N\limits_{i=1}\lambda_iy_ix_i w=i=1Nλiyixi

    带入 L L L得到:
    L ( w , b , ξ , λ , μ ) = 1 2 ∑ i = 1 N ∑ i = 1 N λ i λ j y i y j x i ⊤ x j + C ∑ i = 1 N ξ i + ∑ i = 1 N λ i − ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i ⊤ x j − ∑ i = 1 N λ i ξ i − ∑ i = 1 N μ i ξ i = − 1 2 ∑ i = 1 N ∑ i = 1 N λ i λ j y i y j x i ⊤ x j + ∑ i = 1 N ( C − λ i − μ i ) ξ i + ∑ i = 1 N λ i \begin{aligned} L(w,b,\xi,\lambda,\mu) &=\frac{1}{2}\sum^N\limits_{i=1}\sum^N\limits_{i=1}\lambda_i\lambda_jy_iy_jx^\top_ix_j+C\sum^N\limits_{i=1}\xi_i+\sum^N\limits_{i=1}\lambda_i-\sum^N\limits_{i=1}\sum^N\limits_{j=1}\lambda_i\lambda_jy_iy_jx_i^\top x_j-\sum^N_{i=1}\lambda_i\xi_i-\sum^N_{i=1}\mu_i\xi_i \\\\ &=-\frac{1}{2}\sum^N\limits_{i=1}\sum^N\limits_{i=1}\lambda_i\lambda_jy_iy_jx^\top_ix_j+\sum^N_{i=1}(C-\lambda_i-\mu_i)\xi_i+\sum^N_{i=1}\lambda_i \end{aligned} L(w,b,ξ,λ,μ)=21i=1Ni=1Nλiλjyiyjxixj+Ci=1Nξi+i=1Nλii=1Nj=1Nλiλjyiyjxixji=1Nλiξii=1Nμiξi=21i=1Ni=1Nλiλjyiyjxixj+i=1N(Cλiμi)ξi+i=1Nλi
    ∂ L ∂ ξ i = 0 \frac{\partial L}{\partial \xi_i}=0 ξiL=0,可得 C − λ i − μ i = 0 C-\lambda_i-\mu_i=0 Cλiμi=0

    带入 L L L再次有: L ( w , b , ξ , λ , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i ⊤ x j + ∑ i = 1 N λ i L(w,b,\xi,\lambda,\mu)=-\frac{1}{2}\sum^N\limits_{i=1}\sum^N\limits_{j=1}\lambda_i\lambda_jy_iy_jx^\top_ix_j+\sum^N\limits_{i=1}\lambda_i L(w,b,ξ,λ,μ)=21i=1Nj=1Nλiλjyiyjxixj+i=1Nλi

    因此对偶问题可以为:
    max ⁡ λ − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i ⊤ x j + ∑ i = 1 N λ i s . t . ∑ i = 1 N λ i y i = 0 , ∀ i ∈ { 1 , ⋯   , N } C − λ i − μ i = 0 , ∀ i ∈ { 1 , ⋯   , N } λ i ≥ 0 , ∀ i ∈ { 1 , ⋯   , N } μ i ≥ 0 , ∀ i ∈ { 1 , ⋯   , N } \begin{array}{c} \max\limits_{\lambda}-\frac{1}{2}\sum^N\limits_{i=1}\sum^N\limits_{j=1}\lambda_i\lambda_jy_iy_jx^\top_ix_j+\sum^N\limits_{i=1}\lambda_i \\ s. t. \sum^N\limits_{i=1}\lambda_iy_i=0,\forall i\in\{1,\cdots,N\} \\ C-\lambda_i-\mu_i=0,\forall i\in\{1,\cdots,N\} \\ \lambda_i\geq 0,\forall i \in\{1,\cdots,N\} \\ \mu_i\geq 0,\forall i \in\{1,\cdots,N\} \end{array} λmax21i=1Nj=1Nλiλjyiyjxixj+i=1Nλis.t.i=1Nλiyi=0,i{1,,N}Cλiμi=0,i{1,,N}λi0,i{1,,N}μi0,i{1,,N}
    化简得到:
    max ⁡ λ − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i ⊤ x j + ∑ i = 1 N λ i s . t . ∑ i = 1 N λ i y i = 0 , ∀ i ∈ { 1 , ⋯   , N } 0 ≤ λ i ≤ C , ∀ i ∈ { 1 , ⋯   , N } \begin{array}{c} \max\limits_{\lambda}-\frac{1}{2}\sum^N\limits_{i=1}\sum^N\limits_{j=1}\lambda_i\lambda_jy_iy_jx^\top_ix_j+\sum^N\limits_{i=1}\lambda_i \\ s. t. \sum^N\limits_{i=1}\lambda_iy_i=0,\forall i\in\{1,\cdots,N\} \\ 0\leq \lambda_i \leq C,\forall i\in\{1,\cdots,N\} \end{array} λmax21i=1Nj=1Nλiλjyiyjxixj+i=1Nλis.t.i=1Nλiyi=0,i{1,,N}0λiC,i{1,,N}
    因此其KKT条件如下:
    { ∇ w L = w − ∑ i = 1 N λ i y i x i = 0 ∇ b L = − ∑ i = 1 N λ i y i x i = 0 ∇ ξ L = C − λ − μ = 0 λ i ( 1 − y n ( w ⊤ x n + b ) − ξ i ) = 0 1 − y n ( w ⊤ x n + b ) − ξ n ≤ 0 ξ i ≥ 0 λ i ≥ 0 μ i ≥ 0 \begin{cases} \nabla_w L=w-\sum^N\limits_{i=1}\lambda_iy_ix_i=0 \\ \nabla_b L=-\sum^N\limits_{i=1}\lambda_iy_ix_i=0 \\ \nabla_{\xi}L=C-\lambda-\mu=0 \\ \lambda_i(1-y_n(w^\top x_n+b)-\xi_i)=0 \\ 1-y_n(w^\top x_n+b)-\xi_n\leq 0 \\ \xi_i\geq 0 \\ \lambda_i\geq 0 \\ \mu_i \geq 0 \end{cases} wL=wi=1Nλiyixi=0bL=i=1Nλiyixi=0ξL=Cλμ=0λi(1yn(wxn+b)ξi)=01yn(wxn+b)ξn0ξi0λi0μi0

    第四章

    4-1

    零均值化的输入,使得神经元在0附近,sigmoid函数在零点处的导数最大,所有收敛速度最快。非零中心化的输入将导致 ω \omega ω的梯度全大于0或全小于0,使权重更新发生抖动,影响梯度下降的速度。形象一点而言,就是零中心化的输入就如同走较为直的路,而非零时七拐八拐才到终点。

    4-2

    题目要求有两个隐藏神经元和一个输出神经元,那么网络应该有 W ( 1 ) W^{(1)} W(1) w ( 2 ) w^{(2)} w(2)两个权重,取:
    W ( 1 ) = [ 1 1 1 1 ] , b ( 1 ) = [ 0 1 ] w ( 2 ) = [ 1 − 2 ] , b ( 2 ) = 0 W^{(1)}=\left[\begin{array}{c}1 & 1\\ 1& 1\end{array}\right],b^{(1)}=\left[\begin{array}{c}0 \\ 1\end{array}\right] \\ w^{(2)}=\left[\begin{array}{c}1 \\ -2\end{array}\right],b^{(2)}=0 W(1)=[1111],b(1)=[01]w(2)=[12],b(2)=0
    带入得到:
    X = [ 0 0 1 1 0 1 0 1 ] X=\left[\begin{array}{c}0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1\end{array}\right] X=[00011011]
    神经元的输入与输出:

    x 1 x_1 x1 x 2 x_2 x2 y y y
    000
    101
    011
    110

    实验代码(需要tensorflow2.3):

    import numpy as np
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    #input and output
    X=np.array([[0,0],[0,1],[1,0],[1,1]])
    Y=np.array([[0],[1],[1],[0]])
    x=tf.placeholder(dtype=tf.float32,shape=[None,2])
    y=tf.placeholder(dtype=tf.float32,shape=[None,1])
    #weight
    w1=tf.Variable(tf.random_normal([2,2]))
    w2=tf.Variable(tf.random_normal([2,1]))
    #bias
    b1=tf.Variable([0.1,0.1])
    b2=tf.Variable(0.1)
    #relu activation function
    h=tf.nn.relu(tf.matmul(x,w1)+b1)
    output=tf.matmul(h,w2)+b2
    #loss and Adam optimizer
    loss=tf.reduce_mean(tf.square(output-y))
    train=tf.train.AdamOptimizer(0.05).minimize(loss)
    
    with tf.Session() as session:
        session.run(tf.global_variables_initializer())
        
        for i in range(2000):
            session.run(train,feed_dict={x:X,y:Y})
            loss_=session.run(loss,feed_dict={x:X,y:Y})
            if i%50 == 0:
                print("step:%d,loss:%.3f"%(i,loss_))
                
        print("X:%r"%X)
        print("Pred:%r"%session.run(output,feed_dict={x:X}))
    

    4-3

    二分类的例子

    二分类交叉熵损失函数为: L ( y , y ^ ) = − ( y log ⁡ y ^ + ( 1 − y ) log ⁡ ( 1 − y ^ ) ) L(y,\hat{y})=-(y\log\hat{y}+(1-y)\log(1-\hat{y})) L(y,y^)=(ylogy^+(1y)log(1y^))

    不同取值损失函数如表所示:

    y y y y ^ \hat{y} y^ L ( y , y ^ ) L(y,\hat{y}) L(y,y^)
    000
    10 + ∞ +\infty +
    01 − ∞ -\infty
    110

    如果我们要损失函数尽可能小的时候, y y y为1的时候 y ^ \hat{y} y^尽可能要大, y y y为0的时候 y ^ \hat{y} y^尽可能要小。而在后一种情况下需要 ω \omega ω尽可能小,因此如果更新过多,会导致样本的所有输出全部为负数,因而梯度会为0,造成权重无法更新,因而成死亡结点。

    解决方法

    使用Leaky ReLU、PReLU、ELU或者SoftPlus函数当作激活函数。

    ReLU死亡问题数学推导

    向前传播公式: { z = ω ⋅ x a = R e L U ( z ) \begin{cases}z=\omega\cdot x\\ a=ReLU(z)\end{cases} {z=ωxa=ReLU(z)

    损失函数为 L L L,反向传播公式为: { ∂ L ∂ z = ∂ L ∂ a ⋅ ∂ a ∂ z ∂ L ∂ W = ∂ L ∂ z ⋅ x ⊤ ∂ L ∂ x = ω ⊤ ⋅ ∂ L ∂ z \begin{cases}\frac{\partial L}{\partial z}=\frac{\partial L}{\partial a}\cdot\frac{\partial a}{\partial z}\\\\ \frac{\partial L}{\partial W}=\frac{\partial L}{\partial z}\cdot x^\top\\\\ \frac{\partial L}{\partial x}=\omega^\top \cdot \frac{\partial L}{\partial z}\end{cases} zL=aLzaWL=zLxxL=ωzL

    对固定的学习率 l r lr lr,梯度 ∂ L ∂ W \frac{\partial L}{\partial W} WL越大,权重 W W W更新也就越快,梯度更新公式: W = W + l r ⋅ ∂ L ∂ W W=W+lr\cdot \frac{\partial L}{\partial W} W=W+lrWL

    如果梯度太大,而学习率又不小心设置得太大,就会导致权重一下子更新过多。

    而我们又想使得损失函数最小,就有可能出现这种情况:对于任意训练样本 x i x_i xi ,网络的输出都是小于0的,用数学描述为: z i = W ⋅ x i < 0 , ∀ x i ∈ D t r a i n z_i=W\cdot x_i<0,\forall x_i\in D_{train} zi=Wxi<0,xiDtrain

    此时: a i = m a x { z i , 0 } = 0 a_i=max\{z_i,0\}=0 ai=max{zi,0}=0,即与该神经元相连的参数都得不到更新,神经元进入“休眠”状态。

    4-4

    S w i s h 求 导 : d x σ ( β x ) d x = σ ( β x ) + x σ ( β x ) ( 1 − σ ( β x ) ) β = 1 + ( β x + 1 ) ⋅ e x p ( − β x ) ( 1 + exp ⁡ ( − β x ) ) 2 G E L U 求 导 : d G E L U ( x ) d x = P ( X ≤ x ) + x d P ( X ≤ x ) d x = Φ ( x ) + x ⋅ exp ⁡ ( − x 2 2 ) 2 π Swish求导:\frac{\mathbb{d}x\sigma(\beta x)}{\mathbb{d}x}=\sigma(\beta x)+x\sigma(\beta x)(1-\sigma(\beta x))\beta=\frac{1+(\beta x+1)\cdot exp(-\beta x)}{(1+\exp(-\beta x))^2} \\\\ GELU求导:\frac{\mathbb{d}GELU(x)}{\mathbb{d}x}=P(X\leq x)+\frac{x\mathbb{d}P(X\leq x)}{\mathbb{d}x}=\Phi(x)+\frac{x\cdot \exp(\frac{-x^2}{2})}{\sqrt{2\pi}} Swishdxd