热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

ReLu及其变体如何解决非线性问题

我们知道线性方程可以做到,将一个平面划分成两个:线性函数−5−2∗x+y-5-2*x+y−5−2∗x+y将一个平面分为两部分,使用Relu后,分类边界不再是横穿x-y位置的直线。将

我们知道线性方程可以做到,将一个平面划分成两个:


线性函数−5−2∗x+y-5-2*x +y将一个平面分为两部分,使用Relu后,分类边界不再是横穿x-y位置的直线。将x轴以下的部分切掉,从而得到上面右侧图中所示的角度区域。

我们加入了四个relu函数,最终的输出是通过应用一个线性模型将所有这些角区域加到一起来构建的,看起来就像是平面折叠了一样。下面显示了这样一个输出决策区域的示例:

现在可以想象构建一个有20 ~ 30 Relus的网络,并得到如下所示的分类边界:

所以虽然ReLu函数在大于0和小于0的区域分别都为线性函数,但是把他们放在一起的时候就是非线性函数:

对于浅层的机器学习,比如经典的三层神经网络,用它作为**函数的话,那表现出来的性质肯定是线性的。但是在深度学习里,少则几十,多则上千的隐藏层,虽然,单独的隐藏层是线性的,但是很多的隐藏层表现出来的就是非线性的。线性和非线性,举个简单的例子,一条曲线无限分段,每段就趋向直线,反过来,很多这样的直线就可以拟合曲线。类似,大规模的神经网络,包含很多这样的线性基本组件,自然也可以拟合复杂的非线性情况。

参考paper



推荐阅读
author-avatar
x洗不掉的思念
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有