机器学习比较偏底层,也比较偏理论,机器学习本身不够炫酷,结合了具体的自然语言处理以及数据挖掘的问题才能炫酷。机器学习好像内力一样,是一个武者的基础,而自然语言和数据挖掘的东西都是招式。如果你内功足够深厚,招式对你来说都是小意思。但机器学习同时也要求很高的数学基础,基本上我读到自然语言处理的博士,看机器学习顶会有些论文还是如读天书。而现在如果我们只讲,工程实现,有很多开源工具可以使用,你所需要的只是知道这些工具都是干嘛用的就好~~~我不知道为什么,很多中国本科生对机器学习特别特别特别的狂热,但对矩阵,概率论又有着老纸早他妈不想念这门课了,终于过了的思想。我一直觉得,如果你真的矩阵,概率,微积分学的不好,早日勤动手,多编程,对日后找工作很有利!!!这三不管你学啥,一定不要舍本逐末的放弃了程序员最基础的编程功夫。最后:人工智能就是有多少人工就有多少智能。不要被百度,谷歌等吹牛逼的软文迷惑了双眼。。。我希望每个本科生:会一门脚本语言,熟悉java,了解c++==。。。自己动手做过一个完整的网站,一个完整的移动App。上个OJ,AC上百题~~~数学之类的不读博士没知乎上吹的这么重要。好好努力,勤动手,还有希望你学好英语,早日放弃百度知道,投奔stackoverflow,这样一定是你挑百度或者阿里~~一点小建议:作为一个业内人士,首先我的建议就是放弃“我的英语比较差”这个想法。作为母语非英语的所有人都不是天生英语就比较好的。程序员还好,题主所说的3门学问,如果不能熟练的阅读英文材料,将寸步难行。如果有强烈的兴趣甚至要考虑出国读书。下面就题主问的三项来解答:“机器学习、数据挖掘、自然语言”首先要认识到这三项并不是独立的选项,机器学习需要数据挖掘和自然语处理的支撑,自然语处理需要数据挖掘的支撑,数据挖掘需要大数据的支撑。最终所有的根源都要落实在大数据上,而这一切的顶点就是人工智能。从这个层面上来看数据挖掘是比较基础的部分,目前也有比较成熟的解决方案,只要你有数据不愁找不到工具。各种数据库(mongodb,Hive,Pig,HBase,RedShift),分布式系统(Hadoop,Spark),编程语言(Python和R)都是为其开发的或者擅长处理大数据。所谓学习数据挖掘已经逐渐变成熟练掌握这些工具的过程了。当然如果有兴趣,也可以参与各种分布式系统的开发,不过基本上你能想到的所有好用的算法,前人都已经写好了集成进去了。自然语处理,在这个世界上除了谷歌,苹果,微软,IBM还没有其他能够挑战此领域并且获得受人瞩目的成就的公司。因为现在自然语处理就是方法很落后,手段很暴力。基本上常用的技术在10几20年前就出现了,只不过那时候没有谁拥有上万台计算机来处理自然语,现在倒是有了。可离实用还有很长的路要走(可以看一下IBM的沃特森,基本上也就代表现阶段最强的自然语处理的水平了)。最后就是机器学习了,这一点除了我之外已经有很多人强调过了——“机器学习只是被过度神话了!”。说白了现在的机器学习技术就是“战五渣”,谁上谁后悔。目前除了以“深度学习”为代表的人工神经网络之外其他的大部分常用的学习方法都是统计学习。不仅要喂足了料,还要精心调教,还不一定出货,出了也基本上不准。如果恰好结果符合预期,只能说“运气真好”。不过也正是因为这样,机器学习才作为一项前沿学科,很多科学家去研究,据我目测,这一波深度学习热应该已经过去了吧。按这个节奏,不知道10年之后又会有什么技术点燃机器学习的热情也说不定。好了吐槽完了,我觉得题主可能先试试数据挖掘看看,挺好玩的~