推荐算法学习(十二):机器学习中的可解释性

机器学习业务应用以输出决策判断为目标。可解释性是指人类能够理解决策原因的程度。机器学习模型的可解释性越高,人们就越容易理解为什么做出某些决定或预测。模型可解释性指对模型内部机制的理解以及对模型结果的理解。在建模阶段,进行可解释性分析可以辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,可向业务方解释模型的内部机制,对模型结果进行解释。推荐系统中的可解释性分析也是很有必要的。

示例:信用卡欺诈模型可解释性分析

  • 数据集:2013年9月份两天时间内的信用卡交易数据(284807笔交易,492笔欺诈行为) https://www.kaggle.com/mlg-ulb/creditcardfraud

  • 逻辑回归分类模型训练及预测

    clf = LogisticRegression()

    clf.fit(train_x, train_y)

    predict_y = clf.predict(test_x)

  • 计算混淆矩阵并显示

    0

  • 计算准确率,召回率,阈值用于可视化

    0

  • 显示模型中特征重要性

    coeffs = clf.coef_

    df_co = pd.DataFrame(np.transpose(abs(coeffs)), columns=[“coef_”])

    0

推荐系统中的可解释性

推荐系统中的可解释性分析主要从以下几个方面展开:

  1. 以物品为媒介

  2. 以用户为媒介

  3. 以特征为媒介
  4. 对以上三种媒介间的关联探索

模型的可解释性

  1. 线性模型:模型容易解释,但是可能需要牺牲模型性能

  2. 深度模型DNN:通常会产生更好的性能,但被认为是黑盒模型,很难解释模型如何做出的决策

    模型的可解释性与性能之间往往需要权衡。

可解释性价值

实际工作中让客户或者领导采用某种方案,理由往往不是因为计算机的结果,而是基于某种可解释性的原因。可解释性的价值主要体现在:

  1. 增强推荐理由,更容易达成推荐
  2. 预测 VS 预防
  3. 产品(特征)设计上进行加强,而不仅是结果的预测
  4. 业务人员更容易操作 VS 计算机处理