对于不同的任务一般有不同的常用的算法。我们按照任务来说明常用的算法包括哪些。目前机器学习主要解决的问题(任务)包括:
一、分类或者回归这是一个古老的问题,就是判断某个对象所属的类别或者预测某个东西的值是多少,前者是类似“圆形深色的西瓜甜不甜”,后者类似“合肥滨湖明年的房价大约多少”等。分类的类标签是离散的,回归的类标签是连续的。一般是通过有标签的数据集训练模型后做预测。对于分类的问题,经典的算法包括朴素贝叶斯、决策树、组合算法如随机森林等。现在很火的深度学习的算法,是来自于神经网络,也是做这种任务常见的算法。回归的算法从线性回归和逻辑回归开始,也有很多改进。
二、聚类聚类任务是将一群对象按照某种特性分别放到一起。比如一个班级学生你可以按照某种标准划分成几类,比如按照兴趣划分,可以分成足球爱好者,篮球爱好者等等。聚类任务不知道类标签,是按照某种方法去度量对象之间的相似性的。常用的算法有K-means、C-means等,这些方法需要指定类别数量。现在有一种非参的聚类方法,叫做DPMM,可以根据数据自动划分类别。
三、关联规则挖掘又称购物篮数据挖掘,常见于超市购买记录中规律的发现,比如周五下午经常买尿布的男性也会同时购买啤酒。最开始使用Apriori算法,后来基于这个思想出现了比较多的改进。
四、个性化推荐个性化推荐的任务是指按照不同个体的行为特征去预测他们的兴趣偏好,进而推荐一些产品或者服务。早先的个性化推荐思想主要是基于“相似度”的方法,如协同过滤、最近邻等,后来出现了以概率矩阵分解和SVD++为代表的矩阵分解方法,现在比较火热的是利用深度学习做个性化推荐。但还是起步阶段。
五、主题抽取主题抽取是指从一组文档中抽取一些主题。这里的主题主要是包含一种有顺序的单词集合。排序靠前的是描述这个主题经常用到的词语,比如体育主题靠前的单词可能是得分、转会、比赛、进球等。早起的算法有pLSA等,后来很火的是LDA,基于LDA有很多改进的方法,包括非参LDA、时序LDA等。
六、图像/视频识别这个目前最火的肯定是深度学习的方法了,包括卷积神经网络(CNN)及其改进,还有生成对抗网络(GAN)也是另一种比较火的。
对于学习的平台的话有不少,有数学基础和英文基础的同学可以去看吴恩达的机器学习课程,讲得很好(不能放链接大家自己搜索吧),基础不太好的话可以去看七月在线,不过是收费的,但是好在有人指导。自己学习的话有一定难度,主要是涉及的方法太多。建议看基础方法,重点朝着一个领域学习可能比较好。
本头条号也会定期发布一些算法的讲解,会试图以最简单的语言来说清楚算法。欢迎大家关注。