码农要术:机器学习篇:简介

June 16, 2020

当今社会的我们,在古代人眼里,可以算是神仙了。

古代人们对于神仙的各种幻想,现在有部分已经被人工智能实现了。比如开个视频聊天,在古人眼里就是”千里眼”和”顺风耳”,甚至还有回音消除和人脸识别等效果。孙悟空的火眼金睛,应该就是安装了目标检测系统或者妖怪分类器。还有悟空每到一个地都会把当地的土地公叫出来,土地公的国籍都不太一样,不可能都说汉语,悟空也能听得懂,所以悟空应该是带了个机器翻译系统。

如此看来,在西游记中神仙这一阶层,人工智能技术已经发展的比较成熟。后续会有一系列文章,来记录一下我对人工智能的一些思考和经验。欢迎交流。

人工智能有很多分支,比如机器学习,计算机视觉,自然语言处理等,各个分支之间并不是非此即彼,而是有些重叠的知识。先从机器学习开始开始吧。

机器学习是干什么的

机器学习是从数据中学习并且构建模型,进而解决实际的应用问题。

机器学习三要素

有几种说法:

  1. 模型+策略+算法。来源:《统计学习方法》
  2. 数据+模型+算法。
  3. 数据+特征+算法。
  4. 表示+评估+优化。来源:Domingos_2012_A few useful things to know about machine learning.
  5. 表示+策略+优化。

这几种说法中,1和4是更为确切的。2,3略有欠缺。5是1和4的另一种说法。

李航老师所说的模型(Model),Domingos教授所说的表示(Representation),说的都是把数据和模型参数映射到学习的假设空间(hypothesis space)。

李航老师所说的策略(Strategy),Domingos教授所说的评估(Evaluation),说的都是损失函数或者评价函数。来评价模型的好坏。

李航老师所说的算法(Algorithm),Domingos教授所说的优化(Optimization),说的都是损失函数的优化算法。借助于损失函数在假设空间中找到问题最优的解。

image-20200621142616755

机器学习脑图(常用版)

image-20200621014757289

上图为机器学习三要素的脑图,只列举了常用部分,后续会不断补充。

需要注意的是,三要素之间不是任意可以组合的,模型适用的损失函数和优化方法都又一些原理蕴含其中。写到具体模型的时候再进一步说明。下图列举了一些常见三要素的组合关系

image-20200621004828224

机器学习当前现状

1. 流派之争

机器学习与统计学密不可分,甚至有时候就叫”统计学习”。现如今统计学者目前成两个流派,频率学派和贝叶斯学派。前面已经说过,机器学习的目的就是要找到最优解的参数,对于参数的理解,两个学派分歧很大,完全是不同的世界观。

频率学派的人认为参数是个常量,用最大似然估计(MLE)来学习这些参数,参数都是基于数据计算出,更关注样本空间。举个例子,一个硬币扔了5次,都是正面朝上。频率派认为这个硬币朝上的概率为1。不符合常识,但是当前的数据告诉我的就是这么一个结论,如果做更多的实验,结果会越来越接近正确答案。

贝叶斯学派的人则认为参数是个分布,而且会有一个参数的先验分布。一般使用最大后验概率估计(MAP)来计算参数,参数是由先验和数据共同计算得出,更关注参数空间。还是上面的例子,虽然这个硬币5次都朝上,但是我们熟悉的一个先验分布是:这个硬币大概率是均匀的。所以最终估计出来的参数是0和1之间的一个分布,等于1的概率最大,但不是一个常数1.

频率学派的问题是依赖于大数据,数据不够的时候,往往会出现偏差。

贝叶斯的最大的问题就是先验概率怎么选择?在有限数据的情况下,先验选的好,那效果会比频率学派的好,选的差,那就不如频率学派。如果先验是均匀分布,那么贝叶斯学派和频率学派就是等价的。如果先验是高斯分布,那么MAP就等价于MLE加上L2正则。

当然,随着数据量的增大,先验的影响会越来越小。当数据无穷大时,频率学派和贝叶斯学派应该是殊途同归。

由于现在是大数据时代,绝大多数问题用频率学派的思想就解决的比较好了,再加上贝叶斯有两个弱点:1. 计算复杂。2. 先验概率的主观性,导致当前机器学习的主流思想还是频率学派

2. 业界主流模型

目前各大互联网公司的模型的迭代路线一般都是经典机器学习->集成学习->深度学习。

比如ctr方向的早期阶段,Baidu和Google用的是大规模特征+线性模型,Yahoo和Bing用的是中小规模特征+GBDT,现今全都采用了深度学习。

为什么深度学习效果这么好?这个问题还没有很好的答案,也导致大家自嘲是在炼丹。但是历史上算法超前于理论出现也不是没发生过,比如AdaBoost,刚提出的时候大家也觉得像魔术,为什么简单的组合就能大幅提升性能?后来Margin Theory的提出在理论上解释了Boosting。相信后续深度学习的大牛们会给出理论上的解释,所以不用担心,炼丹就是了。

深度学习给了我们码农弯道超车的好机会,但是只掌握深度学习还不足以站稳脚跟。深度学习本质上也是机器学习的一个分支,各个分支其实都在相互借鉴。而且从长远来看,神经网络其实早就提出了,得益于近些年数据爆炸和计算能力的提升,深度学习一下子火了起来。未来说不定也有别的分支崛起。

如果那几个模型非要掌握,个人感觉应该是线性模型,集成学习,深度学习。掌握了这三种机器学习方法,业务上80%的需求应该都可以满足了。

码农要术:机器学习篇:简介 - June 16, 2020 -