一文盘点近期热门机器学习开源项目!(研究框架、AutoML库、深度学习...)

[ 导读 ]我们从过去一个月近 250 个有关机器学习的开源项目中,精心挑选出了最热门的项目。在挑选过程中,我们始终在各个项目之间作比较。Mybridge AI 基于大量的因素来估量项目的专业水平,从而对其进行排名。

这些项目在 Github 上获得的平均 star 数高达 728,涉及的话题包括:研究框架、AutoML 库、深度学习、PyTorch、TSNE、算法工具箱、Fairness-ai、DeepDetect、僵尸射击游戏。

对于程序员来说,开源项目是十分有帮助的。希望你能从中找到可以激发你灵感的有趣项目。最后祝大家节日快乐!

TransmogrifAI:用于建立机器学习工作流的 AutoML 库

TransmogrifAI 是用 Scala 编写的 AutoML 库,运行在 Spark 上。该框架的开发初衷在于通过机器学习自动化技术,以及提升编译速度与可重复利用性的 API,来提高机器学习开发者的开发效率。你可以在以下几种场景使用该框架:

  • 在几小时内建立可投入使用的机器学习应用,无需几个月的时间
  • 轻松创建机器学习模型,即使你不是机器学习专业的 Ph.D
  • 建立模块化的、可重复利用的机器学习工作流

项目链接:

https://github.com/salesforce/TransmogrifAI?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

YOLOv3:基于 PyTorch 的训练与预测

YOLOv3 是当前最先进的实时检测目标的系统,相比于前两个版本,第三版针对小目标的精度有显著提升。YOLOv3 的 Github 目录包含了全部基于 PyTorch 的训练和预测代码。要求 Python 3.6 或以上的版本,以及三个工具包:numpy、torch、opencv-python。

项目链接:

https://github.com/ultralytics/yolov3?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

FastTSNE:快速且可并行的 tSNE 算法

该项目将 160,796 个来自老鼠的神经系统的细胞转录过程进行了可视化,项目的初衷是在没有外部 C 或 C++ 依赖的情况下,在本地快速实现 tSNE 算法。该工具包提供了两种快速实现 tSNE 的方法:

  • Barnes-hut tsne:源于 Multicore tSNE,适用于小规模数据集,时间复杂度为 O(nlogn)。
  • Fit-SNE:源于 Fit-SNE 的 C++ 实现方法,适用于样本量在 10,000 以上的大规模数据集,时间复杂度为 O(n)。       

项目链接:

https://github.com/pavlin-policar/fastTSNE?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

AIF360:用于检测并去除机器学习模型偏差的开源库

这个 AI Fairness 360 Python 库包含一整套用于测量偏差的数据集和模型的指标,全部指标的解释,以及减小偏差的算法。由于 AIF360 具备一整套功能,所以在面对一个用例时,很可能难以抉择该使用什么指标或算法,为了解决这个问题,开发者为我们提供了可用于参考的使用指南。

项目链接:

https://github.com/IBM/AIF360?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

使用指南:

http://aif360.mybluemix.net/resources#guidance

僵尸射击神经网络:让 AI 学习如何射击僵尸

开发者利用神经网络强化学习来对 AI 进行训练,使其学习如何射击僵尸,从而存活下来。开发者还制作了一段小视频,来展示其训练过程。

项目链接:

https://github.com/Daporan/Zombie-Shooter-Neural-Network?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

原文链接:

https://medium.mybridge.co/machine-learning-open-source-of-the-month-v-sep-2018-d39e4082fd7c

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

工程机器学习
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

时间复杂度技术

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

t分布随机邻嵌入技术

t分布随机邻嵌入(t-SNE)是由Geoffrey Hinton和Laurens van der Maaten 开发的一种降维的机器学习算法。 这是一种非线性降维技术,特别适合将高维数据嵌入到二维或三维空间,然后可以在散点图中将其可视化。 具体来说,它通过二维或三维点对每个高维对象进行建模,使得类似的对象由附近的点建模,不相似的对象由远点建模。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~