偶是一名老Java程序员(04年开始使用Java),目前也正在做基于机器学习的智能诊疗项目,所以偶来回答一下这个问题。偶从两个方面来分析一下作为Java程序员如何转向机器学习,一方面是语言的选择,另一方面是做机器学习需要哪些知识储备。
Java or Python
偶在早期做机器学习实验的时候使用的就是Java语言,因为对Java语言比较熟悉,所以并不觉得有多麻烦。直到有一次偶参加一个机器学习的交流会,会上跟同行交流发现,大家几乎都在使用Python做算法实现,这时候偶发现可能使用Java并不是最好的选择。
回来之后偶就开始着手学习Python语言,大概用了一周左右的时间偶就完成了基本语法的学习,然后就开始一边使用一边熟悉Python的编写规则,然后就一直使用Python到现在。
其实,语言只是个工具,说到底做机器学习的核心并不在语言上,但是方便的语言工具会节省大量的时间,所以偶个人比较推荐使用Python做机器学习。有Java基础的程序员学习Python非常简单,基本上一周左右就能掌握基本的编写规则。
机器学习的核心是算法
机器学习简单的说就是在一堆杂乱无章的数据中找到某种规律(Machine Learning in Action),机器学习的步骤是数据收集、数据分析、算法设计、训练算法、验证算法、使用算法等。
做机器学习要掌握机器学习中经常使用的算法,包括决策树、k近邻、朴素贝叶斯、支持向量机、Logistic回归、Apriori算法等。
要掌握如何使用编程语言实现这些算法,通过大量的训练来完善机器学习的过程。
从事机器学习是一个非常好的方向,伴随着大数据的发展机器学习也得到了快速发展的机会。偶就是从大数据研究开始进而做机器学习方面的研发,大数据对机器学习来说非常重要,因为机器学习需要大量的训练数据。
偶的研究方向就是大数据和人工智能,偶在头条上也陆续写了一些关于大数据方面的科普文章,感兴趣的朋友可以关注偶的头条号,相信一定会有所收获。
如果你有大数据、机器学习方面的问题,也可以咨询偶。
谢谢!