推荐系统算法白话

基本模型

词袋模型

词袋模型(Bag of Words,简称BoW)。

这种文本表示的方法,称之为词袋标识符。

词袋模型假设咱们不考虑文本中词与词之间的上下文关系,仅仅只考虑
全部词的权重。而权重与词在文本中出现的频率有关。

从词的角度进行文本数据挖掘是众多挖掘方式中的一种。

词袋模型的步骤:
    分词(tokenizing):
        
    
    统计修订词特征值(counting):

        统计每一个词在文本中出现的次数,咱们就能够获得该文本基
        于词的特征,若是将各个文本样本的这些词与对应的词频放
        在一块儿,就是咱们常说的向量化。
        
        向量化完毕后通常也会使用TF-IDF进行特征的权重修正,
        由于,若是语料是有不少篇文本组成,那么一个词在一篇文
        本中出现的次数每每不够科学,要把全部文本一块儿考虑。
        
    标准化(normalizing):

        将特征进行标准化,以便于挖掘。

词袋模型算法有哪些

Tfidf词频逆文档频率
    
    LDA隐含狄利克雷分布 :从词语层面看,主题是一种词汇分布,并不涉及到词与词的顺序关系,也属于BOW(bag of words)
                        的一种。
                        
    VSM向量空间模型: 单词向量空间模型
    
    LSA潜在语义分析(Laten Semantic Analysis):话题向量空间模型,经过矩阵分解(SVD或者NMF),来发现文本与单
                                                词之间的基于话题的语义关系。
    
    PLSA:

TextRank 算法

也属于一种词袋模型。

与pageRank算法

image.png

PR(Vi)表示结点Vi的rank值,
    In(Vi)表示结点Vi的前驱结点集合,
    Out(Vj)表示结点Vj的后继结点集合,
    d为damping factor用于作平滑。

    白话:一个节点i的PR值经过i的全部前驱节点的PR值求和获得,
         节点i的PR值能够分得前驱节点j出度数分之一的PR(j)值,
         换句话说j的出度越多,出度目标分得PR(j)越少。
    
 TextRank与pageRank算法一致,pageRank是网页之间的关系,
 TextRank换成了词语之间的关系。
 
 pageRank用来计算每一个页面的PR值,也叫rank值或页面排名值。
 搜索结果的权重根据rank值决定。
 
 pageRank的思想是,每一个页面的rank值是由指向他的页面的rank值所决定。
 
 
 pageRank也称为随机游走算法,属于一种图算法。
 
 好比有页面A,只有页面B和C指向A,B页面只指向A,C页面同时仅指向A和D,那么PR(A)=PR(B)+P(C)/2。
 其它页面也按照这种方式计算。
 若是有N个页面,就会有N个上例的计算等式。
 
 公式:
    PR(A) = “全部指向A页面集合{T0,T1....,Ti}的PR值PR(Ti)除于Ti的出度数量,而后求和”。
    
  
 求解:
    变换成矩阵求解,把PR当作系数,使用迭代求解,求出每一个页面的PR值,就能够获得每一个页面的rank值。

概念

滑动窗口:

  通俗的讲,一篇文档在某个词语位置左右截取固定词语长度的一
  段,这一段就是滑动窗口的一个实例。
  
  全部词语以此截取,每一个位置词语都有本身的窗口,所以称之为滑
  动窗口。
  
共现关系 co-occurrence :
    通常咱们认为,在一篇文章中近邻出现的两个词语之间,必定
    具备某种关联。
    
    咱们能够先作分词,将文档中的词语抽取出来,而后
    统计某两个词语同时出现的出现次数,并把结果存在一个二维矩
    阵之中。
    
 与pageRank区别:
    TextRank相比pageRank边是无向的,由于词语相邻便可,不考虑指向,而pageRank中的网页则不一样。
    
    TextRank公式相比PageRank公式,每个求和项中增长了两个词关系的权重。这个权重就是共现次数?

执行过程

经过词之间的相邻关系构建网络,而后用PageRank迭代计算每一个节点
的rank值,排序rank值便可获得每一个词语的权重。

迭代过程:
    迭代收敛原理 todo
    https://hunglish.github.io/2018/05/31/20180531TextRank提取关键词实现原理/

公式

image.png

公式仅仅比PageRank多了一个权重项Wji,用来表示两个节点之间的边链接有不一样的重要程度。

tf-idf VS textrank

相同:
    TextRank与TFIDF均严重依赖于分词结果。
    归属于词袋模型。
    
不一样:
    TextRank有图构建的过程,效率相比更低。
    TextRank的范围是一篇文章,而Tf-id范围是全部文章。

几率图模型

几率与图

几率:
    不少现实事情具备不肯定性,人们但愿从不肯定性的事情中提取肯定知识信息。
    因此人们建立了几率这一律念来描述事情的不肯定性。

几率的加法乘法准则:

image.png

几率图:
    原本不存在,是一个组合概念,由图论和几率论结合的产物。
    
    做用:
        一、使得几率模型可视化了,便于直观观测变量之间的关系
        
        二、图上的信息传递有助于理解几率上的复杂的计算
        
        总结就是便于观测关系和复杂的计算。
        
    因此不要被表面的东西迷惑,更重要的是关注基本的数学逻辑。

边:
   两个结点,a指向b,有向边用p(b|a)表示,并称a是b的父结点。
   
   若是a没有父结点,没有输入的箭头,它直接对应于p(a)。

有向图联合几率分布

几率论的链式法则

2个事件同时发生的几率:

image.png

3个事件同时发生的几率:

image.png

n个事件同时发生的几率:

image.png

事件相互独立

一个事件的发生与否,不会影响另一个事件的发生。

a和b两个事件互相独立时:
    **P(a | b) = P(a)**
    
    b跟a没有任何关系,因此a b构不成条件。
    
    在引入一个事件c:
        **P(a | b, c) = P(a | c)**
        
        b也能够省略,由于b构不成a的条件。

贝叶斯网络

有向图模型也叫贝叶斯网络(Bayesiannetworks)或信念网络(BeliefNetworks)

贝叶斯网络是和联合几率分布是等价的。同时贝叶斯网络的计算效率提升很多。

有向几率图联合几率分布例子

image.png

全部结点只与他们的父节点有关系。
也就是不相邻的结点没有关系。

根据几率链式调用法则:
    逐步展开能够获得如下式子。

image.png

最后一步的长式子能够根据是否相互独立继续精简:
        1.  E只与B有关,则 P(E | B, D, C, A) = P(E | B)
        2.  B只和AC有关,则 P(B | D, C, A) = P(B | C, A)
        3.  D只与C有关, 则 P(D | C, A) = P(D | C)
        4.  C与A无关,则 P(C | A) = P(C)
    
    最后精简的公式:

image.png

无向图联合几率分布

基本概念

团的定义:
    图中节点x={x1,x2,...,xn}构成的一个子集,
    若是本身的任意两点之间都存在边相连,
    则这个子集中的全部节点构成了一个团。

最大团的定义:
    子集中加入任意其余节点,都不能构成一个团,
    称这样的子集构成了一个最大团。


势函数:
    一个团对应一个势函数
    势函数做用在团上,团是由结点(几率)组成的。
    势函数的值与几率成正比。
    
独立定义:
    局部马尔科夫性:

        两个节点集A、B都与给定的第三个节点集C相互条件独立,
        A、B节点之间的路径都被C中的节点分开。

        每一个步骤“停”时先后状态相互独立(马尔科夫模型(链)的性质)。

        在已知 “如今”的条件下,“将来”与“过去”彼此独立的特性就被称为马尔科夫性。
    
    全局马尔科夫性:
        最大团与最大团之间的独立性。

马尔科夫随机场

无向图模型也叫马尔科夫随机场(MarkovRandomFields)或马尔科夫网络(MarkovNetwork)

隐马尔可夫模型

常见的两种问题

针对HMM不一样的输出,咱们能够定义以下两类问题:  
HMM评估问题:
    在给定模型中出现观察序列的可能性(几率值);  
    
HMM解码问题            
    经过观察序列找出最大可能的隐状态序列

基本术语和问题设定

机器学习领域内不少常见问题都涉及到对彼此相互独立的孤立数据点进行分类。好比:预测给定图像中是否包含汽车或狗,或预测图像中的手写字符是 0 到 9 中的哪个。

事实证实,不少问题都不在上述范围内。好比说,给定一个句子“I like machine learning”,而后标注每一个词的词性(名词、代词、动词、形容词等)。正如这个简单例子所表现出的那样:咱们不能经过单独处理每一个词来解决这个任务——“learning”根据上下文的状况既能够是名词,也能够是动词。这个任务对不少关于文本的更为复杂的任务很是重要,好比从一种语言到另外一种语言的翻译、文本转语音等。

几率图模型(PGM/probabilistic graphical model)是一种用于学习这些带有依赖(dependency)的模型的强大框架。

几率图模型(或简称图模型)在形式上是由图结构组成的。图的每一个节点(node)都关联了一个随机变量,而图的边(edge)则被用于编码这些随机变量之间的关系。根据图是有向的仍是无向的,咱们能够将图的模式分为两大类——贝叶斯网络( Bayesian network)和马尔可夫网络(Markov networks)。

LDA 隐含狄利克雷分布

LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯几率模型,
包含词、主题和文档三层结构。
所谓生成模型,就是说,咱们认为一篇文章的每一个词都是经过“以必定几率选择了某个主题,并从这个主题中以必定几率选择
某个词语”这样一个过程获得。

文档到主题服从多项式分布,主题到词服从多项式分布。

属于一种文本浅层语义分析主题模型。

LDA是怎么看待词汇文章和主题?

LDA经过词汇的几率分布来反映主题。

一个词的出现不必定会反应某篇文章必定就是某个主题,而是在某称程
度上反应了某个主题的可能性。其实就是从几率角度来看待词语
和主题的相关度。LDA把词汇的几率分布汇总成一个主题结论。
具体是这样的,体育主题表示为:
    {科比:0.3,篮球:0.3,足球:0.3,奥巴马:0.03,希拉
    里:0.03,克林顿:0.04}

每一个文档都会对应一个主题分布。

LDA认为,文章和主题之间并不必定是一一对应的,也就是说,文章可
以有多个主题,一个主题也能够在多篇文章之中。

数学知识

Gamma函数,二项分布,Gamma分布,Beta/Dirichlet分布/共轭,
随机模拟,马氏链以及平稳分布,MCMC(Markov Chain Monte Carlo) ⁄Gibbs Sampling。

这些数据知识对于通常工程人员比较难以理解,建议专门抽时间进行系统学习而且各个击破。
不建议贸然进入,不然很容易挫败。

基于内容的推荐

基于内容(包含LDA),基于用户行为,LMF能够当作推荐算法的三大类。

逻辑回归

逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,
    用于估计某种事物的可能性。  

    注意,这里用的是“可能性”,而非数学上的“几率”,
    logisitc回归的结果并不是数学定义中的几率值,不能够直接当作几率值来用。

假设函数:

image.png

假设函数图形描述:
        关键坐标,(0,0.5);
        正无穷趋近于1,负无穷趋近于0;
        
    假设函数解读:
        x 是输入,theta为咱们要求取的参数。

逻辑回归推导过程

一、假设函数(“几率”函数)
    在线性回归函数基础上增长一层sigmoid函数,表示可能性。
    
    此公式是对事件发生可能性的假设,仅仅是对全部特征对应几率的一个通用表达。
    
    

二、几率分布函数
        把上面的“几率”函数套用入伯努利分布公式

        伯努利公式中底是几率,幂是随机变量,因变量获得的也是几率。
    
    伯努利公式以下:

image.png

上面公式x表明随机变量,取值(1,0)
        
    
    套用以后的公式以下:

image.png

上面公式中y对应伯努利公式中的随机变量x。(h theta) 对应伯努利公式中的几率。
    几率分布是对事件发生几率的描述:即在特定的特征和超参数下事件发生的几率。
    
三、似然函数
        使用该步骤的前提是:几率分布函数的参数能够用似然函数进行求解。

        似然函数使用的是“集体智慧”, 
        把全部已知样本发生的几率相乘,就能够获得全部样本同时发生的几率。
    
    公式以下:

image.png

m表明样本个数,i表明每一个样本。
 
 四、损失函数
        
        为了得出损失函数而且处于计算方便的目的:
            似然函数取对数,再取反即为咱们的损失函数。

    公式以下:

image.png

逻辑回归与线性回归区别

逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。

逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。

去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。

逻辑回归是以线性回归为理论支持的,可是逻辑回归经过Sigmoid函数引入了非线性因素,所以能够轻松处理0/1分类问题。

多分类回归

假设函数:

image.png

随机变量Y的取值是(1,2, ... K) , 
    该公式表示样本在每个分类取值{1,2,...k}的占比,exp是以e为底的对数。

似然函数:

image.png

每一个样本在k类别下全部的几率乘积,而后m个样本的乘积再乘积。

基于热度的推荐

热度特征,在冷启动颇有效,冷启动的概念是说系统里面并无你的相关画像数据,好比游客登陆了头条,会怎么推荐呢,能够经过热度特征,即根据当前社会热点呀、文章阅读量高低排名呀等一些能表明广泛群体感觉的指标进行推送选择

关联规则

Apriori

FP-growth

协同过滤

基于用户行为的推荐,属于近邻算法。
能够解决越推越窄的问题。

基于用户的协同推荐(User-based Collaborative Filtering)

两个关键点:
    找到类似用户,
    计算类似用户对物品的平均评分。

当一个用户A须要个性化推荐 时,能够先找到和他有类似兴趣的其余用户,而后把那些用户喜欢的、而用户A没有据说过的物
品推荐给A。

步骤:

一、找出用户u类似的用户集合
        
        经过行为的类似度计算用户类似度。
         
        某个用户v跟u用户的类似度 = 两个用户兴趣物品集合交集 / 两个用户兴趣物品集合并集
        
    二、给用户u推荐物品
         经过前一步的结果能够找到跟用户u类似的前K个用户,
         这一步要在这儿K个用户里喜欢的物品里寻找用户u喜欢的物品。

         推荐物品以前咱们要先预测用户u对物品i的评分。
         
         把用户u与K个类似用户的类似度做为权重,K个用户分别对物品i的评分做为被乘数,
         而后把以上乘法表达式做为求和项,得出的就是u对i的加权评分,能够表明用户u对物品i的感兴趣程度。
         
 算法表明的意思:与某个用户类似的用户都是这么评分的,那么他们对某个物品的加权平均分就应该是我给这个物品的评分。

 注意两点:
    用户u对物品i是要预测的,用户u没有对物品i直接评价过。
    K个类似用户中不是全部用户都对物品i进行过评分。

如何下降求用户类似度时的时间复杂度

咱们在计算全部用户之间的类似度时,每每两个用户之间没有任何类似。
    为了下降时间复杂度,todo

类似用户如何求

场景

新闻网站:
     某中兴趣的新闻不经常使用,而类似的用户老是存在。
     技术上item新闻更新很快,维护一张item表有难度。
原理:
    UserCF给用户推荐那些和他有共同兴趣爱好的用户喜欢的物品。
    UserCF的推荐结果着重于反映和用户兴趣类似的小群体的热点。
    UserCF的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度。

基于项目的协同推荐(Item-Based Collaborative Filtering)

关键点:
    找到类似物品,
    计算用户对类似物品的平均评分。

步骤

一、计算物品的类似度
         全部用户对两个物品的评分向量是桥梁。
         
         经过计算用户评分向量之间的类似度。
         
    二、预测某个用户u对物品j的评分
        经过前一步的结果能够找到跟物品j类似的前K个物品,
        这一步要用用户对这K个物品的评分去预测对物品j的评分。
        
        把物品j与K个物品的类似度做为权重,用户对这个K个物品的评分做为乘数,
        而后把以上乘法表达式做为求和项,得出的就是u对j的加权评分,能够表明用户u对物品j的感兴趣程度。
        
 算法表明的意思:某用户对对某个物品的评分,可使用用户对与该物品类似的其它物品的加权平均评分计算。

 注意两点:
    要预测用户u对物品j的评价,用户u没有对物品i直接评价过。
    用户u不是对K个类似物品全都进行过评分,计算前要与u用户的评价物品集合求交集。

场景

ItemCF给用户推荐那些和他以前喜欢的物品相似的物品。
ItemCF 的推荐结果着重于维系用户的历史兴趣。
 ItemCF的推荐更加个性化,反映了用户本身的兴趣传承。
 
 
 用于电商推荐:用户兴趣通常不会变化很快,

基于模型的协同过滤

**(model based)** CF

**具体基于模型的方法有:**  
用关联算法作协同过滤(Apriori算法、FP Tree算法)  
用聚类算法作协同过滤(针对基于用户或者基于模型,Kmeans,DBSCAN)  
用分类算法作协同过滤(设定评分阈值,高于推荐,低于不推荐,逻辑回归和朴素贝叶斯,解释性很强)  
用回归算法作协同过滤(Ridge回归,回归树)  
用矩阵分解作协同过滤(因为传统的奇异值分解SVD要求矩阵不能有缺失数据,必须是稠密的,而用户物品评分矩阵是一个典型的稀疏矩阵,主要是SVD的一些变种,好比FunkSVD,BiasSVD和SVD++。这些算法和传统SVD的最大区别是再也不要求将矩阵分解为UΣVT的形式,而变是两个低秩矩阵PTQ的乘积形式。)  
用神经网络作协同过滤(限制玻尔兹曼机RBM)

矩阵分解推荐

svd是奇异值分解,分解成三个矩阵相乘。
 “svd变种”只须要分解成两个低秩矩阵,又称隐式分解模型。
 
 svd计算复杂度很高,因此很难在实际系统上有所应用。
 
 原始svd原理与推荐系统中矩阵分解的原理不相同,
 一个是经过求奇异矩阵,一个是经过优化算法求解。

隐式分解模型 LFM

Latent factor model
原理:
    

公式:

111.png

p(u,k) 度量了用户u的兴趣和第k个隐类的关系。
    q(i,k) 度量了第k个隐类和物品i之间的关系。
步骤:
    一、准备用户—物品集 K={(u, i)}
        主要是负样本的采样
    二、 优化损失函数(随机梯度降低法)

image.png

后两项是正则化项, 
        
 参数:
        隐特征的个数F;  
        学习速率alpha;  
        正则化参数lambda;
        负样本/正样本比例 ratio
 参数影响:
        固定前三个参数,ration对性能影响最大,
        ration增长推荐物品的流行度不断增长, 说明ratio参数控制了推荐算法发掘长尾的能力。

隐性反馈数据集

在选取用户对物品的负反馈数据上:
    对每一个用户,要保证正负样本的平衡(数目类似)。
    对每一个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。

原始SVD

原理:
   分解成三个矩阵相乘,USV矩阵。
   U矩阵保留原矩阵行的信息。
   V矩阵保留原矩阵列的信息。
   对角阵用来控制保留信息的比例。
                                    
步骤:
   A(m,n)原始矩阵。
   计算U(m,m),AA(T)矩阵(m,m) 的特征向量组成的矩阵。
   计算V(n,n),A(T)A矩阵(n,n) 的特征向量组成的矩阵。
   计算∑(m,n), 前两步中非零特征值从大到小排列后开根号的值组成的矩阵(n,n)
   https://www.cnblogs.com/marsggbo/p/10155801.html
   https://www.cnblogs.com/pinard/p/6251584.html

推荐系统中使用流程:
   一、选择对角阵r的个数。
   二、U矩阵是用户的评分信息
   三、V矩阵是物品评分的信息
   四、使用U、V矩阵能够用更少的计算来计算用户或者物品的类似度
      U(m,k), V的转置(k,n)                                  五、而后求出用户喜欢但未评分的物品

svd++

加入偏置项后的LFM:

image.png

3个偏置项目的含义:
        一、评分系统有些 固有属性和用户物品无关,
        二、用户也有些属性和物品无关
        三、物品也有些属性和用户无关。
    
        μ:训练集中全部记录的评分的全局平均数。它能够表示网站自己对用户评分的影响。  
        b(u): 用户偏置项。这一项表示了用户的评分习惯中和物品没有关系的那种因素。  
        b(i): 物品偏置项。这一项表示了物品接受的评分中和用户没有什么关系的因素。


考虑邻域影响的LFM:
       显式地考虑用户的历史行为对用户评分预测的影响。

image.png

PCA 主成分分析

用处

解决降维问题。
                                                                            对特征进行降维(而不是数据)

原理

牺牲少许的信息以下降特征数量。
                                                                            最大化方差理论:保留特征之间协方差最大的特征
                                                                            一、下降的维度如何选择,
     根据特征值的占比来选择,
     能够计算出信息保留的百分比。                                              二、降维后的信息没法知道确切含义。
      最后获得了一个m x k的矩阵,k是新的特征个数,并不知道每一个具体含义是什么。

流程

X(m,n) 训练集,m条数据,n个特征。
 
 一、求特征之间的协方差矩阵C(n,n),协方差矩阵为N x N 维度,N是特征数。
 二、求协方差矩阵C的特征值,特征向量U矩阵(n,k)
 三、用原始矩阵和特征向量求降维后的矩阵Z(m, k) = X U。
 
                                                                            https://blog.csdn.net/u012421852/article/details/80458340

算法辨析

基于内容推荐与基于项目的协同过滤区别

一、数据维度方面
    后者侧重使用用户对于商品的历史行为记录,即用户-商品二维矩阵。
    用户/商品表示能够看作特殊的基于内容的表示,只不过是把用户的具体内容属性换为了用户的历史行为特征。
二、核心思想
    协同是集体智慧,寻找隐含的模式。
    基于内容是某个属性进行匹配。
三、训练参数
    协同是用户-商品评分二维矩阵当作输入。
    基于内容侧重将用户或者商品的特征信息做为输入特征。
四、推荐算法好坏的决定因素
    协同依赖行为数据多少。
    前者更多依赖特征工程+属性完整+领域知识。

基于用户和项目的协同过滤的区别

基于用户的协同过滤从用户类似的角度出发。
基于项目的协同过滤从物品类似的角度出发。

基于用户的协同过滤使用的是类似用户对同一个物品的加权平均。
基于项目的协同过滤使用的是该用户对类似物品的加权平均。

两者都是使用行为数据来求用户或者物品的类似度。
在进行预测时两者本质上是一种回归。

协同过滤场景区别

todo

协同过滤与LFM隐含语义模型区别

理论基础:
      LFM具备是一种学习方法,经过优化一个设定的指标 创建最优的模型。
      邻域的方法更多的是一种基于统计的方法,并无学习过程。

离线计算的空间复杂度:
      协同过滤:
        用户表: O(M*M)  物品表:O(N*N)
      LMF:
        存储空间:F*(M+N)
     
       LMF更节省内存。
时间计算复杂度:
        在通常状况下,LFM的时间复杂度要 稍微高于UserCF和ItemCF,这主要是由于该算法须要屡次迭代。
        但没有本质区别。
 
在线实时推荐:
        对比的是用户有一个新的行为发生(喜欢了某个物品)的前提下。两种算法可否及时做出反应。
        
        LFM经过公式可知道,用户新行为不能及时计算进去,须要维护一个推荐列表。
        
        协同过滤能够几乎实时的查询。
 
  
  推荐解释:
        cf更好的解释语义。

LMF PCA

模型的划分

生成与判别

todo

标注问题

NLP序列标注

本质上是对线性序列中每一个元素根据上下文内容进行分类。

过程是对于一个一维线性输入序列(词语序列),每一个元素打上标签集合中的某个标签。

常见应用:分词,词性标注,命名实体识别。

词性标注

如何使用隐马尔可夫模型进行词性标注建模:

    状态集合:
        词性。

    状态转移几率矩阵:
        词性转移矩阵,(举例,动词后面是名词的几率)。

image.png

观测生成几率矩阵:
        某个词性的条件下是某个词的几率(举例,P(like|N)=0.012)。

image.png

观测序列:
        也就是咱们要进行词性标注问题的已知句子。(举例, Flies like a flower)
    
    解码问题:
        已知观测序列,求最合理的隐状态序列。
        
        观测序列是原始句子的一组词组成的有序列表,
        
        隐状态序列是原始句子的每一个词对应的词性。
    
    说明:
        从语料库中训练获得的词性转移几率矩阵和词语生成几率矩阵

集成学习

前向分步算法

(forward stagewise algorithm)

是boost算法中用的方法。

加法模型(假设函数):

image.png

弱分类器线性组合。
    b表示基分类器,
    beta基分类器的参数。

损失函数:

image.png

此问题比较复杂,
    咱们分隔成一系列的子问题求解。
    从前日后,每一步学习一个基函数及其系数

梯度提高树GBTD

核心思想概述

上一轮的强学习器(模型):

image.png

上一轮的损失函数:

image.png

样本标签与强学习器的差值

本轮的弱学习器:

image.png

本轮的损失函数:

image.png

与上一轮损失函数不一样的是,强学习器增长了本轮的弱学习器。

模型损失函数的负梯度

todo

残差与损失函数负梯度近似

损失函数:

image.png

T表示本轮的残差。
    
    此处的m表示第m个模型,与前一节中的t对应。
    
    f做为自变量。


损失函数的参数更新:

image.png

弱分类器定义:

image.png

大概推出负梯度是残差的近似。

参考
一文读懂机器学习几率图模型
条件几率分布与机器学习html

PageRank算法原理与实现
浅入浅出:PageRank算法
(九)通俗易懂理解——TF-IDF与TextRank (pageRank vs TextRank)
LDA(Latent Dirichlet Allocation)主题模型
LDA数学八卦
协同过滤算法与基于内容推荐算法的不一样
推荐系统 - 4 - LMF基于隐变量的推荐、PCA(主成分分析) 实现
逻辑回归原理小结
详解几率图模型——概述
几率图模型简单介绍
几率论的链式法则
PRML读书会第八章 Graphical Models(图的联合几率分解)
条件随机场入门(一) 几率无向图模型(全局局部独立性)
图论之极大团(maximal clique)
天然语言处理之序列标注问题
天然语言处理NLP(4)——序列标注a:隐马尔科夫模型(HMM)
梯度提高树(GBDT)原理小结(刘建平Pinard)
前向分步算法
GBDT的负梯度为何近似于提高树的残差
利用 SVD 实现协同过滤推荐算法
SVD++推荐系统
相关文章
相关标签/搜索