深层学习为何要“Deep”(下)

为何深层学习

深层学习开启了人工智能的新时代。不论任何行业都害怕错过这一时代浪潮,因而大批资金和人才争相涌入。但深层学习却以“黑箱”而闻名,不仅调参难,训练难,“新型”网络结构的论文又如雨后春笋般地涌现,使得对所有结构的掌握变成了不现实。我们缺少一个对深层学习合理的认识。

神经网络并不缺少新结构,但缺少一个该领域的E=mc^2

很多人在做神经网络的实验时会发现调节某些方式和结构会产生意想不到的结果。但就我个人而言,这些发现并不会让我感到满足。我更关心这些新发现到底告诉我们了什么,造成这些现象的背后原因是什么。我会更想要将新的网络结构归纳到已有的体系当中。这也是我更多思考“为何深层学习有效”的原因。下面便是目前YJango关于这方面的见解。

深层神经网络相比一般的统计学习拥有从数学的严谨中不会得出的关于物理世界的先验知识(非贝叶斯先验)。该内容也在Bengio大神的论文和演讲中多次强调。大神也在Bay Area Deep Learning School 2016的Founda’ons and Challenges of Deep Learning pdf(这里也有视频,需翻墙)中提到的distributed representations和compositionality两点就是神经网络和深层神经网络高效的原因(若有时间,强烈建议看完演讲再看该文)。虽然与大神的思考起点可能不同,但结论完全一致(看到Bengio大神的视频时特别兴奋)。下面就是结合例子分析: 
1. 为什么神经网络高效 
2. 学习的本质是什么 
3. 为什么深层神经网络比浅层神经网络更高效 
4. 神经网络在什么问题上不具备优势

其他推荐读物

  • Bengio Y. Learning deep architectures for AI[J]. Foundations and trends® in Machine Learning, 2009, 2(1): 1-127.
  • Brahma P P, Wu D, She Y. Why Deep Learning Works: A Manifold Disentanglement Perspective[J]. 2015.
  • Lin H W, Tegmark M. Why does deep and cheap learning work so well?[J]. arXiv preprint arXiv:1608.08225, 2016.
  • Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(8): 1798-1828.
  • Deep Learning textbook by Ian Goodfellow and Yoshua Bengio and Aaron Courville

YJango的整个思考流程都围绕减熵二字进行。之前在《熵与生命》和《生物学习》中讨论过,生物要做的是降低环境的熵,将不确定状态变为确定状态。通常机器学习是优化损失函数,并用概率来衡量模型优劣。然而概率正是由于无法确定状态才不得不用的衡量手段。生物真正想要的是没有丝毫不确定性。

深层神经网络在自然问题上更具优势,因为它和生物学习一样,是找回使熵增加的“物理关系”(知识,并非完全一样),将变体(2^n)转化回因素(n)附带物理关系的形式,从源头消除熵(假设每个因素只有两种可能状态)。这样所有状态间的关系可以被确定,要么肯定发生,要么绝不发生,也就无需用概率来衡量。因此下面定义的学习目标并非单纯降低损失函数,而从确定关系的角度考虑。一个完美训练好的模型就是两个状态空间内所有可能取值间的关系都被确定的模型。

学习目标:是确定(determine)两个状态空间内所有可能取值之间的关系,使得熵尽可能最低。

:对熵不了解的朋友可以简单记住,事件的状态越确定,熵越小。如绝不发生(概率0)或肯定发生(概率为1)的事件熵小。而50%可能性事件的熵反而大。

为举例说明,下面就一起考虑用神经网络学习以下两个集合的不同关联(OR gate 和 XOR gate)。看看随着网络结构和关联的改变,会产生什么不同情况。尤其是最后网络变深时与浅层神经网络的区别。

:选择这种XOR这种简单关联的初衷是输入和输出空间状态的个数有限,易于分析变体个数和熵增的关系。

:用“变体(variation)”是指同一类事物的不同形态,比如10张狗的图片,虽然外貌各异,但都是狗。

问题描述:集合A有4个状态,集合B有2个状态。0和1只是用于表示不同状态的符号,也可以用0,1,2,3表示。状态也并不一定表示数字,可以表示任何物理意义。

A=\{00,01,10,11\}B=\{0,1\}

方式1:记忆

  • 随机变量X:可能取值是 \{00,01,10,11\}
  • 随机变量Y:可能取值是 \{0,1\}

    :随机变量(大写X)是将事件投射到实数的函数。用对应的实数表示事件。而小写字母x表示对应该实数的事件发生了,是一个具体实例。

  • 网络结构:暂且不规定要学习的关联是OR还是XOR,先建立一个没有隐藏层,仅有一个输入节点,一个输出节点的神经网络
  • 表达式y=M(x)=\phi(w_{1} \cdot x+b), \phi表示sigmoid函数。(只要是非线性即可,relu是目前的主流)
  • 说明:下图右侧中的虚线表示的既不是神经网络的链接,也不是函数中的映射,而是两个空间中,所有可能值之间的关系(relation)。学习的目的是确定这些状态的关系。比如当输入00时,模型要尝试告诉我们00到1的概率为0,00到0的概率为1,这样熵H(X)=-\sum\limits _ {i} p_{i}(x)logp_{i}(x)才会为零。
  • 关系图:左侧是网络结构,右侧是状态关系图。输入和输出空间之间共有8个关系(非箭头虚线表示关系)。除非这8个关系对模型来说都是相同的,否则用w_{h1}表示f:X\rightarrow Y时的熵H(M(X),X)就会增加。(w_{h1}无法照顾到8个关系,若完美拟合一个关系,其余的关系就不准确)

    :这里YJango是w_{h1}用表示\phi(w_{h1} \cdot x+b)的缩写。

  • 数据量:极端假设,若用查找表来表示关系:需要用8个不同的(x,y)数据来记住想要拟合的f:X\rightarrow Y

方式2:手工特征

  • 特征:空间A的4个状态是由两个0或1的状态共同组成。我们可以观察出来(计算机并不能),我们利用这种知识k()把A中的状态分解开(disentangle)。分解成两个独立的子随机变量H_{1}= \{0,1\}H_{2}= \{0,1\}。也就是用二维向量表示输入。
  • 网络结构:由于分成了二维特征,这次网络结构的输入需改成两个节点。下图中的上半部分是,利用人工知识k()将随机变量X无损转变为H_{1}H_{2}的共同表达(representation)。这时h_{1}h_{1}一起形成网络输入。

    :k()旁边的黑线(实线表示确定关系)并非是真正的神经网络结构,只是方便理解,可以简单想象成神经网络转变的。

  • 表达式y=M(h)=\phi(W_{h} \cdot h+b)

    :方便起见,w_{h1} \cdot h_{1} + w_{h2}\cdot h_{2}写成了矩阵的表达形式W_{h} \cdot h,其中b是标量,而W_{h}=\left[ \begin{matrix}   w_{h1}&w_{h2}  \end{matrix}  \right]\vec{h}=\left[\begin{matrix}h_{1}\\h_{2}\end{matrix}\right]

  • 关系图:由于k()固定,只考虑下半部分的关系。因为这时用了两条线w_{h1}w_{h2}来共同对应关系。原本需要拟合的8个关系,现在变成了4个(两个节点平摊)。同样,除非右图的4条红色关系线对w_{h1}来说相同,并且4条绿色关系线对w_{h2}来说也相同,否则用w_{h1}w_{h2}表示f:X\rightarrow Y时,一定会造成熵H(M(X),X)增加。

    :下图中左侧是网络结构图。右侧关系图中,接触的圆圈表示同一个节点的不同变体。分开的、并标注为不同颜色的圆圈表示不同节点,左右两图连线的颜色相互对应,如红色的w_{h1}需要表示右侧的4条红色关系线。

  • 关联1:下面和YJango确定想要学习的关联(函数)。如果想学习的关联是只取H_{1}或者H_{2}的值,那么该结构可以轻松用两条线w_{h1}w_{h2}来表达这4个关系(让其中一条线的权重为0,另一条为1)。

  • 关联2:如果想学习的关联是或门,真值表和实际训练完的预测值对照如下。很接近,但有误差。不过若要是分类的话,可以找到0.5这个超平面来分割。大于0.5的就是1,小于0.5的就是0,可以完美分开。

    :第一列是输入,第二列是真实想要学习的输出,第三列是训练后的网络预测值。

  • 关联3:如果想学习的关联是异或门(XOR),真值表和实际训练完的预测值对照如下。由于4条关系线无法用单个w表达,该网络结构连XOR关联的分类都无法分开。

  • 数据量:学习这种关联至少需4个不同的([h_{1},h_{2}],y)来拟合f_{hy}:H\rightarrow Y。其中每个数据可以用于确定2条关系线。

方式3:加入隐藏层

  • 网络结构1:现在直接把h_{1}h_{2}作为输入(用x_{1},x_2表示),不考虑k()。并且在网络结构中加入一个拥有2个节点(node)隐藏层(用h_{1}h_{2}表示)。
  • 表达式y=M(x)=\phi(W_{h} \cdot \phi(W_{x} \cdot x+b_{x})+b_{h})
  • 关系图1:乍一看感觉关系更难确定了。原来还是只有8条关系线,现在又多了16条。但实际上所需要的数据量丝毫没有改变。因为以下两条先验知识的成立

    :下图最右侧是表示:当一个样本进入网络后,能对学习哪些关系线起到作用。

  • 1. 并行f_{xh_1}:X_{1},X_{2}\rightarrow H_{1}f_{xh_2}:X_{1},X_{2}\rightarrow H_{2}的学习完全是独立并行。这就是神经网络两条固有先验知识中的:并行:网络可以同时确定f_{xh_1}f_{xh_2}的关联。也是Bengio大神所指的distributed representation。

    :有效的前提是所要学习的状态空间的关联是可以被拆分成并行的因素(factor)。

    f_{hy}:H_{1},H_{2}\rightarrow Y就没有并行一说,因为Y是一个节点拥有两个变体,而不是两个独立的因素。但是也可以把Y拆开表示为one-hot-vector。这就是为什么分类时并非用一维向量表示状态。更验证了YJango在机器学习中对学习定义:学习是将变体拆成因素附带关系的过程。

  • 迭代:第二个先验知识是:在学习f_{hy}:H_{1},H_{2}\rightarrow Y同时f_{xh_1}:X_{1},X_{2}\rightarrow H_{1}f_{xh_2}:X_{1},X_{2}\rightarrow H_{2}也可以被学习。这就是神经网络两条固有先验知识中的:迭代:网络可以在确定上一级的同时确定下一级的所有内容。也是Bengio大神所指的compositionality。

    :有效的前提是所要学习的空间的关联是由上一级迭代形成的。所幸的是,我们所生活的世界几乎都符合这个前提(有特殊反例)。

  • 关联:如果想学习的关联是异或门(XOR),真值表和实际训练完的预测值对照如下。

    f_{xh_1}f_{xh_2}:期初若用两条网络连接表示X_{1},X_{2}\rightarrow H_{1},H_{2}的16个关系可能,那么熵会很高。但用两条线表示X_{1},X_{2}\rightarrow H_{1}的8个关系,模型的熵可以降到很低。下图中f_{xh_1}的输出值对应红色数字。f_{xh_2}对应输出值是由蓝色数字表达。

    f_{hy}:这时再看H_{1},H_{2}\rightarrow Y的关系,完全就是线性的。光靠观察就能得出f(h_1,h_2)的一个表达。

  • 数据量:如关系图1中最右侧图所示,一个输入[0,0]会被关联到0。而这个数据可用于学习2+4个关系。也就是说网络变深并不需要更多数据

模型的熵H(M(X),X)与用一条\phi(w_{1} \cdot x+b)所要拟合的关系数量有关。也就是说,

变体(variation)越少,拟合难度越低,熵越低。

  • 网络结构2:既然这样,X有4个变体,这次把节点增加到4。
  • 关系图2:与网络结构1不同,增加到4个节点后,每个节点都可以完全没有变体,只取一个值。想法很合理,但实际训练时,模型不按照该方式工作。

    :太多颜色容易眼花。这里不再用颜色标注不同线之间的对应关系,但对应关系依然存在。

    • 问题:因为会出现右图的情况:只有两个节点在工作(线的粗细表示权重大小)。ac的节点在滥竽充数。这就跟只有两个节点时没有太大别。原因是神经网络权重的初始化是随机的,数据的输入顺序也是随机的。这些随机性使得权重更新的方向无法确定。
  • 讨论:网络既然选择这种方式来更新权重,是否一定程度上说明,用较少的节点就可以表示该关联?并不是,原因在于日常生活中的关联,我们无法获得所有变体的数据。所得数据往往是很小的一部分。较少的节点可以表示这一小部分数据的关联,但却无法涵盖所有变体情况。造成实际应用时效果不理想。

    • 缓解:缓解的方式有L2正则化(L2 regularization):将每层权重矩阵的平方和作为惩罚。
    • 表达式\lambda/2\cdot\sum\limits_w w^2 \lambda是惩罚的强弱,可以调节。除以2是为了求导方便(与后边的平方抵消)。
    • 意义:当同一层的权重有个别值过高时,平方和就会增加。而模型在训练中会降低该惩罚。产生的作用是使所有权重平摊任务,让a,b,c,d都有值。以这样的方式来使每个节点都工作,从而消除变体,可以缓解过拟合(overfitting)。
    • 例如L2(W_{hy})=\lambda/2 \cdot (w_{hy1}^2+w_{hy2}^2+ w_{hy3}^2+w_{hy4}^2)

具有一个隐藏层的神经网络可以模拟任何函数,最糟的情况需要k^n个节点。

也叫Universal Approximation Theorem。但最糟的情况是输入空间有多少个变体,就需要多少个节点。k表示独立因素的变体个数,n表示独立因素的个数。上述的例子中最糟的情况需要2^2个隐藏节点。而代价也是需要k^n个不同数据才可以完美拟合。

  • 使用条件:浅层神经网络可以分开几乎所有自然界的关联。因为神经网络最初就是由于可移动的生物需要预测未来事件所进化而来的。所学习的关联是过去状态到未来状态。如下图,物理中的力也可以分离成两个独立的分力来研究。

但有一种不适用的情况:非函数。

  • 实例:函数的定义是:每个输入值对应唯一输出值的对应关系。为什么这么定义函数?对应两个以上的输出值在数学上完全可以。但是在宏观的世界发展中却不常见。如下图:

    • 时间顺流:不管从哪个起点开始,相同的一个状态(不是维度)可以独立发展到多个不同状态(如氧原子可演变成氧分子和臭氧分子)。也就热力学第二定律的自发性熵增:原始状态通过物理关系,形成更多变体。

    • 时间倒流:宏观自然界中难以找到两个以上的不同状态共同收回到一个状态的例子(如氧分子和臭氧分子无法合并成氧原子)。如果这个可以实现,熵就会自发性减少。也就不需要生物来消耗能量减熵。我们的房间会向整齐的状态发展。但这违背热力学第二定律。至少在我们的宏观世界中,这种现象不常见。所以进化而来的神经网络可以拟合任何函数,但在非函数上就没有什么优势。毕竟生物的预测是从过去状态到未来状态。也说明神经网络并不违背无免费午餐定理

      • 实例:XOR门的输入空间和输出空间若互换位置,则神经网络拟合出来的可能性就非常低(并非绝对无法拟合)。

方式4:继续加深

浅层神经网络可以模拟任何函数,但数据量的代价是无法接受的。深层解决了这个问题。相比浅层神经网络,深层神经网络可以用更少的数据量来学到更好的拟合。上面的例子很特殊。因为2\cdot 2=42^2=4,比较不出来。下面YJango就换一个例子,并比较深层神经网络和浅层神经网络的区别。

  • 问题描述:空间A有8个可能状态,空间B有2个可能状态:

    A=\{0,1,2,3,4,5,6,7\}B=\{0,1\}
  • 网络结构

    • 浅层神经网络:8节点隐藏层
    • 深层神经网络:2节点隐藏层 + 3节点隐藏层
  • 深浅对比

    浅层神经网络:假如说输入3和输出0对应。数据(3,0)只能用于学习一个节点(如h_1)前后的两条关系线。完美学习该关联需要所有8个变体。然而当变体数为10^{10}时,我们不可能获得10^{10}不同变体的数据,也失去了学习的意义。毕竟我们是要预测没见过的数据。所以与其说这是学习,不如说这是强行记忆。好比一个学生做了100册练习题,做过的题会解,遇到新题仍然不会。他不是学会了做题,而是记住了怎么特定的题。

    深层神经网络:如果只观察输入和输出,看起来同样需要8个不同的(x,y)训练数据。但不同(x,y)之间有共用部分。比如说,在确定3和0关系时,也同时对所有共用w1,w2,w3连接的其他变体进行确定。这样就使得原本需要8个不同数据才能训练好的关联变成只需要3,4不同数据个就可以训练好。(下图关系线的粗细并非表示权重绝对值,而是共用度

  • 深层的前提:使用浅层神经网络好比是用y=ax+ba,b,需要2个不同数据。而深层神经网络好比用y=axa,只需要一个数据。无免费午餐定理告诉我们,优化算法在一个任务上优秀,就一定会在其他任务上有缺陷,深层同样满足该定理。如果用y=ax去解实际上有by=ax+b,或者去解实际为y=ax2+bx+c的关联时,搜索效果只会更差。所以深层的前提是:X空间中的元素可以由Y迭代发展而来的。换句话说X中的所有变体,都有共用根源Y(root)。

  • 我们的物理世界:幸运的是,我们的物理世界几乎都满足迭代先验知识

    • 实例:比如进化。不同动物都是变体,虽然大家现在的状态各异,但在过去都有共同的祖先。
    • 实例:又如细胞分裂。八卦中的8个变体是由四象中4个变体的基础上发展而来,而四象又是由太极的2个变体演变而来。很难不回想起“无极生太极,太极生两仪,两仪生四象,四象生八卦”。(向中国古人致敬,虽然不知道他们的原意)

学习的过程是因素间的关系的拆分,关系的拆分是信息的回卷,信息的回卷是变体的消除,变体的消除是不确定性的缩减。

自然界两个固有的先验知识

并行:新状态是由若干旧状态并行组合形成。

迭代:新状态由已形成的状态再次迭代形成。

为何深层学习:深层学习比浅层学习在解决结构问题上可用更少的数据学习到更好的关联。

随后的三篇文章正是用tensorflow实现上述讨论的内容,以此作为零基础实现深层学习的起点。 

最后总结一下开篇的问题: 
1. 为什么神经网络高效:并行的先验知识使得模型可用线性级数量的样本学习指数级数量的变体 
2. 学习的本质是什么:将变体拆分成因素和知识(Disentangle Factors of Variation) 

  • 稀疏表达:一个矩阵被拆分成了稀疏表达和字典。
  • one hot vector:将因素用不同维度分开,避免彼此纠缠。 

3. 为什么深层神经网络比浅层神经网络更高效:迭代组成的先验知识使得样本可用于帮助训练其他共用同样底层结构的样本。 

4. 神经网络在什么问题上不具备优势:不满足并行与迭代先验的任务 

  • 非函数:需要想办法将问题转化。
  • 非迭代(非结构):该层状态不是由上层状态构成的任务(如:很深的CNN因为有max pooling,信息会逐渐丢失。而residual network再次使得迭代的先验满足)

到此我们讨论完了神经网络最基础的,也是最重要的知识。在实际应用中仍会遇到很多问题(尤其是神经网络对noise的克服更加巧妙)。随后YJango会再和大家一起分析过深后会产生什么效果,并一步步引出设计神经网络的本质

超智能体
超智能体

分享简单易懂深度学习知识。

入门深度学习神经网络
3
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

无免费午餐定理技术

该定理在机器学习算法中的体现为:在没有实际应用场景/背景的情况下,没有一种算法比随机胡猜的效果好。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

异或门技术

异或门是数字逻辑中实现逻辑异或的逻辑门,功能见右侧真值表。若两个输入的电平相异,则输出为高电平(1);若两个输入的电平相同,则输出为低电平(0)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

暂无评论
暂无评论~