可解释性推荐论文介绍(2017-2019)

Reference: https://zhuanlan.zhihu.com/p/73165560

Explainable Recommendation System

1.Introduction

互联网技术的飞速发展使得e-commerce,例如Amazon、Yelp、Youtube、淘宝、大众点评以及social software,如Twitter、微博等应用程序渗透至我们日常生活的方方面面,同时也无时无刻的搜集我们的行为数据。一方面站在商家的角度,如何很好的利用累计的用户数据信息,包括:用户人口统计学信息、历史行为数据、社交信息、评论数据等以增加商品的点击率(CTR,click through rate)、转化率进而提高收益金额,这是一个十分关键而又具有重大价值的问题。同时对于我们消费者而言,如何利用推荐系统跟好的帮助用户快速且精确的发现喜爱物品,以提高软件的粘性这也是一个极大的挑战。因此,推荐系统的一个主要目的是在海量的数据中(主要是为解决信息过载的问题)抓住用户的POI(point of interset)同时针对不同的POI去帮助user发现更好item,实现个性化推荐。最近,研究人员也更多的关注于可解释性推荐,即推荐系统不仅需要给出推荐的list,其具有较高的precision and recall,同时还应该对于推荐的结果给出合理的理由,以增加推荐的可解释性和说服力,增加用户的信任度。接下来,本文将对最近有关可解释性推荐的paper进行简要的说明和分类。

1.1 Explainable Recommendation System

推荐系统的应用场景主要包括e-commerce,social network,information retrieval,multimedia recommendation以及其它的专有、特殊邻域。传统的推荐系统主要是基于user和item历史行为数据的协同过滤(CF,collaboration filtering)(J. Herlocker etal. 2000),即矩阵分解(matrix factorization)技术,神经网络,如RBM(Restricted Boltzmann Machine)(Abdollahi B et al. 2016),概率图模型,如LDA(Latent Dirichlet Allocation)(Blei D M et al. 2003)、pLSA(probabilistic latent semantic analysis)(Eisenstein J et al. 2010, Hong L et al. 2012, Sizov S. 2010, Yuan Q et al. 2013)等话题模型。上述的这些方法一般是将user或item的表面特征或属性映射至高维空间的invisible representation。而这些embedding的操作使得模型变为一个黑箱难以解释。可解释型推荐则试图去给出推荐的理由,目前较多的可解释性推荐系统是post-hoc的模型,其主要包括MF-based和NN-based。有关话题模型、矩阵分解的相关介绍可以参考我的这篇笔记:PeterLee:情感分析中的PLSA、LDA模型​zhuanlan.zhihu.com图标

1.2 Traditional Methods

Matrix Factorization

矩阵分解技术或latent factor model主要是基于neighborhood的CF模型,即相似的人会喜欢相似的物品或相似的物品会被相似的人喜欢。因此我们可以基于用户的历史行为数据选择最相似的前 [公式] 个item,以推荐给相似的人。例如,user A like item a, and user B is similar to user A, then user B is more likely to like item a, [公式] ,或者 if user A like item a, item a is similar to item b, then user A is possible like item b, [公式] 。上述方法主要是利用user-item的历史行为数据所构成的matrix进行推荐,而这一矩阵是稀疏、高维的,一个很自然的想法则是通过两个较小的稠密矩阵(分别代表)去重构原始矩阵即矩阵分解技术,如图1所示。我们可以利用矩阵分解技术去预测user [公式] 对itme [公式] 的preference, [公式] ,如式(1):

图1. 矩阵分解
[公式]

上式中 [公式] 和 [公式] 即为user和item的latent representation。而 [公式] 即为正则化项。同时我们可以在正则化项和目标函数中融入更多的数据、信息以提高模型的准确率和可解释性,如BRP(Rendle, 2009),NMF(Zhang, 2006),SVD++(Koren, 2008)等等。

Latent factor model

LFM可以理解为概率图模型或概率矩阵分解技术,在文本数据挖掘邻域,话题模型如LSA、pLSA、LDA等得到了主要应用。尤其是在Netflix Prize竞赛中,LFM模型逐渐成为了一种主流的方法并得到了大量应用。概率图模型认为用户的兴趣和item的attributes服从某一概率分布(Gaussian distribution),同时该分布可由评论文本或其它factors观察而得,而其对应的laten factory时常耦合在一起,因此我们一般利用EM算法、MCMC采样进行极大似然估计或使用梯度下降求解。有关EM算法的介绍具体可以参考我的这篇笔记:PeterLee:EM算法与GMM(高斯混合聚类)​zhuanlan.zhihu.com图标

图2即为PMF模型的盘式图。

图2. PMF

上图中 [公式] 表示user [公式] 对item [公式] 的preference。 [公式] 表示user和item的latent factor,且均服从Gaussian分布。 [公式] 为指示函数,如果 [公式] 存在则为1,否则为0。 [公式] 为original unrevised [公式] , [公式] 为潜在的相似矩阵,其值反映item对user的influence,其也服从Gaussian distribution。基于概率图模型,我们同样可以将其他的外部辅助信息如item attributes,sentiment,geographic information等引入其中以提高模型的可解释性。

RBM

受限玻尔兹曼机可以被认为是一种浅层的神经网络或一个encoder-decoder machine,其将recommendation problem转化为prediction problem或regression problem (Ruslan et al, 2007)。其模型的输入为user和item的feature embedding,而output则是不同用户针对不同item的prediction scores。对于特征的选择则有存在很多模型、方法,其中较为出名的则包括Google的Wide&Deep network (Ruslan et al, 2007)。

Others

Corrlation-based,distance-based这种方法基于不同item属性间的相似度、距离(Cosine、Pearson correlation、OLS coefficient、Euclidean distance、Minkowski distance等)来进行推荐。Graph-based model将user-item pairwise转化为二分图,然后利用nodes或edges weights及其间的link,同时结合Shortes Path, Random Walk, Item Rank等算法进行推荐。Cluste-based则是基于“物以类聚,人以群分”的思想进行推荐,即性格相似的人可能会喜欢相同的物品,其中LSH(Locality Sensitive Hashing)(Nima et al, 2013)即为cluster的代表。事实上,CF和LDA也可以看作某种聚类的方式。

传统的方法在推荐系统中发挥了重要的作用,如RBM和MF相结合的方法则在Netflix Prize竞赛中展现了强大的能力。然而传统的方法缺乏可解释性,这也严重阻碍了推荐系统的发展,可解释性推荐已成为目前研究的热点。

2.Related Work

研究表明,可解释推荐系统可以提高推荐产品的接受度,说服用户购买推荐产品,加快决策过程,甚至可以增强系统的整体信任度(Herlocker et al., 2000)。其方法主要包括:Neural Nework、Probability Graphic Model、Matrix Factorization、Graphic Model等。

2.1 Neural Network

神经网络认为推荐任务即为预测问题,其将user’s和item’s features或attribute的embedding送入至神经网络,同时获得candidate sets的scores。有关网络结构的构建则存在较多的方法,如attention mechanism,memory network,reinforcement learning等。而Neural Network中对于external information的融入则可以通过Knowledge Graph、social network等实现。

Tree-enhanced Embedding Model

协同过滤利用user和item的特征实现推荐,然而,这些高维特征不可解释。而基于“分而治之”的决策树分类器其通过特征的选择实现分类或回归,其本身具有较强的可解释性,如图3所示,因此很自然的想法是利用决策树的选择特征训练网络实现推荐。Tree-enhanced Embedding Model (Wang et al, 2018)即利用GBDT(Gradient Boosting Decision Tree)作为网络的前驱进行特征筛选,然后将所得特征以及user、itme ids进行Embedding送入至网络,同时结合attention机制(考虑到不同的用户关注item的不同aspects)得到推荐结果。同时,基于决策树的特征选择,该工作也能提供一定的可解释性。有关GBDT等树分类器的介绍可以参看我的这篇笔记:PeterLee:集成学习中的XGBoost​zhuanlan.zhihu.com图标

图3. GBDT特征选择
图4. TEM模型

RBM for CF

最早的基于RBM的推荐系统选择item feature作为输入实现推荐,其缺乏可解释性,而CF相较于RBM有一定的可解释性但是精度较低。因此如何将CF和RBM相结合这是一个研究的方向。Behonoush (Behnoush et al, 2016)则将CF的results,即用户neighbors的item’s score和movie rating输入至RBM中去得到recommendation scores。如图5:

图5. Conditional RBM for explainable

Convolutional Sequence Embedding

典型的序列模型如RNN、LSTM、GRU其结合历史信息得到current output。然而,在推荐的任务中其并非是所有历史数据对当前的决策有帮助,即购买行为并没有十分明显的序列特征,可能很久之前的某一次购买能够影响目前的决定,而最近的购买行为则与本次购买无关。因此Tang (Tang et al, 2018)提出使用CNN模型去获取“上下文”关系以获得推荐。此外,该作者还提出分别使用horizon convolution filters和vertical convolution filters去对item embedding进行卷积操作以分别获得 union-level patterns和point-level sequential patterns,如图6所示,其中卷积核的大小为4,即每次卷积融相邻4次购买行为的信息,输出结果为预测后两次的购买行为。

图6. Convolutional Sequence Embedding

Sequential Recommendation with User Memory Networks

与上篇文章不同的是次项工作对用户行为进行序列建模,但是为更好的筛选历史信息同时避免最近的行为有较大的影响,Chen (Chen et al, 2018)基于RNN提出memory network。Memory network(其本质为a routing mechanism)采用current item去决定利用哪些历史的item information,然后利用personal intrinsic embedding去进行预测,同时更新memory trix。具体来说,作者提出了两种memory network:item-based和feature-based。其中,item-based model仅embedded item,同时add current item embedding以更新memory。而feature-based model则是关注item’s feathure,其利用当前的item feature更行memory,具体做法是利用当前item embedding对原始memory进行加权求和,同时结合current item embedding以更新memory,如图7。

图7. Sequential Recommendation with User Memory Networks

2.2 Probability Graphic Model

用户的购买行为一般由许多潜在因素(latent factor)所决定,而这些latent factor又时常耦合在一起,因此我们可以利用概率图模型建模,通过挖掘个潜变量间的相互关系得到最终的prediction,同时使得推荐可解释。

Sentiment-Aspect-Region model

概率图模型的一大优点是能够较为方便的引入新的变量即外部特征,同时能够较为清楚的表示变量间的相关关系(至2002年LDA模型由吴恩达提出后,此后几年不少研究工作均是在此基础上引入更多的latent factor,同时考虑更为复杂的相互关系而进行研究的),这也使得auxiliary information的融入更加容易。Zhao (Zhao et al, 2015)提出SAR模型,该模型通过结合同一时间的sentiment-aspect-region、基于review以及item类别的user preference和地理位置信息(文中为经纬度)建立概率图模型计算score同时进行推荐,如图8所示。

图8. Sentiment-Aspect-Region Model

图8中, [公式] 分别代表 user, individual POI, category, topical-region, review, word, set of users, set of POIs, set of reviews, the number of sentences in a review and the number of words in a sentences。其间的相互关系可由概率图模型表示。

Aspect-based Latent Factor Model

这篇文章中作者(Lin et al, 2016)分别从user和item的角度充分挖掘评论信息,同时使用概率图模型进行推荐。与LFM相比,该工作主要涉及三个latent factor:(1)user-review matrix,其中的每一个元素为用户评论中的词频,其可以一定程度上反应该item的类别;(2)item-attribute matrix,其主要由item-property matrix(反映products某些特殊的aspect的受关注程度)和item-quality matrix(通过统计review中positive和negative words的数量来反映item的质量);(3)rating matrix。通过上述三个matrix预测最终的点击率,如图9所示。

图9. LFM

上图中 [公式] 分别代表rating,user的latent factor,item的latent factor,用户评论的feature words,words distributation(代表从user review中学习所得的semantic information),item评论的feature words,以及words distributation(代表从item review中学习所得的semantic information)。该模型不仅在Amazon dataset的许多类别上获得了state-of-the-art,同时也缓解了冷启动的问题。

有关概率图模型的一些介绍可以参考我的这篇笔记:PeterLee:概率图模型​zhuanlan.zhihu.com图标

Matrix Factorization

矩阵分解技术的主要思想是将一个高维、稀疏的user-item matrix分解为两个分别代表user和item潜在特征的稠密的小矩阵表示。同时在矩阵的学习构造过程中我们可以引入外部信息、先验知识实现可解释性推荐。

Overlapping Co-clustering Model

传统的MF技术仅将一个user-item matrix分解为两个矩阵表示,即进行一次分解,将每一个item对应至一个specific class中。但是考虑到每一个item将包含不同层面的attributes,同时每一个用户也不单单尽关注item的某一个aspects,故Thus Reinhard (Reinhard et al, 2017)提出利用 overlapping co-clustering实现推荐,该模型同过指定class or cluste的数目,也即矩阵分解的次数,可以实现将同一item分配至不同的类别中,同时作者还证明了算法的时间复杂度为线性的且能够很好的支持并行操作,如图10。

图10. overlapping user-item co-clusters

图10中,白色方块即代表同时属于不同class的item,蓝色、橙色和红色的矩形框则代表不同的cluster。

AFM

在现实中经常会遇到这样一些情况,即不同的用户对于同一商品可能会给出相同的打分,但是他们对与同一商品的关注点可能不同,同时,不同商品获得相同得分的原因也不尽相同。故Hou (Hou et al, 2019)提出AFM(aspect matrix model),其从user和item两方面考虑,给出推荐,如图11所示。此外,作者还定义SDA,通过考虑不同aspect给出用户对item的满意度。

图11. AFM

从图11中可以看出,AFM利用review分别构造两个矩阵:IAQM和UAPM,其分别代表item latent factor matix和user latent factor matrix,并在此基础上重构rating matrix实现推荐。

Multi-Task Learning in Opinionated Text Data

用户对商品的喜爱程度可以由打分决定,而喜爱的原因则需要通过分析评论获得,如图12所示。因此基于text mining technology抽取用户关注的item的不同层面进行推荐,该方法具有一定的可解释性。对此,我们不仅需要对用户对item的preference进行建模,同时还要关注item的不同层面,Wang (Wang et al, 2018)利用multi-task learning并结合tensor factorization去表示preference和opinion,如图13所示。

图12. Example of a star rating and a text review of a phone
图13. Joint tensor decomposition scheme

图12中 [公式] 为item,feature,user和opinion phrase latent factors。同时joint tensor [公式] 可以分解为user、item、feature和opinion的latent representation。

Post Hoc Interpretability of Latent Factor Models

尽管基于最近邻的系统过滤推荐方法可以给出一定的可解释性,但其是post hog的(即根据推荐结果寻找最近邻居给出推荐理由),而且该方法忽视了neighbor item间的内在因果连接。同时关联规则则能在一定程度上给出因果解释。对此一个动机为结合association rules和CF进行推荐,Georgina (Georgina et al, 2018)首先根据MF得到的top N recommendation list,然后结合关联规则提供推荐原因,如图14所示:

图14. Post Hoc Interpretability of Latent Factor Models

较多的推荐系统使用MSRE作为rating、score、preference的评价指标和优化目标。然而在实际中我们并不太在意推荐物品的具体分数,相反我们更关注推荐物品的排序,如图15所示。对此Xu (Xu et al, 2016)提出使用item和user的feature去学习排序以替代RMSE,提高推荐的有效性。具体来说,该模型通过构造preference pairs,将item间的绝对排序转换为相对排序去capture items’ rank。

图15. RMSE vs Ranking

2.4 Graphic Model

与概率图模型不同的是,图模型利用节点和边分别表示实体和实体间的关系,例如social network,telecommunication network,knowledge grap(其本质为三元组,包括头实体、尾实体和关系。同时可以使用neural network去学习实体和关系表示,如TransE (Antoine et al, 2013), TransH (Wang et al, 2014), TransR (Lin et al, 2015))。对于推荐系统user、item即可以认为实体,利用attributes间的关系建立实体连接,同时也可以利用用户的消费行为建立图模型。

Entity-based Recommendations with Knowledge Graphs

item的attributes间其天生就具有某种联系,对此我们可以基于知识图谱和图论中的相关算法去挖掘其间的联系,进行link prediction、recommendation。比如user A喜欢《伊豆的舞女》,而《伊豆的舞女》由川端康成所写;同时川端康成也创作了《东京人》,则我们可以将《东京人》推荐给用户A。基于这一思想Rose (Rose et al, 2017)则将知识图谱与推荐系统结合,其推荐的规则如图16所示。

图16. Sample grounding for predicting likes

有关知识图谱的介绍可以参考我的这篇文章PeterLee:Knowledge Graph(知识图谱)​zhuanlan.zhihu.com图标

A Social Explanation System

社交数据也可以被用于推荐系统中,Lara (Lara et al, 2017)提出三个social factors:(1)Personality,其基于用户的主要购买行为反映用户的personality;(2)Tie strength,该值由用户的社交数据如Facebook等确定;(3)Satisfaction,该值由用户直接给出,同时根据用户的feedback实时更新。社交信息的融入在一定程度上增加了用户的可解释性。

TriRank

类似于知识图谱,He (He et al, 2015)利用item,user和aspect建立tripartite graph,并将其拆分为两个subnets:User-Item structure and Item-Aspect structure,如图17。此后,基于smoothness(相邻的顶点具有相似的分数)和fitting encodes prior belief(预测值和真实值不应有较大的偏差)则两个原则去优化莫得了。通过考虑每一item的不同层面我们可以实现可解释性推荐同时提高进度。

图17. Tripartite structure and decomposed graphs

上图中 [公式] 即为user、item和aspect representation

2.5 Explainable Recommendation Methods Summary

如表1所示,我们对上述方法进行分类,同时给出融入的外部信息。

表1. A classification of above explainable recommendation models

3. Major Challenge and Open Question

目前的对于可解释性推荐的主要工作一般关注以下几点:

  • 融入更多的外部数据、先验知识和辅助信息。例如基于item attributes的知识图谱,用户的社交数据、文本评论、时间和空间信息等;
  • 从这些数据中挖掘出不同层面的信息。例如item’s feature and aspect, user’s preference, item’s quality, user’s historical behaviors, user’s friends’ evaluation等;
  • 模型的改善。集合attention、memory机制等,引入强化学习,改变优化目标函数等;

现有的挑战和问题:

  • 现在几乎所有的评测指标均是基于用户score和rating提出的,例如RMSE, NDCG, precision, recall, F1等,但是这些指标均无法和好的反映用户的满意度以及系统的可解释性。若想要真正验证系统的有效性我们必须进行线上AB测试。此外一个好的推荐系统必须具有一定的exploration或者serendipity,即不仅仅是向用户推荐一些super popular的产品、服务,更重要的是帮助用户去发现其潜在的兴趣爱好,使推荐的物品具有一定的惊喜度,而如何衡量惊喜度这是一个问题;
  • 现有的推荐算法,尤其是协同过滤,其总是偏向于热门商品,此外商品的点击率也总是呈skew distribution或long tail distribution,即20%的商品得到了80%,甚至90%的关注,而剩下的商品则被关注的较少。现在的许多推荐算法往往倾向于推荐热们商品而非真正基于user’s POI。因此推荐系统也必须增加冷门物品的曝光机会,从而提高recommendation system的覆盖率和多样性;
  • 时间或存储空间的成本问题。现有的大多数工作均是基于小部分特定领域的数据进行off-line评测的。然而,在实际应用中,对于大型网站其面对的将是数百万的商品,数亿甚至十亿的用户,同时每天所积累的用户和商品数据也是海量的,如何实现实时的推荐,如何更行推荐的结果,如何平衡用户数据和算法间的trade-off,这是一个工程问题;
  • 一个好的推荐系统一定拥有一个良好的人机交互(human-computer interaction,HCI),我们如何设计HCI,同时从HCI中获得用户对系统的反馈,这是一个很大的问题;
  • 推荐系统的抗攻击性。设计到利益的系统均需要面都被攻击的风险,作弊和反作弊的对抗在搜索引擎中尤文严重,而在推荐系统中也同样存在类似问题。如何提高推荐系统的抗攻击性以避免垃圾商品获得较高排名这是一个巨大的挑战;
  • 冷启动问题仍旧存在;

4. Future Directions and Promissing Tpois

  • 融入更多的外部信息和异质数据。这似乎是所有深度学习任务较为通用的方法,对于推荐系统而言因为是如此。随着5G的到来,数据的形式将更加丰富,如何将text,image,video,audiao这些hybrid data应用至推荐系统中这将是未来研究的一个关注方向;
  • Knowledge-enhance的推荐系统。Knowledgeable graph在许多NLP任务中,如阅读理解等已得到不少应用。对于推荐系统,我们将item或user embedding为图中实体,利用图算法或图网络进行推荐,同时实现推荐的可解释性,该方向未来将得到广泛关注;
  • 专有邻域的推荐。目前的绝大多数工作均是关注于2C端,而对于政府机构、国有企业、科研院所等2B端,其涉及的单比交易规模十分巨大,这也要求了推荐结果的可解释性更强、更具说服力。此外,这类机构的购买行为和目的往往是明确的,因此我们更需要关注其本身的特点进行经验

深度学习经过近10年的发展,其以得到广泛的应用。然而其模型的不可解释性往往被许多人所diss,其要想得到进一步的发展,可解释性必须要有更大的突破,真正做到“知其然,知其所以然”。对于推荐系统该问题也仍旧重要。更多有关推荐系统的介绍可以参考我的这篇笔记:PeterLee:推荐系统(Recommendation System)及其矩阵分解技术​zhuanlan.zhihu.com图标

5. Reference

[1] Herlocker J L, Konstan J A, and Riedl J. Explaining collaborative filtering recommendations. Proceedings of the 2000 ACM conference on Computer supported cooperative work., 2000: 241-250.

[2] Abdollahi B, and Nasraoui O. Explainable restricted boltzmann machines for collaborative filtering. arXiv preprint arXiv:1606.07129, 2016.

[3] D. M. Blei, A. Y. Ng, and M. I. Jordan. Latent dirichlet allocation. Journal of machine Learning research, 3(1): 993-1022, 2003.

[4] Eisenstein J, O’Connor B, Smith N A, et al. A latent variable model for geographic lexical variation. Proceedings of the 2010 conference on empirical methods in natural language processing, Association for Computational Linguistics, 1277-1287, 2010.

[5] Hong L, Ahmed A, Gurumurthy S, et al. Discovering geographical topics in the twitter stream. Proceedings of the 21st international conference on World Wide Web, 769-778, 2012.

[6] Sizov S. Geofolk: latent spatial semantics in web 2.0 social media Proceedings of the third ACM international conference on Web search and data mining. ACM, 281-290, 2010.

[7] Yuan Q, Cong G, Ma Z, et al. Who, where, when and what:discover spatio-temporal topics for twitter users. Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 605-613, 2013.

[8] Rendle S, Freudenthaler C, Gantner Z, et al. BPR: Bayesian personalized ranking from implicit feedback. Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence. AUAI Press,452-461, 2009.

[9] Zhang S, Wang W, Ford J, et al. Learning from incomplete ratings using non-negative matrix factorization. Proceedings of the 2006 SIAM international conference on data mining. Society for Industrial and A plied Mathematics, 549-553, 2006.

[10] Koren Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model. Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 426-434, 2008.

[11] Ruslan R Salakhutdinov and Andriy Mnih. Probabilistic Matrix Factorization. NIPS’07 Proceedings of the 20th International Conference on Neural Information Processing Systems, 1257-1264, 2007.

[12] Ruslan Salakhutdinov, Andriy Mnih and Geoffrey Hinton. Restricted Boltzmann machines for collaborative filtering. ICML ’07 Proceedings of the 24th international conference on Machine learning, 791-798, 2007.

[13] Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, et al. Wide & Deep Learning for Recommender Systems. arXiv preprint arXiv:1606.07792, 2016.

[14] Nima Mirbakhsh and Charles X. Ling. Clustering-Based Matrix Factorization. arXiv preprint arXiv:1301.6659, 2013.

[15] Jonathan L. Herlocker, Joseph A. Konstan and John Riedl. Explaining collaborative filtering recommendations. CSCW’00 Proceedings of the 2000 ACM conference on Computer supported cooperative work, 241-250, 2000.

[16] Xiang Wang, Xiangnan He and Fuli Feng. TEM: Treeenhanced Embedding Model for Explainable Recommendatzaoion. WWW ’18 Proceedings of the 2018 World Wide Web Conference, 1543-1552, 2018.

[17] Kaiqi Zhao, Gao Cong, Quan Yuan and Kenny Q. Zhu. SAR: A sentiment-aspect-region model for user preference analysis in geo-tagged reviews. 2015 IEEE 31st International Conference on Data Engineering, 2015.

[18] Yongfeng Zhang, Guokun Lai, Min Zhang, Yi Zhang, Yiqun Liu and Shaoping Ma. Explicit factor models for explainable recommendation based on phrase-level sentiment analysis. SIGIR ’14 Proceedings of the 37th international ACM SIGIR conference on Research & development in information retrieval, 83-92, 2014.

[19] Reinhard Heckel, Michail Vlachos, Thomas Parnell and Celestine Duenner. Scalable and interpretable product recommendations via overlapping co-clustering. 2017 IEEE 33rd International Conference on Data Engineering (ICDE), 2017.

[20] Lin Qiu, Sheng Gao, Wenlong Cheng and Jun Guo. Aspectbased latent factor model by integrating ratings and reviews for recommender system. Knowledge-Based Systems, 233-243, 2016.

[21] Yunfeng Hou, Ning Yang and Yi Wu. Explainable recommendation with fusion of aspect information. World Wide Web, 221-240, 2019.

[22] Antoine Bordes, Nicolas Usunier, Alberto GarciaDurn,Jason Weston and Oksana Yakhnenko. Translating Embeddings for Modeling Multi-relational Data. NIPS’13 Proceedings of the 26th International Conference on Neural Information Processing Systems, 2787-2795, 2013.

[23] Zhen Wang, Jianwen Zhang, Jianlin Feng and Zheng Chen. Knowledge Graph Embedding by Translating on Hyperplanes. AAAI’14 Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, 1112-1119, 2014.

[24] Hailun Lin, Yong Liu, Weiping Wang, Yinliang Yue, and Zheng Lin. Learning Entity and Relation Embeddings for Knowledge Graph Completion. AAAI’15 Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, 2181-2187, 2015.

[25] Rose Catherine, Kathryn Mazaitis, Maxine Eskenazi and William Cohen. Explainable Entity-based Recommendations with Knowledge Graphs. arXiv preprint, arXiv:1707.05254, 2017.

[26] Nan Wang, Hongning Wang, Yiling Jia and Yue Yin. Explainable Recommendation via Multi-Task Learning in Opinionated Text Data. Opinionated Text Data, 2018.

[27] Behnoush Abdollahi and Olfa Nasraoui. Explainable Restricted Boltzmann Machines for Collaborative Filtering. 2016 ICML Workshop on Human Interpretability in Machine Learning (WHI 2016), 2016.

[28] Georgina Peake and Jun Wang. Explanation Mining: Post Hoc Interpretability of Latent Factor Models for Recommendation Systems. KDD ’18 Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2060-2069, 2018.

[29] Xu Chen, Zheng Qin, Yongfeng Zhang and Tao Xu. Learning to Rank Features for Recommendation over Multiple Categories. SIGIR ’16 Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval 305-314, 2016.

[30] Lara Quijano-Sanchez, Christian Sauer, Juan A. RecioGarcia and Belen Diaz-Agudo. Make it personal: A social explanation system applied to group recommendations. Expert Systems with Applications, 36-48, 2017.

[31] Jiaxi Tang and Ke Wang. Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding. WSDM ’18 Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining, 565-573, 2018.

[32] Xu Chen, Hongteng Xu, Yongfeng Zhang, et al. Sequential Recommendation with User Memory Networks. WSDM ’18 Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining, 108-116, 2018.

[33] Xiangnan He, Tao Chen, Min-yen Kan and Xiao Chen. TriRank: Review-aware Explainable Recommendation by Modeling Aspects. In Proceedings of the 24th ACMInternational on Conference on Information and Knowledge Management, 16611670, 2015.

什么是 L1/L2 正则化 (Regularization)

Reference: https://zhuanlan.zhihu.com/p/25707761

今天我们会来说说用于减缓过拟合问题的 L1 和 L2 regularization 正则化手段.

注: 本文不会涉及数学推导. 大家可以在很多其他地方找到优秀的数学推导文章.

因为本文原作是一段短视频介绍.

所以首先放视频链接: Youtube 或者 优酷.

也可以在这个网页找到其他很多相关内容: 莫烦 Python

过拟合

我们知道, 过拟合就是所谓的模型对可见的数据过度自信, 非常完美的拟合上了这些数据, 如果具备过拟合的能力, 那么这个方程就可能是一个比较复杂的非线性方程 , 正是因为这里的 x^3 和 x^2 使得这条虚线能够被弯来弯去, 所以整个模型就会特别努力地去学习作用在 x^3 和 x^2 上的 c d 参数. 但是我们期望模型要学到的却是 这条蓝色的曲线. 因为它能更有效地概括数据.而且只需要一个 y=a+bx 就能表达出数据的规律. 或者是说, 蓝色的线最开始时, 和红色线同样也有 c d 两个参数, 可是最终学出来时, c 和 d 都学成了0, 虽然蓝色方程的误差要比红色大, 但是概括起数据来还是蓝色好. 那我们如何保证能学出来这样的参数呢? 这就是 l1 l2 正则化出现的原因啦.

L1 L2 Regularization

对于刚刚的线条, 我们一般用这个方程来求得模型 y(x) 和 真实数据 y 的误差, 而 L1 L2 就只是在这个误差公式后面多加了一个东西, 让误差不仅仅取决于拟合数据拟合的好坏, 而且取决于像刚刚 c d 那些参数的值的大小. 如果是每个参数的平方, 那么我们称它为 L2正则化, 如果是每个参数的绝对值, 我们称为 L1 正则化. 那么它们是怎么样工作的呢?

核心思想

我们拿 L2正则化来探讨一下, 机器学习的过程是一个 通过修改参数 theta 来减小误差的过程, 可是在减小误差的时候非线性越强的参数, 比如在 x^3 旁边的 theta 4 就会被修改得越多, 因为如果使用非线性强的参数就能使方程更加曲折, 也就能更好的拟合上那些分布的数据点. Theta 4 说, 瞧我本事多大, 就让我来改变模型, 来拟合所有的数据吧, 可是它这种态度招到了误差方程的强烈反击, 误差方程就说: no no no no, 我们是一个团队, 虽然你厉害, 但也不能仅仅靠你一个人, 万一你错了, 我们整个团队的效率就突然降低了, 我得 hold 住那些在 team 里独出风头的人. 这就是整套正规化算法的核心思想. 那 L1, L2 正则化又有什么不同呢?

图像化

想象现在只有两个参数 theta1 theta2 要学, 蓝色的圆心是误差最小的地方, 而每条蓝线上的误差都是一样的. 正则化的方程是在黄线上产生的额外误差(也能理解为惩罚度), 在黄圈上的额外误差也是一样. 所以在蓝线和黄线 交点上的点能让两个误差的合最小. 这就是 theta1 和 theta2 正则化后的解. 要提到另外一点是, 使用 L1 的方法, 我们很可能得到的结果是只有 theta1 的特征被保留, 所以很多人也用 l1 正则化来挑选对结果贡献最大的重要特征. 但是 l1 的结并不是稳定的. 比如用批数据训练, 每次批数据都会有稍稍不同的误差曲线,

L2 针对于这种变动, 白点的移动不会太大, 而 L1的白点则可能跳到许多不同的地方 , 因为这些地方的总误差都是差不多的. 侧面说明了 L1 解的不稳定性

统一表达形式

最后,为了控制这种正规化的强度, 我们会加上一个参数 lambda, 并且通过 交叉验证 cross validation 来选择比较好的 lambda. 这时, 为了统一化这类型的正则化方法, 我们还会使用 p 来代表对参数的正则化程度. 这就是这一系列正则化方法的最终的表达形式啦.

通俗易懂的解释Adaboost

Reference: https://www.jianshu.com/p/28604c9dd407

boosting是什么

boost和bagging一样都是属于集成方法,就是通过使用多个弱分类器来构造成为一个强分类器,也就是三个臭皮匠顶个诸葛亮的原理。但是bagging和boosting也有差别
随机森林 就是使用的bagging方法,在随机森林当中,会随机抽取特征空间当中的特征,构造样本集合,再训练出决策树,然后不断重复这一过程。最后我们对全部数据进行判定的时候,采用投票的方式,投票最多的为正确的分类。
boosting翻译过来是提升的意思,意思就是我们每一次的训练是基于上一棵树的结果,我们在构造下一颗树时我们会着重考虑分类错误的例子,所以被称为提升,但是这样做的坏处就是对于离群点很敏感。
adaboost基本原理:
给定一个训练数据集T={(x1,y1), (x2,y2)…(xN,yN)},其中实例

x \in \mathcal{X} ,而实例空间

\mathcal{X} \subset \mathbb{R}^n ,yi属于标记集合{-1,+1},Adaboost的目的就是从训练数据中学习一系列弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。
Adaboost的算法流程如下:
*步骤1. ***首先,初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权值:1/N。

步骤2.** 进行多轮迭代,用m = 1,2, …, M表示迭代的第多少轮

a. 使用具有权值分布Dm的训练数据集学习,得到基本分类器(选取让误差率最低的阈值来设计基本分类器):

b. 计算Gm(x)在训练数据集上的分类误差率

由上述式子可知,Gm(x)在训练数据集上的误差率em就是被Gm(x)误分类样本的权值之和。
c. 计算Gm(x)的系数,am表示Gm(x)在最终分类器中的重要程度(目的:得到基本分类器在最终分类器中所占的权重):

由上述式子可知,em <= 1/2时,am >= 0,且am随着em的减小而增大,意味着分类误差率越小的基本分类器在最终分类器中的作用越大。
d. 更新训练数据集的权值分布(目的:得到样本的新的权值分布),用于下一轮迭代

使得被基本分类器Gm(x)误分类样本的权值增大,而被正确分类样本的权值减小。就这样,通过这样的方式,AdaBoost方法能“重点关注”或“聚焦于”那些较难分的样本上。
其中,Zm是规范化因子,使得Dm+1成为一个概率分布:

**步骤3. **组合各个弱分类器

从而得到最终分类器,如下:

下面,给定下列训练样本,请用AdaBoost算法学习一个强分类器。

求解过程:初始化训练数据的权值分布,令每个权值W1i = 1/N = 0.1,其中,N = 10,i = 1,2, …, 10,然后分别对于m = 1,2,3, …等值进行迭

这里的权值代表着分类错误的权重,在上一次分类错误后,下一次分类,对于上次未分类正确的权重会提升。

image.png

拿到这10个数据的训练样本后,根据 X 和 Y 的对应关系,要把这10个数据分为两类,一类是“1”,一类是“-1”,根据数据的特点发现:“0 1 2”这3个数据对应的类是“1”,“3 4 5”这3个数据对应的类是“-1”,“6 7 8”这3个数据对应的类是“1”,9是比较孤独的,对应类“-1”。抛开孤独的9不讲,“0 1 2”、“3 4 5”、“6 7 8”这是3类不同的数据,分别对应的类是1、-1、1,直观上推测可知,可以找到对应的数据分界点,比如2.5、5.5、8.5 将那几类数据分成两类。当然,这只是主观臆测,下面实际计算下这个具体过程。

迭代过程1
对于m=1,在权值分布为D1(10个数据,每个数据的权值皆初始化为0.1)的训练数据上,经过计算可得:
阈值v取2.5时误差率为0.3(x < 2.5时取1,x > 2.5时取-1,则6 7 8分错,误差率为0.3),
阈值v取5.5时误差率最低为0.4(x < 5.5时取1,x > 5.5时取-1,则3 4 5 6 7 8皆分错,误差率0.6大于0.5,不可取。故令x > 5.5时取1,x < 5.5时取-1,则0 1 2 9分错,误差率为0.4),
阈值v取8.5时误差率为0.3(x < 8.5时取1,x > 8.5时取-1,则3 4 5分错,误差率为0.3)。

可以看到,无论阈值v取2.5,还是8.5,总得分错3个样本,故可任取其中任意一个如2.5,弄成第一个基本分类器为:

上面说阈值v取2.5时则6 7 8分错,所以误差率为0.3,更加详细的解释是:因为样本集中
0 1 2对应的类(Y)是1,因它们本身都小于2.5,所以被G1(x)分在了相应的类“1”中,分对了。
3 4 5本身对应的类(Y)是-1,因它们本身都大于2.5,所以被G1(x)分在了相应的类“-1”中,分对了。
但6 7 8本身对应类(Y)是1,却因它们本身大于2.5而被G1(x)分在了类”-1″中,所以这3个样本被分错了。
9本身对应的类(Y)是-1,因它本身大于2.5,所以被G1(x)分在了相应的类“-1”中,分对了。

从而得到G1(x)在训练数据集上的误差率(被G1(x)误分类样本“6 7 8”的权值之和)e1=P(G1(xi)≠yi) = 30.1 = 0.3*。
然后根据误差率e1计算G1的系数:

这个a1代表G1(x)在最终的分类函数中所占的权重,为0.4236。 接着更新训练数据的权值分布,用于下一轮迭代:

值得一提的是,由权值更新的公式可知,每个样本的新权值是变大还是变小,取决于它是被分错还是被分正确。
即如果某个样本被分错了,则yi * Gm(xi)为负,负负得正,结果使得整个式子变大(样本权值变大),否则变小。
第一轮迭代后,最后得到各个数据的权值分布D2 = (0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715)。由此可以看出,因为样本中是数据“6 7 8”被G1(x)分错了,所以它们的权值由之前的0.1增大到0.1666,反之,其它数据皆被分正确,所以它们的权值皆由之前的0.1减小到0.0715。
分类函数f1(x)= a1G1(x) = 0.4236G1(x)。
此时,得到的第一个基本分类器sign(f1(x))在训练数据集上有3个误分类点(即6 7 8)。
从上述第一轮的整个迭代过程可以看出:被误分类样本的权值之和影响误差率,误差率影响基本分类器在最终分类器中所占的权重

迭代过程2
对于m=2,在权值分布为
D2 = (0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715)的训练数据上,经过计算可得:
阈值v取2.5时误差率为0.16663(x < 2.5时取1,x > 2.5时取-1,则6 7 8分错,误差率为0.16663),
阈值v取5.5时误差率最低为0.0715
4(x > 5.5时取1,x < 5.5时取-1,则0 1 2 9分错,误差率为0.07153 + 0.0715),
阈值v取8.5时误差率为0.0715
3(x < 8.5时取1,x > 8.5时取-1,则3 4 5分错,误差率为0.0715*3)。

所以,阈值v取8.5时误差率最低,故第二个基本分类器为:

面对的还是下述样本:

很明显,G2(x)把样本“3 4 5”分错了,根据D2可知它们的权值为0.0715, 0.0715, 0.0715,所以G2(x)在训练数据集上的误差率e2=P(G2(xi)≠yi) = 0.0715 * 3 = 0.2143。
计算G2的系数:

更新训练数据的权值分布:

D3 = (0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.01667, 0.1060, 0.1060, 0.1060, 0.0455)。被分错的样本“3 4 5”的权值变大,其它被分对的样本的权值变小。 f2(x)=0.4236G1(x) + 0.6496G2(x) 此时,得到的第二个基本分类器sign(f2(x))在训练数据集上有3个误分类点(即3 4 5)。
迭代过程3
对于m=3,在权值分布为
D3 = (0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.01667, 0.1060, 0.1060, 0.1060, 0.0455)的训练数据上,经过计算可得:
阈值v取2.5时误差率为0.10603(x < 2.5时取1,x > 2.5时取-1,则6 7 8分错,误差率为0.10603),
阈值v取5.5时误差率最低为0.04554(x > 5.5时取1,x < 5.5时取-1,
则0 1 2 9分错,误差率为0.04553 + 0.0715),
阈值v取8.5时误差率为0.16673(x < 8.5时取1,x > 8.5时取-1,则3 4 5分错,误差率为0.16673)。

所以阈值v取5.5时误差率最低,故第三个基本分类器为:

依然还是原样本:

此时,被误分类的样本是:0 1 2 9,这4个样本所对应的权值皆为0.0455,
所以G3(x)在训练数据集上的**误差率e3 *= P(G3(xi)≠yi) = 0.04554 = 0.1820。
计算G3的系数:

更新训练数据的权值分布:

D4 = (0.125, 0.125, 0.125, 0.102, 0.102, 0.102, 0.065, 0.065, 0.065, 0.125)。被分错的样本“0 1 2 9”的权值变大,其它被分对的样本的权值变小。
f3(x)=0.4236G1(x) + 0.6496G2(x)+0.7514G3(x)
此时,得到的第三个基本分类器sign(f3(x))在训练数据集上有0个误分类点。至此,整个训练过程结束。
现在,咱们来总结下3轮迭代下来,各个样本权值和误差率的变化,如下所示(其中,样本权值D中加了下划线的表示在上一轮中被分错的样本的新权值):
训练之前,各个样本的权值被初始化为D1 = (0.1, 0.1,0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1);
第一轮迭代中,样本“6 7 8”
被分错,对应的误差率为e1=P(G1(xi)≠yi) = 30.1 = 0.3,此第一个基本分类器在最终的分类器中所占的权重为a1* = 0.4236。第一轮迭代过后,样本新的权值为D2 = (0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715);
第二轮迭代中,样本“3 4 5”
被分错,对应的误差率为e2=P(G2(xi)≠yi) = 0.0715 * 3 = 0.2143,此第二个基本分类器在最终的分类器中所占的权重为a2 = 0.6496。第二轮迭代过后,样本新的权值为D3 = (0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.01667, 0.1060, 0.1060, 0.1060, 0.0455);
第三轮迭代中,样本“0 1 2 9”
被分错,对应的误差率为e3 = P(G3(xi)≠yi) = 0.04554 = 0.1820,此第三个基本分类器在最终的分类器中所占的权重为a3* = 0.7514。第三轮迭代过后,样本新的权值为D4 = (0.125, 0.125, 0.125, 0.102, 0.102, 0.102, 0.065, 0.065, 0.065, 0.125)。
从上述过程中可以发现,如果某些个样本被分错,它们在下一轮迭代中的权值将被增大,同时,其它被分对的样本在下一轮迭代中的权值将被减小。就这样,分错样本权值增大,分对样本权值变小,而在下一轮迭代中,总是选取让误差率最低的阈值来设计基本分类器,所以误差率e(所有被Gm(x)误分类样本的权值之和)不断降低。
综上,将上面计算得到的a1、a2、a3各值代入G(x)中,G(x) = sign[f3(x)] = sign[ a1 * G1(x) + a2 * G2(x) + a3 * G3(x) ],得到最终的分类器
为:
G(x) = sign[f3(x)] = sign[ 0.4236G1(x) + 0.6496G2(x)+0.7514G3(x) ]。

作者:wzhixin
链接:https://www.jianshu.com/p/28604c9dd407
来源:简书

机器学习中Bagging和Boosting的区别

Reference: https://blog.csdn.net/u013709270/article/details/72553282#:~:text=1%EF%BD%A4bagging%20bagging%E5%8D%B3%E5%A5%97,2%EF%BD%A4%E8%AE%AD%E7%BB%83%E5%BC%B1%E5%AD%A6%E4%B9%A0%E5%99%A8%E3%80%82

       Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。

       首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。

1. Bagging (bootstrap aggregating)

Bagging即套袋法,其算法过程如下:

  1. 从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
  2. 每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
  3. 对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

2. Boosting

       其主要思想是将弱分类器组装成一个强分类器。在PAC(概率近似正确)学习框架下,则一定可以将弱分类器组装成一个强分类器。

关于Boosting的两个核心问题:

2.1 在每一轮如何改变训练数据的权值或概率分布?

       通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

2.2 通过什么方式来组合弱分类器?

       通过加法模型将弱分类器进行线性组合,比如AdaBoost通过加权多数表决的方式,即增大错误率小的分类器的权值,同时减小错误率较大的分类器的权值。

而提升树通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型。

3. Bagging,Boosting二者之间的区别

Bagging和Boosting的区别:

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

4. 总结

       这两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。

下面是将决策树与这些算法框架进行结合所得到的新的算法:

  1. Bagging + 决策树 = 随机森林
  2. AdaBoost + 决策树 = 提升树
  3. Gradient Boosting + 决策树 = GBDT

判别分析法(Discriminant Analysis)

Reference: https://wiki.mbalib.com/wiki/%E5%88%A4%E5%88%AB%E5%88%86%E6%9E%90

什么是判别分析

  判别分析又称为线性判别分析(Linear Discriminant Analysis)产生于20世纪30年代,是利用已知类别的样本建立判别模型,为未知类别的样本判别的一种统计方法。近年来,判别分析在自然科学、社会学及经济管理学科中都有广泛的应用。判别分析的特点是根据已掌握的、历史上每个类别的若干样本的数据信息,总结出客观事物分类的规律性,建立判别公式和判别准则。当遇到新的样本点时,只要根据总结出来的判别公式和判别准则,就能判别该样本点所属的类别。判别分析按照判别的组数来区分,可以分为两组判别分析和多组判别分析。[编辑]

判别分析的方法

  判别分析(Discriminatory Analysis)的任务是根据已掌握的1批分类明确的样品,建立较好的判别函数,使产生错判的事例最少,进而对给定的1个新样品,判断它来自哪个总体

  根据资料的性质,分为定性资料的判别分析和定量资料的判别分析;采用不同的判别准则,又有费歇、贝叶斯、距离等判别方法。

  费歇(FISHER)判别思想是投影,使多维问题简化为一维问题来处理。选择一个适当的投影轴,使所有的样品点都投影到这个轴上得到一个投影值。对这个投影轴的方向的要求是:使每一类内的投影值所形成的类内离差尽可能小,而不同类间的投影值所形成的类间离差尽可能大。

  贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断。所谓先验概率,就是用概率来描述人们事先对所研究的对象的认识的程度;所谓后验概率,就是根据具体资料、先验概率、特定的判别规则所计算出来的概率。它是对先验概率修正后的结果。

  距离判别思想是根据各样品与各母体之间的距离远近作出判别。即根据资料建立关于各母体的距离判别函数式,将各样品数据逐一代入计算,得出各样品与各母体之间的距离值,判样品属于距离值最小的那个母体。[编辑]

判别分析的统计背景

  判别分析的方法有参数方法和非参数方法。参数方法假定每个类的观测来自(多元)正态分布总体,各类的分布的均值(中心)可以不同。非参数方法不要求知道各类所来自总体的分布,它对每一类使用非参数方法估计该类的分布密度,然后据此建立判别规则。

  记X为用来建立判别规则的P维随机变量,S为合并协方差阵估计,t=1,…,G为组的下标,共有G个组。记nt为第t组中训练样本的个数,m_t为第t组的自变量均值向量,St为第t组的协方差阵, | St | 为St行列式qt为第t组出现的先验概率,p(t|x)为自变量为x的观测属于第t组的后验概率,ft(x)为第t组的分布密度在X=x处的值,f(x)为非条件密度\sum_{t=1}^G q_tf_t(x)

  按照Bayes理论,自变量为x的观测属于第t组的后验概率p(t | x) = qtft(x) / f(x)。于是,可以把自变量X的取值空间R^P划分为G个区域Rt,t=1,…,G,使得当X的取值x属于R_t时后验概率在第t组最大,即

p(t|x)=max_{s=1,...,G} p(s|x), \forall x \in R_t

  建立的判别规则为:计算自变量x到每一个组中心的广义平方距离,并把x判入最近的类。广义平方距离的计算可能使用合并的协方差阵估计或者单独的协方差阵估计,并与先验概率有关,定义为

D_t^2 (x)=d_t^2 (x) + g_1 (t) + g_2 (t)

  其中

d_t^2 (x)=(x-m_t)^'V_t^{-1} (x-m_t)
Image:判断分析.jpg

Vt = St (使用单个类的协方差阵估计)或 Vt = S(使用合并的协方差阵估计)。mt可以用第t组的均值\overline{X_t}代替。在使用合并协方差阵时,

D_T^2(x)=(x-\overline{X_t})^' S^{-1} (x-\overline{X_t})-2 \ln q_t=x^' S^{-1} x + (\overline{X}^' S^{-1} \overline{X} - 2 \ln q_t) - 2x^' S^{-1} \overline{X_t}

  其中xS − 1x是共同的可以不考虑,于是在比较x到各组中心的广义平方距离时,只要计算线性判别函数D_t^2 (x)= (-\frac{1}{2} \overline{X_t}^' S^{-1} \overline{X_t} + \ln q_t) + x^' S^{-1} \overline {X_t},当x到第t组的线性判别函数最大时把x对应观测判入第t组。在如果使用单个类的协方差阵估计Vt = St则距离函数是x的二次函数,称为二次判别函数。

  后验概率可以用广义距离表示为

p(t|x)=\frac{e^{-\frac{1}{2} D_t^2 (x)}}{\sum_{u=1}^G e^{\frac{1}{2} D_u^2 (x)}}

  因此,参数方法的判别规则为:先决定是使用合并协方差阵还是单个类的协方差阵,计算x到各组的广义距离,把x判入最近的组;或者计算x属于各组的后验概率,把x判入后验概率最大的组。如果x的最大的后验概率都很小(小于一个给定的界限),则把它判入其它组。

  非参数判别方法仍使用Bayes后验概率密度的大小来进行判别,但这时第t组在x处的密度值ft(x)不再具有参数形式,不象参数方法那样可以用mtSt(或St)表示出来。非参数方法用核方法或最近邻方法来估计概率密度ft(x)。

  最近邻估计和核估计也都需要定义空间中的距离。除了可以用欧氏距离外,还可以用马氏(Mahalanobis)距离,定义为:

d_t^2 (x,y) = (x-y)^' V_t^{-1} (x-y)

  其中Vt为以下形式之一:

Vt = S合并协方差阵

Vt = diag(S)合并协方差阵的对角阵

Vt = St第t组内的协方差阵

Vt = diag(St)第t组内的协方差阵的对角阵

Vt = I单位阵,这时距离即普通欧氏距离

应用统计学与R语言实现学习笔记(十一)——判别分析

https://gisersqdai.top/2017/09/11/%E5%BA%94%E7%94%A8%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B8%8ER%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E5%8D%81%E4%B8%80%EF%BC%89%E2%80%94%E2%80%94%E5%88%A4%E5%88%AB%E5%88%86%E6%9E%90/