Machine Learning
  • Introduction
  • man
  • Linear model
    • Linear Regression
    • Generalized Linear Models
    • Nonlinear regression
  • bayes
    • bayesian network
    • Variational Bayesian inference
    • Gaussian Process Regression
  • Logistic Regression
    • L1 regularization
    • L2 regularization
    • softmax
    • Overflow and Underflow
  • SVM
    • C-SVM
    • C-SVM求解
  • EM
    • GMM
  • Maximum Entropy
    • IIS
  • HMM
    • viterbi algorithm
  • CRF
  • Random Forest
    • bagging
    • random forest
  • boosting
    • catboost
    • gradient boosting
    • Newton Boosting
    • online boosting
    • gcForest
    • Mixture models
    • XGBoost
    • lightGBM
    • SecureBoost
  • LDA
  • rank
    • RankNet
    • LambdaRank
    • SimRank
  • Factorization Machine
    • Field-aware Factorization Machine
    • xdeepFM
  • Clustering
    • BIRCH
    • Deep Embedding Clustering
  • Kalman filtering
  • word2vec
  • 关联规则挖掘
  • MATH-Mathematical Analysis
    • measure
  • MATH-probability
    • Variational Inference
    • Dirichlet分布
    • Gibbs Sampling
    • Maximum entropy probability distribution
    • Conjugate prior
    • Gaussian Process
    • Markov process
    • Poisson process
    • measure
    • Gumbel
  • MATH-Linear Algebra
    • SVD
    • SVD-推荐
    • PCA
    • Linear Discriminant Analysis
    • Nonnegative Matrix Factorization
  • MATH-Convex optimization
    • 梯度下降
    • 随机梯度下降
    • 牛顿法
    • L-BFGS
    • 最速下降法
    • 坐标下降法
    • OWL-QN
    • 对偶问题
    • 障碍函数法
    • 原对偶内点法
    • ISTA
    • ADMM
    • SAG
  • MATH-碎碎念
    • cost function
    • Learning Theory
    • sampling
    • Entropy
    • variational inference
    • basis function
    • Diffie–Hellman key exchange
    • wavelet transform
    • 图
    • Portfolio
    • 凯利公式
  • ML碎碎念
    • 特征
    • test
    • TF-IDF
    • population stability index
    • Shapley Values
  • 课件
    • xgboost算法演进
  • Time Series
  • PID
  • graph
    • SimRank
    • community detection
    • FRAUDAR
    • Anti-Trust Rank
    • Struc2Vec
    • graph theory
    • GNN
  • Anomaly Detection
    • Isolation Forest
    • Time Series
  • Dimensionality Reduction
    • Deep Embedded Clustering
  • Federated Learning
  • automl
  • Look-alike
  • KNN
  • causal inference
Powered by GitBook
On this page
  • 损失函数
  • 反向梯度下降
  • 参考佳文:

Was this helpful?

  1. rank

RankNet

RankNet是通过一个神经网络模型来计算样本的得分,输入层和样本特征维数有关,输出层是一个节点,就是分值。以三层的神经网络模型举例,则计算分值函数定义为:

sn=f(xn)=g3(ΣjWij32g2(ΣkWjk21xnk+b2)+b3)s_n = f(x_n) = g^3(\Sigma_j W_{ij}^{32}g^2(\Sigma_k W_{jk}^{21}x_{nk} + b^2) + b^3)sn​=f(xn​)=g3(Σj​Wij32​g2(Σk​Wjk21​xnk​+b2)+b3)

其中权值参数w和偏置参数b的上标表示节点所在的层,下标表示同一层中节点的编号;xnkx_{nk}xnk​表示特征向量xnx_nxn​的第k个分量,这是是输入到输入层的。 RankNet是从概率角度解决排序的问题,证明了如果知道一个待排序文档的排列中相邻两个文档之间的排序概率,则通过推导可以算出每两个文档之间的排序概率。因此对于一个待排序文档序列,只需计算相邻文档之间的排序概率,不需要计算所有pair,减少计算量。

损失函数

训练时以预测概率与真实概率的交叉熵作为损失函数

  • 预测概率:

Pij≡P(Di▹Dj)≡11+e−σ(si−sj)P_{ij} \equiv P(D_i \triangleright D_j) \equiv \frac {1}{1+e^{-\sigma(s_i-s_j)}}Pij​≡P(Di​▹Dj​)≡1+e−σ(si​−sj​)1​

sis_isi​ :文档DiD_iDi​模型计算出来的得分

  • 真实概率:

P‾ij=12(1+Sij)\overline P_{ij} = \frac {1}{2}(1+S_{ij})Pij​=21​(1+Sij​)

SijS_{ij}Sij​ 文档DiD_iDi​与DjD_jDj​真实排序。取值{-1,0,1}。1表示DiD_iDi​应该在DjD_jDj​前面,-1表示DiD_iDi​应该在DjD_jDj​后面,0表示谁前谁后无所谓

  • 交叉熵:

C=−P‾ijlog⁡Pij−(1−P‾ij)log⁡(1−log⁡Pij)=12(1−Sij)σ(si−sj)+log⁡(1+e−σ(si−sj))log以e为底数C = - \overline P_{ij} \log P_{ij} - (1 - \overline P_{ij}) \log (1-\log P_{ij}) \\ = \frac {1}{2} (1-S_{ij}) \sigma(s_i-s_j) + \log (1+e^{-\sigma(s_i-s_j)}) \\ \text{log以e为底数}C=−Pij​logPij​−(1−Pij​)log(1−logPij​)=21​(1−Sij​)σ(si​−sj​)+log(1+e−σ(si​−sj​))log以e为底数

预测概率函数就是逻辑回归的sigmoid函数,由于σ\sigmaσ 影响的是sigmoid函数的形状,对最终结果影响不大,因此默认使用 σ=1\sigma=1σ=1进行简化。

损失函数有以下几个特点:

  • 当两个相关性不同的文档算出来的模型分数相同时,损失函数的值大于0,仍会对这对pair做惩罚,使他们的排序位置区分开

  • 损失函数是一个类线性函数,可以有效减少异常样本数据对模型的影响,因此具有鲁棒性

反向梯度下降

Wk→Wk−η∂C∂Wk=Wk−η(∂C∂si∂si∂Wk+∂C∂sj∂sj∂Wk)W_k \to W_k - \eta \frac {\partial C}{\partial W_k} = W_k - \eta (\frac {\partial C}{\partial s_i} \frac {\partial s_i}{\partial W_k} + \frac {\partial C}{\partial s_j} \frac {\partial s_j}{\partial W_k})Wk​→Wk​−η∂Wk​∂C​=Wk​−η(∂si​∂C​∂Wk​∂si​​+∂sj​∂C​∂Wk​∂sj​​)

参考佳文:

PreviousrankNextLambdaRank

Last updated 5 years ago

Was this helpful?

再理解RankNet算法
Learning To Rank之LambdaMART的前世今生