大学开始接触机器学习,不知不觉学习机器学习已经2年多了,不好说对他有一定的了解,但是也算已经入点门到了。希望自己借助写博客的机会静下心梳理一下自己的知识。
最近几年机器学习太火了,其实机器学习早就已经出现,只是由于大数据和云计算的出现,让它又赋予了新的高度。
何为机器学习,说的白话一点就是从数据中学习数据的分布。因为必须需要大量的数据作为支持,有了数据还需要计算能力,所以大数据和云计算的发现对机器学习有一定的推动作用。
机器学习可以用在什么地方?比如语音识别,图片识别,推荐系统,金融,医疗等等可以涉及到各行各业,可以说只有你想不到,没有它做不到!
最近有人说,机器学习都已经过时了,都学深度学习了,对于这种说法,说明你还不了解它们之间的关系,其实深度学习只是机器学习的一个分支,没有人只学深度学习而不学机器学习。
对于机器学习的入门,要求不是很高,主要是以下几个方面:
数学方面:高等数学(微积分,级数);概率论(知道常见的分布,比如二项分布,高斯分布等等,还包括少量的统计知识,本科概率论足够);线性代数(矩阵的基本运算,矩阵的分解尤其是svd和特征分解);凸优化知识(梯度下降,牛顿法,共轭梯度,拉格朗日乘子法)随机梯度下降发用的比较多可以用于在线学习;还有就是少量信息论(kl散度,交叉熵,互信息等等)
编程语言:入门的话选择python,matlab,R,octave比较好,不需要考虑太多的数据结构问题。其实我觉得需要选择自己喜欢的就好。
推荐资料:首推大牛Ng的网易公开课视频,这个视频是斯坦福上课视频讲的很细,它是教你如何成为机器学习研究者而不是应用者,会让你学会如何改善你的学习系统。还有台大林轩田的课也不错,小象学院也有课程。
书籍:我觉得好的书籍是《统计方法学》,李航写的,他从数学的角度上学习机器学习,写的很详细。周志华的西瓜书也看了,感觉还是不够细,但是很全面,包含机器学习的个个方面。实践的话,看看《机器学习实战》,其实GitHub上代码很多,实战很简单,关键要熟悉理论,这样才能建立一个好的机器学习系统,知其然也要之气所以然!
作为一个初学者,很希望找到志同道合的朋友一起研究它,共同进步!
如有写错的地方,希望不要见怪!