机器学习与计算机视觉(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

 

    这几年,机器学习非常火。自从alpha go战胜了韩国的李世石之后,深度学习又将机器学习推向了新的高度。不可否认,机器学习是非常有用的。不管是模式识别、自然语言处理、计算机视觉,还是推荐系统、机器发掘、语音识别等方面,机器学习都发挥了巨大的作用。机器学习作为基础学科,它为其他学科的发展作出了很大的贡献,不断贡献着新的理论和算法,推动技术不断发展。

 

    从另一方面,学习机器学习也是有一定困难的。因为,对于希望学好这门课程的同学来说,除了掌握必要的编程方法和编程技巧之外,你还需要了解基本的数学方法,比如优化、概率、矩阵、随机数学等等。很多同学看到这些数学公式就一下子手足无措,不知道如何下手。

 

    下面,我就从自己个人的角度推荐一下,作为一个it工程师应该如何学习好机器学习?

 

1)机器学习应该选用什么编程语言?

    如果大家平时留意的话,会发现大家用来编写算法的时候什么语言都有,比如c、c++、java、matlab、python、R等等。我建议大家如果是自己编写算法,最好使用python脚本语言,编写起来很快,语法和c差不多,基本不需要调试。如果是别人写的算法,那么只需要自己会编译会修改就可以了。比如说,机器学习中svm这块,大家用的比较多的都是libsvm库,最早的库是用c++库,大家只要能看懂会使用就可以了。还有一些公开发表的论文,这些论文大部分是用matlab编写的,大家也只要能看懂就可以了,如果需要的话,可以自己转换成python或者c代码。

 

2)python常用的库有哪些?

    只需要numpy、pandas和matplotlib就可以了,前者主要处理矩阵使用,后者画图使用。

 

3)怎么编写算法?

    可以先看懂机器算法的基本原理,然后编写代码,最后再看推倒的数学公式。it工程师比较擅长的是看代码,所以可以从自己擅长的领域着手。大部分的机器学习代码都在100~200行之间,我指的是python代码,所以理解上不会有太大的困难。即使自己不会写,先看看别人的也可以。

 

4)有没有什么好的机器学习库?

    sklearn,python下面最简单的机器学习库。所有的代码基本上都分成三个步骤,建模、训练、预测。

 

5)常用的机器学习的书有哪些?

    我自己经常看的书就三本,《机器学习实战》、《统计学习方法》和周志华的《机器学习》。大家在看书的时候,尽量找适合自己的书籍。大牛的书籍不一定适合自己,反而是一些实战的书特别适合入门。

 

6)机器学习最重要的是什么?

    比算法和测试数据集本身更重要的,是希望大家寻找更多机器学习的应用场景,让这门学科更好地服务于我们的生活。

 

7)掌握机器学习的步骤是什么?

    先利用现成的库(比如sklearn)用好算法,后面可以根据算法定理实现好算法,最后再根据使用经验发觉算法的不足,改进好算法,让更多的人从你的工作中收益。这是一个持续的过程,没有办法一蹴而就。

 

8)公司用的机器学习和学术界的机器学习有什么区别?

    公司用的算法往往都是稳定、简洁、可靠的算法,比如说logistic回归、决策树、bayes等等,而学术中的机器学习更偏向于性能和结果,在效率和成本和算法可理解性方面考虑的不多。比如大家学习中遇到的svm、pca、lda、神经网络、深度学习,在生产中可能没有大家想象的那么多。当然也不能说,学术的算法就没有意义,也许随着计算机处理效率的提高和大数据时代的到来,学术中的某些算法会成为新的主流趋势,这也说不定。

 

9)有没有什么比较好的视频教程?

    斯坦福大学Andrew NG的《机器学习》课程。

 

ps:

    一般机器学习最好和一个领域联系在一起。比如ml和图像,或者dnn和语音。如果想学习语音的同学,利用kaldi来学习语音也是不错的选择,语音识别里面的声学模型、语言模型也大量使用了机器学习的知识。

 

 

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页