THU数据派 转载
一文盘点近期热门机器学习开源项目!(研究框架、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
工程 机器学习
相关数据
Neural Network
(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。
来源:机器之心
Machine Learning
机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。
来源:Mitchell, T. (1997). Machine Learning. McGraw Hill.
Reinforcement learning
强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。
来源:机器之心
time complexity
在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。
来源: 维基百科
t-SNE
t分布随机邻嵌入(t-SNE)是由Geoffrey Hinton和Laurens van der Maaten 开发的一种降维的机器学习算法。 这是一种非线性降维技术,特别适合将高维数据嵌入到二维或三维空间,然后可以在散点图中将其可视化。 具体来说,它通过二维或三维点对每个高维对象进行建模,使得类似的对象由附近的点建模,不相似的对象由远点建模。
来源: Wikipedia
Deep learning
深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
来源: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
以上所述就是小编给大家介绍的《一文盘点近期热门机器学习开源项目!(研究框架、AutoML库、深度学习...)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 如何学习开源项目
- 如何高效地学习开源项目
- JavaScript也能玩机器学习――5个开源 JavaScript 机器学习框架
- DeepMind开源强化学习库TRFL
- Google 开源新型强化学习框架 Dopamine
- Facebook开源深度学习推荐模型DLRM
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。