这一个月,从对机器学习充满好奇与畏惧,到对各类算法稍有理解以及围绕推荐场景的编码实践,算是对机器学习有了一个入门的体验。可是中间也踩过很多坑,好比啃过线性代数的教材、看过无聊的机器学习课程、追太高端的机器学习书籍、陷入一个算法没法自拔(最后也没整明白)...其实,学习机器学习没有那么难,也很容易走偏。谨以此文,做为ML入门小白的一个小小的参考...html
本篇虽不是这一个月的流水帐,可是基本按照下面的思路对着一个月作了一次总结:python
以前在没有具体接触到机器学习前,我大概对他有一个概念上的认识,以为是一种很高级的算法,能让机器学会不少的事情,就像...《个人机器人女朋友》里那样!算法
或者是《机械公敌》里的智能机器人?...编程
可是,这些其实都是对机器学习的一种误解。机器学习并非让机器像人同样会学习,而是经过一种固定的编程模式,对数据进行处理。按照百度的定义,它是这样的:markdown
专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,从新组织已有的知识结构使之不断改善自身的性能。机器学习
其实机器学习就是经过一些前人总结的数据公式,帮咱们简化了不少手工操做很麻烦甚至没法操做的事情。就举个身边很常见的例子,当你在淘宝搜索了某个宝贝后,以后的商品页面会为你推荐跟这个搜索相关的商品;再比汽车在通过司机的一段驾驶后,汽车本身能基于道路情况自动调整方向盘以及车速,实现无人驾驶;再如,家里的热水器会记录你使用热水的时间,提早一段时间烧水,而在其余时间不加热,以节省水电。这些都是机器学习,都是身边已经出现或者即将出现的场景,因此,机器学习其实就在咱们身边。工具
在机器学习中,算法能够按照多种维度进行分类,好比监督学习、无监督学习、强化学习等...让人看着就眼晕。post
记得有一篇文章总结的就很是易懂,他认为机器学习其实能够分红三类,分类、回归、聚类。性能
结合到算法里面:学习
若是看过一遍《机器学习实战》,应该就会对上述的算法有必定的了解。不须要到公式推导级别,先能了解他们的用法便可,好比:
K-近邻
就是已知几个分类,判断新的节点属于哪一个分类时,只须要看距离它必定范围内,哪一个分类的数据多。有点像近朱者赤近墨者黑的意思。决策树
就是经过一大堆的问题,判断属于哪一个分类。好比,相亲的时候,会问“你是作什么的?”“有没有房?”“有没有车?”——最后判断,是否继续交往。朴素贝叶斯
看着名字高大上,其实就是根据几率选择,属于哪一个分类的几率大,就归属这个分类逻辑回归
它是把线性回归的结果映射到01区间线性回归
能够简单的理解成y=ax,可是其实在多维空间比这个复杂得多K-均值
就是一大堆散落的点,随机几个中心,这些点按照距离选择他们最近的中心组成一个类别Apriori
只要说一个啤酒与尿布
,你们就应该明白了。这么多算法其实只是机器学习中的一部分....
机器学习的应用仍是很普遍的,好比无人驾驶、机器人等等高大上的东西,以及我们身边的拼车算法、电商的个性化推荐、婚恋网站的快速配偶等等。只要是涉及到数据之间的关系,均可以使用机器学习来达到很好的效果。
这三种境界纯粹是我的的胡乱设定,仅仅是为了给本身的学习定下一个目标!
这种通常是那些自学机器学习的朋友,在看过几本机器学习相关的书籍后,对全部的算法都有一点了解。能跟别讨论一些机器学习的算法和用途,而且能理解相关技术分享大体过程。
这一层能够认为是对某个机器学习的库比较熟悉,能真正的利用机器学习来解决一些问题。好比可使用Spark MLLib中的某个算法解决实际的问题,如基于物品或者用户的协同过滤算法。这就好像是使用现代的机械工具盖房子,而不是像过去纯人工搬石头垒长城,效率和产出上都要好的多。
这种能够说是集数学与计算机功底于一身,是倚天剑与屠龙刀的合体。对数学公式推导了如指掌,各类模型的优化也深谙其道。其实机器学习使用某个库出一个简单的效果很简单,可是想要对算法模型进行优化却很难,大多时候都是盯着算法结果,目瞪口呆,不知道下一步该怎么办。若是对算法了解的很深,对实际的业务又很熟悉,那么就能结合两点对算法模型进行优化,改进机器学习的结果。
通过不到一个月的学习,对机器学习也算是初步有了必定的了解,最起码知道机器学习能干什么了,因此如今还在处于上面的第一个境界....
这期间也走了很多的弯路,浪费了很多的时间。因此在这里总结一下,也给你们当作一个参考:
经过上面的学习,暂时能够到达第二个层次了。我想通常搞计算机的,应该不多有能对各类算法推导融会贯通的。因此第三种境界,就留给其余人吧....
1 《机器学习实战》
3 《推荐系统实践》
4 Spark MLLib官方文档以及example代码样例
出处:http://www.cnblogs.com/xing901022/p/6953696.html