全文共2664字,预计学习时长7分钟
图源:unsplash
大概从20世纪50年代的早期研究开始,机器学习的所有工作就都是随着神经网络的创建积累而来的。随后出现了一个又一个新算法,从逻辑回归到支持向量机。但是十分确切地说,神经网络是算法的算法及机器学习的巅峰。可以说,神经网络是对机器学习的普遍概括,而不是仅仅一次尝试。
这样说来,与其说神经网络是简单的算法,不如说是框架和概念,这是显而易见的,因为在构建神经网络时有很大的自由度——比如对于隐藏层&节点个数、激活函数、优化器、损失函数、网络类型(卷积神经网络、循环神经网络等)以及特殊层(批归一化、随机失活等)。
如果把神经网络看作是概念而非严格的算法,一个有趣的推论就应运而生了:任何机器学习算法,无论是决策树还是k近邻,都可以用神经网络表示。直觉上,我们可以通过几个例子理解,更严谨地讲,这种说法也可以通过数学方法证明。
我们先来定义一下什么是神经网络:它是一个体系结构,包括输入层、隐藏层和输出层,各层的节点之间互相连接。信息通过线性变换(权重和偏置)和非线性变换(激活函数)从输入层转换到输出层,有一些方法可以更新模型的可训练参数。
逻辑回归简单定义为一个标准回归,每个输入的乘法系数和附加截距都要通过一个sigmoid函数,这可以通过不包括隐藏层的神经网络来建模,结果是通过sigmoid输出神经元的多元回归;线性回归也可以通过将输出神经元激活函数替换为线性激活函数来建模(线性激活函数只是映射输出f(x)= x,换句话说,它什么也不做)。
支持向量机(SVM)算法试图通过所谓的“核技巧”将数据投影到一个新的空间,从而优化数据的线性可分性。数据转换完成后,该算法绘制出沿组界最佳分离数据的超平面。超平面简单定义为现有维度的线性结合,很像是二维的直线和三维的平面。
这样说来,可以将SVM算法看成是将数据投影到一个新的空间,随后进行多元回归。神经网络的输出可以通过某种有界输出函数来实现概率结果。