跳转至

2017 开源机器学习项目

2017 开源机器学习项目

机器学习是用数据来学习、概括、预测的研究。近几年,随着数据的开发、算法的改进以及硬件计算能力的提升,机器学习技术得以快速发展,不断延伸至新的领域。从模式识别到电子游戏,开发者们通过训练 AI 算法实现了各种各样好玩的应用:

虽然研究者们在机器学习领域取得了让人兴奋的成果,不过我们仍然处于机器学习发展的早期阶段。 对于刚接触机器学习的开发者来讲,想要理解什么是机器学习,首先要搞懂三个部分:输入、算法、输出。

输入:驱动机器学习的数据

输入指的是算法和训练模型需要的数据集,从源代码到统计数据,数据集可以包括任何东西:

由于我们需要这些数据来训练机器学习算法,所以获取高质量的数据集是如今机器学习领域的最大挑战之一。

算法:如何处理和分析数据

机器学习算法可利用数据执行特定的任务,最常见的机器学习算法有如下几种:

1.监督学习。

监督学习使用以及标注过的和结构化的数据,通过制定一组输入数据集合所需的输出,机器可以学习如何识别目标并且映射到其他的学习任务上。 例如,在决策树的学习中,数值可通过应用一组输入数据的决策规则来预估:

2.无监督学习

无监督学习是使用非结构化数据来发现模式和结构的过程。监督学习可能会使用电子表格作为数据的输入,而无监督学习可能会用来理解一本书或者一篇文章。 例如,无监督学习是自然语言处理中非常流行的方法:

  • keon/awesome-nlp - 专门用于自然语言处理(NLP)的资源清单列表。

3.增强学习

增强学习可要求算法实现一个特定的目标,它通过奖惩的方式使 Agent 行为性能达到最大。 例如,增强学习可以用于开发自动驾驶汽车或者教会一个机器人如何生产物件。

一些可以用于练习的项目:

一些库和工具:

更多的深度学习框架,可查看文章:迎来 PyTorch,告别 Theano,2017 深度学习框架发展大盘点

输出:最终的结果

机器学习的输出结果可以是一种识别颜色的模式,也可以是简单的网页色调分析,或者是某个置信区间里的预估值。总之,输出的结果可以是任何事情。

获取输出结果的方式有以下几种:

  • 分类:为数据集中的每一个项目生成一个输出值
  • 回归:给出数据,预测所考虑变量最可能的值
  • 聚类:将相似模式的数据聚集在一起

以下是几个应用例子:

准备好开始上手机器学习了吗?

好好利用开源项目来掌握机器学习,你也可以像下面的开发者那样贡献出你的资源:

机器学习:

深度学习

Tensorflow

最后,雷锋网 AI 研习社再附上两个程序员佛系注释,愿佛祖保佑你们编程无 Bug。

酒肉穿肠过,佛祖心中留