tictoc正方形网络模型_每一种机器学习算法都可以表示为一个神经网络

神经网络是算法的算法!

导读 

似乎机器学习的所有工作 - 从20世纪50年代的早期研究开始 - 都是随着神经网络的诞生而积累起来的。从Logistic回归到支持向量机SVM,相继提出了一个又一个新算法,但神经网络实际上是算法的算法和机器学习的顶峰。这是机器学习的普遍概括,而不是一次尝试。

从这个意义上讲,它更像是一个框架和概念,而不仅仅是一个算法,这一点在构建神经网络时有着巨大的自由度 - 隐藏层和节点计数、激活函数、优化器、损失函数、网络类型(卷积、递归等)和专门层(批量标准、辍学、,等等),举几个例子。

从这个角度来看,神经网络是一个概念,而不是一个严格的算法,这是一个非常有趣的推论:任何机器学习算法,无论是决策树还是k-最近邻,都可以用神经网络来表示。虽然直觉上这可以通过一些例子来理解,但这种说法可以在数学上得到证明。

让我们首先定义什么是神经网络:它是一个由输入层、隐藏层和输出层组成的体系结构,每个层的节点之间都有连接。信息通过线性变换(权重和偏差)以及非线性变换(激活函数)从输入层转换到输出层。有一些方法可以更新模型的可训练参数,从而使模型具有更好的可训练性…

f892190b2e759524a70d9f6923d56962.png

图片:Neuralink

a20688092ca4d8817b35a59ff72ddd32.gif

www.arkai.net

01

Logistic回归被简单地定义为一个标准回归,每个输入都有乘法系数,并且增加了一个额外的截距,所有这些都通过一个sigmoid函数。这可以用一个没有隐藏层的神经网络来建模;结果是通过一个sigmoid输出神经元进行多元回归。

c190554b40ef23fa73e8c39b1377d079.png

线性回归也可以用线性激活函数代替输出神经元激活函数(它只是映射输出f(x)=x,换句话说,它什么都不做)。

02

支持向量机(SVM)算法试图通过一种所谓的“核技巧”将数据投影到一个新的空间中,从而优化数据的线性可分性。在数据被转换后,该算法绘制出沿着类边界最好地分离数据的超平面。超平面被简单地定义为现有维度的线性组合,就像二维的直线和三维的平面。从这个意义上讲,我们可以把支持向量机算法看作是将数据投影到一个新的空间,然后进行多元回归。神经网络的输出可以通过某种有界输出函数来获得概率结果。

faab4c9572d64718161db5c4982e4cf0.png

当然,可能需要实现一些限制,例如限制节点之间的连接,并使某些参数固定不变,当然,这不会损害“神经网络”标签的完整性。也许还需要添加更多的层来确保支持向量机的这种表示能够像实际处理一样执行。

03

基于树的算法,比如决策树算法,要稍微复杂一些。关于如何构造这种神经网络的答案在于分析它如何划分其特征空间。当训练点穿过一系列分割的节点时,特征空间被分割成几个超立方体;在二维例子中,垂直线和水平线形成正方形。

47d412ea523fa0deeeded829acaddd33.png

因此,沿着这些线分割特征空间的类似方式可以通过更严格的激活来模拟,比如阶跃函数,其中输入要么是一个值,要么是另一个值——本质上是一条分隔线。权重和偏差可能需要实现值限制,因此仅用于通过拉伸、收缩和定位来确定分隔线的方向。为了获得概率结果,可以通过激活函数传递结果。

f4adca2136648c66d2b41028ce0168dd.png

虽然算法的神经网络表示与实际算法有许多技术上的差异,但关键在于网络表达了相同的思想,并且能够以与实际算法相同的策略和性能来处理问题。

04

但也许你不满足于将算法粗略地转换成神经网络的形式,或者希望看到一个更复杂的算法的通用应用,比如K-最近邻或朴素的Bayes,而不是逐个应用。答案在于普遍逼近定理——神经网络疯狂成功背后的一个数学解释——它本质上说,一个足够大的神经网络可以以任意精度对任何函数建模。假设有一个函数f(x)表示数据;对于每个数据点(x,y),f(x)总是返回一个等于或非常接近y的值。

b51a346c99a34d25fd65dd777999b4a0.png

建模的目的是找到这个有代表性的或基本的真值函数f(x),我们用p(x)来表示预测。所有的机器学习算法对这项任务的处理方式都有很大的不同,将不同的假设视为有效,并给出其最佳结果p(x)。如果有人写出算法创建p(x)的方法,你可以得到从条件句列表到纯数学运算的任何东西。描述函数如何将目标映射到输入的函数可以采用任何形式。

6a7fc7b58f42c9870d751359b582ca88.png

有时,这些功能起作用。其他时候,他们没有-他们有一个固定数量的参数,使用他们是一个采取或不采取的问题。不过,神经网络在寻找f(x)的方法上有点不同。

05

任何函数都可以用许多类似阶梯的部分来合理地近似,步骤越多,逼近就越精确。

7708b20dad4c26539dea45ca0fc25ba3.png

在神经网络中,每一步都是隐层节点的sigmoid激活函数,它本质上是一个概率阶跃函数。本质上,每个节点都被“分配”到函数的一部分,f(x)。然后,通过权值和偏差系统,网络可以确定一个节点的存在,如果一个特定的输入应该激活神经元,则将sigmoid函数的输入吹向无穷大(输出为1),反之则朝负无穷大方向吹。这种委托节点寻找数据函数特定部分的模式不仅在数值数据中被观察到,而且在图像中也有观察到。

虽然通用逼近定理已经被扩展到适用于其他激活函数,如ReLU和神经网络类型,但原理仍然正确:神经网络是为了完美而创建的。神经网络不再依赖复杂的数学方程和关系系统,而是将自己的一部分委托给数据函数的一部分,并在其指定区域内强力记忆归纳。当这些节点聚合成一个庞大的神经网络时,结果是一个看似智能的模型,而实际上它们是被巧妙设计的近似器。

假设神经网络至少在理论上可以构造出一个基本上和你想要的一样精确的函数(节点越多,近似值越精确,当然不考虑过拟合的技术细节),一个结构正确的神经网络可以对任何其他算法的预测函数p(x)进行建模。对于其他任何机器学习算法来说,这是不可能的。

神经网络所使用的方法不是优化现有模型中的一些参数,如多项式曲线或节点系统。神经网络是对数据建模的一个特定视角,它寻求的不是充分利用任何独立系统,而是直接近似数据功能;我们所熟悉的神经网络体系结构只是一个真实想法的模型表现。

06

随着神经网络的力量和对深度学习这一无底领域的持续研究,数据 - 无论是视频、声音、流行病学数据,还是介于两者之间的任何数据 - 将能够以前所未有的程度进行建模。神经网络确实是算法的算法。

5d3db17e9c7e8fe28724f320ce391ec0.png

www.arkai.net

d528e512fa9dd62de288996f5370e2a7.gif

c40df8017f041d453c4201d05cc33896.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值