当前位置: 主页 > 名讲堂 >

102期:机器学习碎碎念

时间:2017-07-17 13:25     点击: 次    来源:中讯环亚旗下IT梦工场     微信:it-dream

 

  也许你对“机器学习”这个东东一点儿也不熟悉,

  但是,你一定用过下面这些功能:

  手机拍照的时候,你已经习惯了它帮你自动框出人脸;

  打开你的iPhone,你已经习惯了用语音让Siri帮忙;

  逛某宝、某东的时候,你已经习惯了它们为你推送你喜欢的东东……

  没错,

  这些功能,都是机器学习在我们日常生活中的应用。

  近年来互联网数据大爆炸,数据的丰富度和覆盖面远远超出人工可以观察和总结的范畴,而机器学习的算法能指引计算机在海量数据中,挖掘出有用的价值,也使得无数学习者为之着迷。

  这一期,小梦为大家总结了机器学习的入门方法与学习路径,对于初学者入门和进阶都非常有帮助噢~

 

  看似学习难度大,曲线陡的机器学习,对大多数入门者也有一个比较通用的学习路径,可以大幅度的降低大家的学习门槛,激发学习乐趣。

 

  简单说来,机器学习大概的一个学习路径如下:

 

 

  下面就图中的内容,小梦开始碎碎念咯~

 

 

01

数学基础

 

  有无数激情满满大步向前,誓要在机器学习领域有一番作为的同学,在看到公式的一刻突然就觉得自己狗带了。是啊,机器学习之所以相对于 其他开发工作,更有门槛的根本原因就是数学。每一个算法,要在训练集上最大程度拟合同时又保证泛化能力,需要不断分析结果和数据,调 优参数,这需要我们对数据分布和模型底层的数学原理有一定的理解。基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代 数和概率与统计当中。所幸的是如果只是想合理应用机器学习,而不是做相关方向高精尖的research,需要的数学知识啃一啃还是基本能理解下来的。

 

 

02

典型算法

 

  绝大多数问题用典型机器学习的算法都能解决,粗略地列举一下这些方法如下:

  处理分类问题的常用算法包括:逻辑回归(工业界最常用),支持向量机,随机森林,朴素贝叶斯(NLP中常用),深度神经网络(视频、图片、语 音等多媒体数据中使用)。

  处理回归问题的常用算法包括:线性回归,普通最小二乘回归(Ordinary Least Squares Regression),逐步回归(Stepwise Regression) ,多元自适应回归样条(Multivariate Adaptive Regression Splines)

  处理聚类问题的常用算法包括:K均值(K-means),基于密度聚类,LDA等等。

  降维的常用算法包括:主成分分析(PCA),奇异值分解(SVD) 等。

  推荐系统的常用算法:协同过滤算法

  模型融合(model ensemble)和提升(boosting)的算法包括:bagging,adaboost,GBDT,GBRT

  其他很重要的算法包括:EM算法等等。

  我们多插一句,机器学习里所说的“算法”与程序员所说的“数据结构与算法分析”里的“算法”略有区别。前者更关注结果数据的召回率、 精确度、准确性等方面,后者更关注执行过程的时间复杂度、空间复杂度等方面。 。当然,实际机器学习问题中,对效率和资源占用的考量 是不可或缺的。

 

 

03

编程语言、工具和环境

 

  看了无数的理论与知识,总归要落到实际动手实现和解决问题上。而没有工具所有的材料和框架、逻辑、思路都给你,也寸步难行。因此我们 还是得需要合适的编程语言、工具和环境帮助自己在数据集上应用机器学习算法,或者实现自己的想法。对初学者而言,Python和R语言是很 好的入门语言,很容易上手,同时又活跃的社区支持,丰富的工具包帮助我们完成想法。相对而言,似乎计算机相关的同学用Python多一些, 而数学统计出身的同学更喜欢R一些。

 

 

04

基本工作流程

 

  以上我们基本具备了机器学习的必要条件,剩下的就是怎么运用它们去做一个完整的机器学习项目。其工作流程如下:抽象成数学问题→获取 数据→特征预处理与特征选择→训练模型与调优→模型诊断→模型融合→上线运行

 

 

05

关于积累项目经验

 

  从一个数据源开始,即使是用最传统,已经应用多年的机器学习算法,先完整地走完机器学习的整个工作流程,不断尝试各种算法深挖这些数 据的价值,在运用过程中把数据、特征和算法搞透,真正积累出项目经验 才是最快、最靠谱的学习路径。

  那如何获取数据和项目呢?一个捷径就是积极参加国内外各种数据挖掘竞赛,数据直接下载下来,按照竞赛的要求去不断优化,积累经验。国 外的Kaggle和国内的DataCastle以及阿里天池比赛都是很好的平台,你可以在上面获取真实的数据和数据科学家们一起学习和进行竞赛,尝试 使用已经学过的所有知识来完成这个比赛本身也是一件很有乐趣的事情。和其他数据科学家的讨论能开阔视野,对机器学习算法有更深层次的认识。

 
中讯环亚
中讯环亚
中讯环亚