其实不管是机器学习也好,数据挖掘也好,就我个人的经验来看,想去从事这两个方向,都要具有以下的这些知识。
1.数学知识:求导相关、线性代数、概率论、统计学等。
数学知识是理解机器学习模型建立的基础。回归分析的目标函数的如何得出的?为什么梯度下降可以找到最优点?这些理论问题的背后都是数学知识在支撑的。
但是并不是说需要掌握得多么深入,数学知识在入门时候要求并不是特别多,不管是听吴恩达的机器学习课程还是后来在贪心科技上机器学习的课程,最开始的回归分析就是些基础的求导,后面贝叶斯、决策树这些可能涉及到概率论中的知识,这些都不是很难,但是系统的去听听课,把理论基础打牢总没有坏处,这些资源可以去B站搜一搜,网易慕课上也有。
2.编程知识:Python、R等
除此之外,编程也可以提上日程。如果说数学知识有利于去理解模型是如何建立的,那么编程能力就是去把解决问题的模型通过代码的方式转化为机器语言。
目标函数的优化可能使用了最小二乘法,你可以用数学知识去推导参数的表达式,但是通过编程你可能只需要一行代码就能得出参数的值,这大大的提高了工作的效率。
就算原来没接触过这些,也可以直接去学 Python。作为一门高级语言,Python上手也是比较快的,把那些基础的语法以及Python特有的数据结构,像元组、列表、字典、以及它们的切片处理方式基本了解了就算是入门了。
然后就是去学习处理数据的库,Numpy和Panads。因为数据挖掘也好,机器学习也好,实际应用中最基础的工作就是对采集到的数据进行处理,特征工程的 *** 作其实就是对数据进行整理分析的过程,机器学习模型的建立过程中,并不是说原始的数据就可以直接拿来用的,不处理好原始数据的话,模型学习出来的效果可能会差强人意。
再然后就是去了解现在比较常用的机器学习库或者机器学习相关的框架,比如Python 里的 Sklearn 如何使用,Pytorch 或者 Tensorflow 都是做什么的,对做机器学习有什么用,在这里面挑选一个觉得适合自己的,找些相关的书籍或者视频课程去着重的学习。
当然如果想去做机器学习的话,最好再去学下相关的人工智能学习框架,比如Pytorch、Tensorflow等等。
推荐先去学习 PyTorch ,我一开始就是在贪心科技机器学习课程里对 PyTorch 有了一个系统的了解,从零去做了一个神经网络的搭建,我觉得
PyTorch 比较适合新手。
3.刷比赛练手
有了这些理论基础的话,可以去Kaggle上刷竞赛,一方面锻炼自己编程思维,一方面去加深对理论知识的理解,这个过程其实会有点痛苦,就好像那些搞算法的去刷leetcode一样,但是只要能坚持下去,一个坑一个坑的填上,一定会有一个好结果的。
机器学习和数据挖掘这两者的理论知识可能也就那些,真正重要的还是要把学习到的模型和方法用于到实践中去,这也是为什么要去找项目或者刷比赛的原因。
多锻炼锻炼自己的知识应用能力,在这些比赛中去查漏补缺完善自己的知识树应该就可以去找些相关的实习了。
到这个时候能力一定会有一个很大的提升了,可以思考思考到底想去做数据挖掘,还是机器学习,因为毕竟这两者还是有区别的。
数据挖掘更侧重从大量的数据中通过算法搜索隐藏于其中信息,机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,这两个方向的目标是不同的,可以结合自己的兴趣去做一个方向的再确定。
机器学习本身也有很多的应用场景,比如NLP、声音识别、图像识别等等, 结合自己的兴趣找寻一个适合自己的方向继续深耕,才能在入门的基础上更上一层楼。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)