如何简单介绍机器学习和深度学习的区别?

如何简单介绍机器学习和深度学习的区别?

正文开始前,需要明确的是,深度学习属于机器学习的一个分支,而不是独立的概念。但是为了行文的简便,下文里用“机器学习”来代指深度学习之前的“传统机器学习”,比如LR、GBDT之类的。

我是做推荐搜索算法的,所以我从推荐、搜索的角度来介绍一下深度学习与机器学习的区别与联系。但是实际上,两类算法在思想的差异,能够扩展到CV或NLP等领域。文字虽然多了一些,但是里面的道理是十分清晰、易懂的,请各位看官耐心阅读 :-)

首先要弄明白,是什么原因驱动业界从传统机器学习发展到深度学习。从推荐领域来看,这个驱动力就是推荐算法的两大经典主题,“「记忆」”与“「扩展」”。

我们希望推荐系统记住什么?能够记住的肯定是那些「常见、高频」的模式。举个简单的例子:

为什么?因为<春节,中国人,饺子>的模式、<感恩节、美国人、火鸡>的模式「在训练样本中出现得太多太多了,推荐系统只需要记得住」,下次遇到同样的场景,“照方扒抓药”,就能“药到病除”。

Logistic Regression就是一个非常擅于记忆的模型。说是模型,其实就是一个超大规模的“评分卡”。

上图的评份卡,是金融风控领域用来评估申请人的信用分。推荐算法的LR,如果形象地画出来,与上面的评分卡类似,只不过卡里面的条目要多得多得多。

LR强于记忆,弱于扩展。还举刚才的例子

不要小看这个问题,它关乎到企业的生死,也就关系到你老板和你的腰包

综上所述,为了避开“大众推荐”这一片内卷严重的红海,而拥抱“「个性化精准推荐」”的「蓝海」,推荐算法不能只满足于记住“常见、高频”的模式(训练数据中频繁出现的),而必须能够自动挖掘出“「低频、长尾」”(训练数据中罕见的)模式。

如何扩展?看似神秘,其实就是将粗粒度的概念,拆解成一系列细粒度的特征,从而“看山非山、看水非水”。还举饺子、火鸡的例子

这样看来,只要我们喂入算法的,不是粗粒度的概念,而是细粒度的特征向量,即便是LR这样强记忆的算法,也能够具备扩展能力。

但是,上述方法依赖于人工拆解,也就是所谓的“特征工程”,有两方面的缺点:

既然人工拆解有困难、受局限,即能不能「让算法自动将概念拆解成特征向量」?如果你能够想到这一步,恭喜你,你一只脚已经迈入了深度学习的大门。你已经悟到了“道”,剩下的只是“技”而已。

学习的过程,就是把书读薄的过程。我曾经提到过,林彪元帅用“剪贴法”来读书:在读书时,选择他认为“有用”的话剪贴起来。一本《共产党宣言》最后被他剪到最后只剩下“大工业、大机器”几个字。

区区不才,而欲效法先贤。到目前为止,我也曾经将两门技术总结成四字成语,并“自鸣得意”。第一个,我将Object-Oriented Programming总结为“求同存异”,即OOP的核心思想就是将不同的实现隐藏在相同的接口后面。另一个就是深度学习,我总结它为“「无中生有」”,也就是本文标题的来历。

所谓“无中生有”,

这种“无中生有”的套路,好似“上帝说,要有光,于是便有了光”的神迹。以讹传讹,后来就变成了初学者口中“深度学习不需要特征工程”,给了某些人“我只做深度学习,不做机器学习”的盲目自信。其实这种“「将特征、函数转化为待优化变量」”的思想,并不是深度学习发明的,早在「用矩阵分解进行推荐」的“古代”就已经存在了,只不过那时候,它不叫Embedding,而叫“「隐向量」”。

深度学习对于推荐算法的贡献与提升,其核心就在于Embedding。如前文所述,Embedding是一门自动将概念拆解为特征向量的技术,目标是提升推荐算法的扩展能力,从而能够自动挖掘那些低频、长尾、小众的模式,拥抱“个性化推荐”的“蓝海”。

Embedding到底是如何提升“扩展”能力的?简单来说,Embedding将推荐算法从“「精确匹配」”转化为“「模糊查找」”,从而能够“「举一反三」”。

比如在使用倒排索引的召回中,是无法给一个喜欢“科学”的用户,推出一篇带“科技”标签的文章的(不考虑近义词扩展),因为“科学”与“科技”是两个完全独立的词。但是经过Embedding,我们发现“科学”与“科技”两个向量,并不是正交的,而是有很小的夹角。设想一个极其简化的场景,用户向量就用“科学”向量来表示,文章的向量只用其标签的向量来表示,那么用“科学”向量在所有标签向量里做Top-K近邻搜索,一篇带“科技”标签的文章就有机会呈现在用户眼前,从而破除之前“只能精确匹配‘科学’标签”带来的“「信息茧房」”

再回到原来饺子、火鸡的例子里,借助Embedding,算法能够自动学习到火鸡与饺子的相似性,从而给<中国人,火鸡>的小众组合打一个不低的分数,使火鸡得到了推荐给中国人的机会,从而能更好地给那些喜欢过洋节的中国人提供更好的个性化服务

简单总结一下,帮助各位调参侠+打工人,更好地掌握推荐算法的“昨天与今天”: