可解释机器学习工具包 lnterpretML

MIT
C/C++ Python
跨平台
微软
2019-05-12
红薯

人类创造出人工智能,并且被人工智能影响着自己的生活。如果人工智能的行为具有可理解性,那么人类可以更进一步地利用人工智能。通过理解人工智能系统的行为,数据科学家能够适当地调试它们的模型。如果能够解释模型的行为原理,设计师们就能够向最终用户传递这些信息。如果医生、法官或者其它决策制定者相信这个强化智能系统的模型,那他们就可以作出更好的决策。更广泛的讲,随着模型的理解更加全面,最终用户可能会更快接受由人工智能驱动的产品和解决方案,同时,也可能更容易满足监管机构日益增长的需求。

事实上,要实现可理解性是复杂的,它高度依赖许多变量和人为因素,排除了任何“一刀切”的方法。可理解性是一个前沿的、跨学科的研究领域,它建立在机器学习、心理、人机交互以及设计的思想上。

微软研究院这些年一直致力于研究如何创造出具有可理解性的人工智能,如今微软在MIT开源协议下开源了lnterpretML软件工具包,它将使开发人员能够尝试各种方法去解释模型和系统。InterpretML能够执行许多可理解的模型,包括可解释的Boosting Machine(相对于一般的加性模型做了改进),以及为黑箱模型的行为或者它们的个别预测生成解释的几种方法。

通过一些简单的方式去评估可理解性方法,开发人员就能够比较不同方法产生的解释,从而去选择那些最符合他们需求的方法。例如,通过检查方法之间的一致性,这样一来,比较法就能够帮助数据科学家去了解在多大程度上相信那些解释。

可解释性对如下场景非常有必要:

  • 模型调试 —— 为什么我的模型会犯这些错误
  • 检测偏差 —— 我的模型为什么会有偏向性
  • 人工智能协作 —— 我如何理解和信任模型的决策
  • 合规 —— 我的模型是否遵循法律要求
  • 高风险应用 —— 医疗保健、金融、司法。。。

安装

Python 3.5+ | Linux, Mac OS X, Windows

pip install numpy scipy pyscaffold
pip install -U interpret

开始使用

初始化 Explainable Boosting Machine

from interpret.glassbox import ExplainableBoostingClassifier

ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)

# EBM supports pandas dataframes, numpy arrays, and handles "string" data natively.

理解模型

from interpret import show

ebm_global = ebm.explain_global()
show(ebm_global)

Global Explanation Image

理解个体预测

ebm_local = ebm.explain_local(X_test, y_test)
show(ebm_local)

Local Explanation Image

多个模型比较:

show([logistic_regression, decision_tree])

Dashboard Image

的码云指数为
超过 的项目
加载中

评论(1)

深蓝苹果
深蓝苹果
还在发育初期,但开发者对问题的反馈速度很快

暂无资讯

暂无问答

微软释AI黑盒子工具包lnterpretML 实验AI模型和系统

微软研究院释出解开AI黑盒子的工具包lnterpretML,提供开发人员多种方式来实验AI模型和系统,进一步解释模型,lnterpretML工具包含有许多可理解的模型和多种方法,能够针对黑盒子模型的个别预...

05/13 17:14
6
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部