[ZZ]机器学习的入门

转载自: http://www.cnblogs.com/mq0036/p/7131678.html

本篇虽不是这一个月的流水账,但是基本按照下面的思路对着一个月做了一次总结:

  • 什么是机器学习?
  • 机器学习都有什么算法?
  • 个人对机器学习的三种境界理解
  • 推荐的学习路线
  • 推荐资源

希望读者有所收获,另外,如果文中有任何理解上的错误,还望指正!

什么是机器学习?

之前在没有具体接触到机器学习前,我大概对他有一个概念上的认识,觉得是一种很高级的算法,能让机器学会很多的事情,就像...《我的机器人女友》里那样!

或者是《机械公敌》里的智能机器人?...

但是,这些其实都是对机器学习的一种误解。机器学习并不是让机器像人一样会学习,而是通过一种固定的编程模式,对数据进行处理。按照百度的定义,它是这样的:

专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

其实机器学习就是通过一些前人总结的数据公式,帮我们简化了很多手工操作很麻烦甚至无法操作的事情。就举个身边很常见的例子,当你在淘宝搜索了某个宝贝后,之后的商品页面会为你推荐跟这个搜索相关的商品;再比汽车在经过司机的一段驾驶后,汽车自己能基于道路状况自动调整方向盘以及车速,实现无人驾驶;再如,家里的热水器会记录你使用热水的时间,提前一段时间烧水,而在其他时间不加热,以节省水电。这些都是机器学习,都是身边已经出现或者即将出现的场景,所以,机器学习其实就在我们身边。

机器学习都有哪些算法?

在机器学习中,算法可以按照多种维度进行分类,比如监督学习、无监督学习、强化学习等...让人看着就眼晕。

记得有一篇文章总结的就非常易懂,他认为机器学习其实可以分成三类,分类、回归、聚类。

  • 分类听着名字就很容易理解了,比如给你一筐水果,水果里面有苹果、香蕉,需要把它们分成两类。
  • 回归来源于单词regression,它可以理解成是一种预测,比如线性回归,他可以根据样本数据学习出一个线性的公式,比如y=ax,当你给定一个x的值时,可以推算出对应的y值。当然具体的场景中,就不是简单的一维了...
  • 聚类,跟前面的分类有些不同,比如一筐水果,你都不知道里面装的是什么,需要通过味道、颜色、形状、大小等多个属性,把它们进行归类。

结合到算法里面:

  • 分类相关的算法有:K-近邻算法、决策树、朴素贝叶斯、逻辑回归、支持向量机等
  • 回归相关的算法有:线性回归、树回归等
  • 聚类相关的算法有:K-均值算法、Apriori等

如果看过一遍《机器学习实战》,应该就会对上述的算法有一定的了解。不需要到公式推导级别,先能了解他们的用法即可,比如:

  • K-近邻就是已知几个分类,判断新的节点属于哪个分类时,只需要看距离它一定范围内,哪个分类的数据多。有点像近朱者赤近墨者黑的意思。
  • 决策树就是通过一大堆的问题,判断属于哪个分类。比如,相亲的时候,会问“你是做什么的?”“有没有房?”“有没有车?”——最后判断,是否继续交往。
  • 朴素贝叶斯看着名字高大上,其实就是根据概率选择,属于哪个分类的概率大,就归属这个分类
  • 逻辑回归它是把线性回归的结果映射到01区间
  • 线性回归可以简单的理解成y=ax,但是其实在多维空间比这个复杂得多
  • K-均值就是一大堆散落的点,随机几个中心,这些点按照距离选择他们最近的中心组成一个类别
  • Apriori只要说一个啤酒与尿布,大家就应该明白了。

这么多算法其实只是机器学习中的一部分....

机器学习的应用场景

机器学习的应用还是很广泛的,比如无人驾驶、机器人等等高大上的东西,以及咱们身边的拼车算法、电商的个性化推荐、婚恋网站的快速配偶等等。只要是涉及到数据之间的关系,都可以使用机器学习来达到很好的效果。

个人理解的机器学习的三种境界

这三种境界纯粹是个人的胡乱设定,仅仅是为了给自己的学习定下一个目标!

第一层 了解算法的过程和作用

这种一般是那些自学机器学习的朋友,在看过几本机器学习相关的书籍后,对所有的算法都有一点了解。能跟别讨论一些机器学习的算法和用途,并且能理解相关技术分享大致过程。

第二层 能把算法运用到实践中

这一层可以认为是对某个机器学习的库比较熟悉,能真正的利用机器学习来解决一些问题。比如可以使用Spark MLLib中的某个算法解决实际的问题,如基于物品或者用户的协同过滤算法。这就好像是使用现代的机械工具盖房子,而不是像过去纯人工搬石头垒长城,效率和产出上都要好的多。

第三层 对算法的推导融会贯通

这种可以说是集数学与计算机功底于一身,是倚天剑与屠龙刀的合体。对数学公式推导了如指掌,各种模型的优化也深谙其道。其实机器学习使用某个库出一个简单的效果很简单,但是想要对算法模型进行优化却很难,大多时候都是盯着算法结果,目瞪口呆,不知道下一步该怎么办。如果对算法了解的很深,对实际的业务又很熟悉,那么就能结合两点对算法模型进行优化,改进机器学习的结果。

个人学习机器学习的路线规划

经过不到一个月的学习,对机器学习也算是初步有了一定的了解,最起码知道机器学习能干什么了,所以现在还在处于上面的第一个境界....

这期间也走了不少的弯路,浪费了不少的时间。所以在这里总结一下,也给大家当做一个参考:

  • 1 最快的入门方式,就是先百度、必应一下,了解下机器学习的概念。
  • 2 推荐阅读《机器学习实战》了解下机器学习相关的算法。我之前也看过机械工业出版社的《机器学习》、也看过点周志华老师的《机器学习》,前一本概念太多,后一本公式也挺多。《机器学习实战》相对来说要好得多,先介绍点理论背景,在基于python介绍下算法的实现以及一两个案例。
  • 3 很多人都觉得机器学习需要很好的数学功底,于是学习机器学习前,先捧着高数、线代、概率论看,结果看了两天,觉得枯燥无味,就打算放弃。其实没必要的,结合上面的《机器学习实战》,遇到什么公式,进行相应的复习就行了,这也是为什么把数学放在第三个步骤。其实机器学习里面能理解高数的求导、线代的矩阵以及向量、概率的期望方差等就差不多了,其他有需要的话针对学习就行。
  • 4 学习机器学习肯定是要看吴恩达老师的公开课了,公开课的地址,我刚看了两集,感觉还是非常不错的。
  • 5 学习Spark MLLib相关的算法实现,如果有时间的话,可以看看源码。

通过上面的学习,暂时可以到达第二个层次了。我想一般搞计算机的,应该很少有能对各种算法推导融会贯通的。所以第三种境界,就留给其他人吧....

推荐资源

1 《机器学习实战》

  • 推荐指数:★★★★★
  • 推荐理由: 理论、算法都有,比较好懂

机器学习 斯坦福 公开课

  • 推荐指数:★★★★☆
  • 推荐理由:权威大拿带你飞,还有什么理由不上车?

3 《推荐系统实践》

  • 推荐指数:★★★☆☆
  • 推荐理由:如果是想做个性化推荐,那么必须要看看这本书!

4 Spark MLLib官方文档以及example代码样例

  • 推荐指数:★★☆☆☆
  • 推荐理由:官方文档大体上知道有什么内容就行,主要是推荐看看example里面提供的代码,能帮助少走不少弯路。
时间: 2024-11-10 18:43:18

[ZZ]机器学习的入门的相关文章

【转】机器学习最佳入门学习资料汇总

机器学习最佳入门学习资料汇总 专为机器学习初学者推荐的优质学习资源,帮助初学者快速入门. 这篇文章的确很难写,因为我希望它真正地对初学者有帮助.面前放着一张空白的纸,我坐下来问自己一个难题:面对一个对机器学习领域完全陌生的初学者,我该推荐哪些最适合的库,教程,论文及书籍帮助他们入门? 资源的取舍很让人纠结,我不得不努力从一个机器学习的程序员和初学者的角度去思考哪些资源才是最适合他们的. 我为每种类型的资源选出了其中最佳的学习资料.如果你是一个真正的初学者,并且有兴趣开始机器学习领域的学习,我希望

机器学习如何入门

作者:Leon链接:https://www.zhihu.com/question/20691338/answer/102249162来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 数 学 很多人翻看任何一本机器学习的书,看到一推的数学公式就开始打退堂鼓了.开始搜索,提问"机器学习需要哪些数学知识?"然后得到的结果可能会是"矩阵分析,概率论,优化设计--"而且还会有大量的人推荐一些例如"All of Statistics&qu

【机器学习快速入门】简单自学机器学习理论

[机器学习快速入门]简单自学机器学习理论 机器学习理论--part I 前言 (第II部分内容点此:第III部分内容点此) 动机 大多数人在小的时候被魔术师以及魔术技巧所迷住,并想弄明白其中的奥秘.有些人会带着这份迷恋研究到更深处并学习魔术技巧,有些人会接受专业的训练,而其他人会继续平庸下去.我在年幼时也尝试过魔术技巧并沉迷于其中,然而后来学习的是另外一种魔术,称作计算机编程. 编程确实酷似魔法, 和魔术一样,自学的现象在计算机编程世界占了上风.在过去的两年计算机开发者调查显示,超过一半的开发者

python机器学习《入门》

写在前面的废话: 好吧,不得不说鱼C的markdown文本编辑器挺不错的,功能齐全.再次感谢小甲鱼哥哥的python视频让我去年大三下学期的时候入门了编程,爱上了编程这门语言,由于是偏冷门的统计学,在实习以后就决定把方向放在数据挖掘方面了,越来越发现专业课的重要性.在大家都忙着参加各种培训的日子里面,我就在去年寒冷的冬天把甲鱼哥的python视频一字不落的看完了:现在,在别人拼命参加校招的日子里,我就来学习“机器学习”这里面的算法了(ps:工科学校的理科妹子表示很难找到数据分析工作,人家只要研究

机器学习最佳入门学习资料汇总(转)

这篇文章的确很难写,因为我希望它真正地对初学者有帮助.面前放着一张空白的纸,我坐下来问自己一个难题:面对一个对机器学习领域完全陌生的初学者,我该推荐哪些最适合的库,教程,论文及书籍帮助他们入门? 资源的取舍很让人纠结,我不得不努力从一个机器学习的程序员和初学者的角度去思考哪些资源才是最适合他们的. 我为每种类型的资源选出了其中最佳的学习资料.如果你是一个真正的初学者,并且有兴趣开始机器学习领域的学习,我希望你能在其中找到有用的东西.我的建议是,选取其中一项资源,一本书,或者一个库,从头到尾的读一

机器学习最佳入门学习资料汇总

来自http://article.yeeyan.org/view/22139/410514 这篇文章的确很难写,因为我希望它真正地对初学者有帮助.面前放着一张空白的纸,我坐下来问自己一个难题:面对一个对机器学习领域完全陌生的初学者,我该推荐哪些最适合的库,教程,论文及书籍帮助他们入门? 资源的取舍很让人纠结,我不得不努力从一个机器学习的程序员和初学者的角度去思考哪些资源才是最适合他们的. 我为每种类型的资源选出了其中最佳的学习资料.如果你是一个真正的初学者,并且有兴趣开始机器学习领域的学习,我希

机器学习从入门到放弃

推荐台大林轩田的基石和技法 其实还有caltech一个教授的视频,个人觉得讲得比林轩田好,林轩田的老板,埃及人,口音略重 上面3个视频的教材是learn from data,CSDN上有完整版下载(https://download.csdn.net/download/shiyih/9671865),包括原版和后面增补的电子版 看ng视频,推荐斯坦福的黑板教学 图解机器学习,李航的统计学习,ISLR 周志华那本真心不!推!荐!用来自学,感觉就是个武器谱,每个知识点只蜻蜓点水一般 B站上国科大去年模

机器学习精简入门教程

机器学习教程 一-不懂这些线性代数知识 别说你是搞机器学习的(2016-04-01) 机器学习教程 二-安装octave绘制3D函数图像(2016-04-30) 机器学习教程 三-用scikit-learn求解一元线性回归问题(2016-05-30) 机器学习教程 四-用scikit-learn求解多元线性回归问题(2016-05-30) 机器学习教程 五-用matplotlib绘制精美的图表(2016-05-31) 机器学习教程 六-用scikit-learn求解多项式回归问题(2016-06

机器学习scikit-learn入门教程

原文链接:http://scikit-learn.github.io/dev/tutorial/basic/tutorial.html 章节内容 在这个章节中,我们主要介绍关于scikit-learn机器学习词库,并且将给出一个学习样例. 机器学习:问题设置 通常,一个学习问题是通过一系列的n个样本数据来学习然后尝试预测未知数据的属性.如果每一个样本超过一个单一的数值,例如多维输入(也叫做多维数据),那么它就拥有了多个特征. 我们可以把学习问题划分为几个大的来别: 监督学习: 在监督学习中,这些