01
第一条路,专家系统:靠人工把专家知识写成「如果…就…」的规则,最终死在了「知识获取瓶颈」——人类的经验根本没法完全翻译成规则,维护成本高到离谱;
第二条路,神经网络:靠模拟人脑神经元自主学习,最终死在了「训练难题」——梯度消失问题没解决,算力跟不上,深层网络根本训不动,效果还不如简单的统计方法。
专家系统的做法:找一个反垃圾邮件专家,把他的经验写成规则。比如「如果邮件里有『中奖』『免费领』,就判定为垃圾邮件」「如果发件人是陌生地址,就加风险分」,规则越写越多,最终还是会被新的垃圾邮件套路绕过去;
神经网络的做法:给机器喂几百万封标注好的邮件,让它自己一层层学特征,自己判断哪些词、哪些特征和垃圾邮件相关,最终给出结果; 统计机器学习的做法:先给模型看大量已经标好“垃圾/正常”的邮件,让它统计出规律:垃圾邮件常出现“中奖”“免费”“外链”这些特征,然后用概率算出一封新邮件,更像垃圾还是正常邮件,最后直接给出判断结果。
02
小样本也能出好效果:当时的神经网络需要海量数据才能训好,可90年代根本没有那么多标注数据,而SVM哪怕只有小几千个样本,也能训练出效果极好的模型;
数学严谨,不会「玄学翻车」:SVM有完整的统计学习理论支撑,训练结果稳定可控,不会像神经网络一样,这次训出来效果极好,下次就完全不行,完美契合了学术界对「严谨性」的要求;
能解决线性不可分问题:它用「核函数」给数据升维,把二维平面里分不开的红球蓝球,升到三维空间里,轻轻松松用一个平面分开,完美解决了当年感知机搞不定的非线性难题。
效果好,抗造:几乎不会过拟合,对脏数据、缺失值的容忍度极高,不用像SVM一样费劲地调参数,随便跑跑效果就很好;
能解释,不玄学:你能清清楚楚地看到,每一棵决策树是怎么判断的,最终结果是怎么投票出来的,工业界落地的时候,能给客户讲得明明白白;
能并行,速度快:成千上万棵树的训练,可以同时进行,哪怕是海量数据,也能快速跑完,完美适配工业界的大数据场景。
03
特征工程,必须靠人工:传统机器学习算法,不会自己从数据里学特征。比如做图像识别,你需要人工给它设计「边缘、纹理、轮廓」这些图像特征;做文本分类,你需要人工给它做分词、提取关键词。算法的上限,完全取决于人工特征工程做得好不好。而深度学习,能自己从海量数据里学到特征,根本不用人工干预。当数据量从几十万涨到几千万、几亿的时候,传统机器学习的人工特征工程,根本跟不上了。 能力天花板,一眼可见:传统机器学习算法,在小样本、结构化数据的场景里,效果极好。可面对图片、音频、视频这些高维的非结构化数据,面对海量的互联网数据,它的效果很快就摸到了天花板——哪怕你再给它喂更多的数据,它的准确率也不会再涨了。
Vapnik V N. The nature of statistical learning theory[M]. Springer science & business media, 2013.(SVM与统计学习理论的奠基性著作,瓦普尼克原著)
Breiman L. Random forests[J]. Machine learning, 2001, 45(1): 5-32.(随机森林原始论文,布雷曼里程碑式研究)
Mitchell T M. Machine learning[M]. McGraw-Hill, 1997.(机器学习领域经典教材,完整梳理传统机器学习算法的发展与原理)
周志华. 机器学习[M]. 清华大学出版社, 2016.(国内机器学习权威教材「西瓜书」,详解贝叶斯、SVM、随机森林等核心算法)
尼尔·尼尔森. 人工智能的探索[M]. 机械工业出版社, 2017.(AI权威历史著作,梳理统计学习时代的完整发展脉络)
凯德·梅茨. 深度学习革命[M]. 中信出版社, 2021.(还原SVM与神经网络的二十年竞争,以及深度学习最终爆发的完整历史)
Cortes C, Vapnik V. Support-vector networks[J]. Machine learning, 1995, 20(3): 273-297.(SVM正式提出的里程碑论文)
夜雨聆风