笔者长期从事于机器学习领域,早就想把所学知识进行总结。抓住这段时间休假的契机,将为大家深刻讲解机器学习的核心技术,小白也能精通的机器学习,从这里开始!接下来一段时间,每天都会有更新,车门已锁死,上车需谨慎。
根据计算机领域的共识:机器学习是实现人工智能的主要方式。笔者也作为机器学习工作者,深刻领略到机器学习技术近年来给社会带来的巨大改变。
机器学习下属的算法种类很多,机器学习本身的应用也很多,但其中离我们最近的一定是推荐系统,这也是应用的最广泛的领域,所以,我会在接下来的五篇文章会精讲推荐系统,即便你是小白,当你看完这些文章,保证你可以在机器学习专家的面前对推荐系统侃侃而谈。
推荐系统的历史发展
推荐系统最早可以追索到哈佛商学院的一个研究,就是啤酒和尿布,根据数据分析可得,这两个看似不相关的东西,往往会被同时购买。根据这一结论,那么商店老板就可以在店铺中对其捆绑销售,以增加销量。
作为最早的电商开拓者,亚马逊采用的是基于关联规则的推荐系统,这种方法的原理被记录在CollaborativeFiltering一文中,这篇文章所介绍的原理对业界直到现在依然有着巨大的影响。所以在后续文章中,我将对CollaborativeFiltering文中采用的算法进行解释。
之后,在业界爆发了各种各样的推荐系统的应用,例如:某条新闻推荐系统、某宝电商推荐系统、某云音乐推荐系统等等,一度导致推荐系统相关人才工资疯狂上涨。可以确定的是,当前很长一段时间内,各大巨头依然大量需要经验丰富的此类人才。
各大巨头为什么迫切需求这种技术人才?
用户需要在短时间内找到自己的需要,但是当前互联网信息流巨大,搜索系统需要准确命中用户的需求,提高用户的搜索效率。个性化的产品系统优化了用户的体验,增加了对用户的黏性,用户停留时间的延长,可以为企业带来更大的效益。移动设备用户量远远超过PC端的同时,屏幕也在变小,用户浏览范围也在精简,这就需要对用户更加了解。用户越来越懒,传统技术无法满足对用户的多样性需求。推荐系统的演变过程
基于关联规则的推荐系统---基于协同过滤的方法---基于AI的个性化推荐方法(讲解重点)
基于关联规则的推荐系统主要依赖于数据库,在数据库内,根据一定的公式,计算两件物品之间的关联程度,进而产生推荐的结果。
基于协同过滤的推荐系统主要采用“K-近邻算法”,分为基于用户群的过滤推荐、基于产品的过滤推荐、基于模型的过滤推荐。
基于用户群的过滤推荐---将用户分为若干种类,同一种类内的人A和B,A喜欢什么,我们就假设B也喜欢什么,就给B推荐A喜欢的,一句话总结:人以群分。基于产品的过滤推荐---假设同时A产品和C产品同时被购买的频率较高,就把A推荐给喜欢C的用户。基于模型的过滤推荐---根据用户的历史数据,将用户历史数据中产品进行扩散,将这些产品推荐给用户。以上这三种方法各有优缺点,基于用户群推荐的时候往往需要保证用户的需求比较稳定,当用户购买不确定性大时误差会比较大;同理,基于产品推荐的时候,要求产品比较稳定,如果是新闻推荐,就不适宜采用基于产品的推荐,因为新闻不确定性大,更新速度快;基于模型的协同过滤推荐往往可以准确命中用户需求,但是缺乏灵活性,当用户需求变化时,模型往往不能及时响应。
所以在这三种协同过滤推荐的基础上又衍生出了混合的过滤方法,主要分为以下几种
加权混合:分别给几种协同过滤方法赋予不同的权重,将他们的加权结果作为推荐结果。切换混合:根据一个判别式,在不同情况下,分别使用不同的方法进行推荐。分区混合:某宝正是采用这种方法,在屏幕上不同的区域,分别用不同的方法推荐。分层混合:将一个推荐方法的结果作为另一个推荐方法的输入,进而得到最终的输出结果。最后发展出了基于AI的个性化推荐方法,这也是最近几年来的比较重大的学界研究成果
基于LFM(LatentFacormodel)的个性化推荐基于深度学习/机器学习的个性化推荐其中LatentFactormodel直接翻译结果是隐藏因素模型,我们称之为隐语义模型,是指通过对用户喜爱矩阵的分解,得到用户和隐类的关系,隐类和产品的关系,最终得到用户对产品的偏好。
这里的隐类就是指,潜在的类别,如果用一个数字来表示不同的物品属于同一类别的程度,那么沐浴露和肥皂之间的隐类指数就大于香肠和肥皂之间的。
基于深度学习/机器学习的个性化推荐又可以分为:
LR(LogisticRegression),LR是一种经典的二分类算法,如果用0和1来表示喜欢和不喜欢,那么这一模型就可以推荐出用户喜欢的结果。基于树的分类模型(GBDT/XGBOOST)基于深度学习的模型(DNN、RNN等网络),主要是用深度学习网络对用户数据进行学习,最后训练出一个模型作为推荐依据。在我接下来的文章中,会对这些上面提到的所有算法进行精讲,如果需要了解,抓紧时间上车,每天都会有更新,每天都让你进步,用一个月时间掌握机器学习所有算法。小白也能成精!