No1: InterpretML by Microsoft——Machine Learning Interpretability
github地址:https://github.com/microsoft/interpret
可解释性是目前机器学习中的一个重要问题。能够理解模型如何产生它所输出的内容,这是每个机器学习项目的关键。
Interpretml是微软的一个开源软件包,用于训练可解释模型和解释黑盒系统。微软在解释解为什么解释性是必要的时候说得非常好:
模型调试:为什么我的模型犯了这个错误?
检测偏差:我的模型有区别吗?
人工智能合作:我如何理解和信任模型的决策?
法规遵从性:我的模型是否满足法律要求?
高风险应用:医疗、金融、司法等。
从过去的经验看,最容易理解的模型不是很准确,而最准确的模型是不可理解的。随着复杂性的增加,解释机器学习模型的内部工作变得更加困难。于是,MicrosoftResearch开发了一种称为可解释增强机(EBM)*的算法,该算法具有高精度和可理解性。EBM使用现代机器学习技术,如 bagging 和boosting,为传统的GAM模型注入新的活力。这使它们像随机森林和梯度提升树一样准确,并且还增强了它们的可理解性和可编辑性。
此外,该算法不仅限于使用EBM,它还支持LIME、线性模型、决策树等算法。比较模型并为我们的项目挑选最好的模型从未如此简单!
而Interpretml的安装也很简单,仅需要如下几行代码:
pip install numpy scipy pyscaffoldpip install -U interpret
pip install -U interpret
No2:Tensor2Robot (T2R) by Google Research
github地址:https://github.com/google-research/tensor2robot
Google Research再次出现在我们推荐的Github系列项目中。因为他们拥有业务中最强大的计算能力,且他们正在将它用于机器学习。
Google最新发布了名为Tensor2Robot(T2R)的开源项目。 T2R是用于大规模深度神经网络训练、评估和推理的库。,此存储库包含分布式机器学习和强化学习基础结构。它在Alphabet内部使用,开源的目的是使Robotics @ Google的研究对于更广泛的机器人和计算机视觉社区更具可重复性。
以下是使用Tensor2Robot实现的几个项目:
-
QT-Opt(https://arxiv.org/abs/1806.10293
-
Grasp2Vec(https://github.com/google-research/tensor2robot/blob/master/research/grasp2vec)
No3:Generative Models in TensorFlow 2
Github地址:https://github.com/timsainb/tensorflow2-generative-models
这是一个在Tensorflow 2中实现大量生成模型的小项目。(TensorFlow 2.0是今年最受期待的TensorFlow版本,于不久前正式推出。)图层和优化器都是使用Keras。这些模型是针对两个数据集实现的:fashion MNIST和NSYNTH。编写网络的目的是尽可能简单和一致,同时具有可读性。因为每个网络都是自包含在notebook中的,所以它们应该可以在colab会话中轻松运行。
该存储库包含多个生成模型的TF实现,包括:
-
生成对抗网络(GAN)
-
自动编码器
-
变分自动编码器(VAE)
-
VAE-GAN等。
No4:STUMPY – Time Series Data Mining
github地址:https://github.com/TDAmeritrade/stumpy
STUMPY是一个功能强大且可扩展的库,可帮助我们执行时间序列数据挖掘任务。 STUMPY旨在计算矩阵轮廓,矩阵轮廓是一个向量,它存储时间序列中任何子序列与其最近邻居之间的 z-normalized 欧几里德距离。
以下是此矩阵配置文件帮助我们执行的一些时间序列数据挖掘任务:
-
异常发现
-
语义分割
-
密度估计
-
时间序列链(时序有序的子序列模式集)
使用以下代码可以通过pip直接安装STUMPY:
pip install stumpy
No5:MeshCNN in PyTorch
github地址:https://github.com/ranahanocka/MeshCNN
MeshCNN是用于3D三角网格的通用深度神经网络。这些网格可用于3D形状分类或分割等任务。MeshCNN框架包括直接应用于网格边缘的卷积,池化和解除层:
卷积神经网络(CNN)非常适合处理图像和视觉数据。 CNN近年来风靡一时,随着图像相关应用的涌现而兴起:物体检测、图像分割、图像分类等,随着CNN的进步,这些都变成了可能。
而最近3D深度学习吸引了业界的兴趣,包括机器人和自动驾驶等领域。3D形状的问题在于它们本质上是不规则的。这使得像卷积这样的操作变得很困难。这也是MeshCNN发挥作用的地方。它是是用于3D三角网格的通用深度神经网络:网格是顶点,边和面的列表,它们共同定义3D对象的形状。
如果您热衷于计算机视觉,那么这对您来说是完美的存储库。 您可以通过我们的文章了解有关CNN的更多信息:
-
A Comprehensive Tutorial tolearn Convolutional Neural Networks from Scratch(A Comprehensive Tutorial to learn Convolutional Neural Networks fromScratch)
-
Architecture of ConvolutionalNeural Networks (CNNs) Demystified(A Comprehensive Tutorial to learn Convolutional Neural Networks fromScratch)
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站:
http://pytorch.panchuang.net/