zoukankan      html  css  js  c++  java
  • 机器学习基本概念

    Machine Learning:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

    一、什么是机器学习?(What)

    上面的概念那面有些抽象,要理解什么是机器学习,其实可以类比于人类的学习。假设一个场景:父母教三岁大的孩子认识什么是西瓜。首先父母要给孩子看西瓜,然后告诉孩子这个是西瓜。这个过程抽象成下面这张流程图:
    what is machine learning.png
    孩子的学习过程是通过一些观察,然后加上自我总结,就逐渐拥有了识别什么是西瓜的技能。
    与之相类似,机器学习就是通过对数据的“学习”,从而拥有某些特定技能的过程。(那技能是什么呢?技能是某种表现的增进,例如我通过天天练习投篮,逐渐命中率达到一定水准,我就拥有了投篮技能。)

    二、为什么要使用机器学习?(Why)

    对于不同的问题,我们选择机器学习的原因不同,这些问题按照对于人类的难易来说,可以分为两类:
    1.很简单的问题:
    例如:识别手写的数字是几,这对于人类来说是一个极易的问题,那为什么我们还要使用机器学习呢?因为通过机器学习的方式,我们可以让机器来帮我们做这些“单调乏味”的工作,让机器掌握识别手写数字的技能之后,我们就能让他们帮我们来分拣信件。如果把这项技能再进一步,让机器掌握识别并理解地址信息,我们甚至可以用机器来分拣快递。
    2.很复杂的问题:
    例如:根据用户信息,给不同的用户推荐不同的广告。对于人类来说,这几乎是不可能的问题,因为不同的用户有不同的特征,怎么从这些海量的特征中判断每一个用户的喜好是什么呢?并且用户的喜好可能还在发生变化,举个通俗一点的例子,比如某些用户去年还喜欢吃西瓜,今年就讨厌西瓜了。因此,从海量的数据中去人为的总结规律有很大的局限性,而使用机器学习的方式使得这类问题变得简单。

    三、什么时候可以使用机器学习?(When)

    1.存在某些隐含的模式(underlying pattern)可以被学习到。
    举一个反例:预测某个婴儿下一次哭是奇数分钟哭,还是偶数分钟哭。这几乎是一个随机事件,所以不存在任何隐含的模式,因此也就不能使用机器学习的方式来解答。
    2.不是很容易总结规律的问题。
    如果规律很容易总结,那当然就不用使用机器学习了,直接代码实现即可。
    3.有相关的数据。
    举一个反例:预测世界末日什么时候到来。显然,因为我们没有世界末日发生的相关数据,所以这个问题也无法用机器学习的方式来解答。

    四、机器学习的组成

    machine learning combination.png
    上图可以看作是整个机器学习过程的组成。
    首先从我们的数据出发,它们的具体形式是x到y的映射,比如我们的问题是预测某套房子的房价。那么我的X包括房子面积、房子楼层、是否是电梯房等等特征,Y就是房子的价格。正因为存在某种规律,才使得我们获得的数据按照训练集的每一个x对应唯一一个y。我们用 f 来表示这个X到Y的映射关系(即隐含规律)。
    那么如何去求得这个 f 呢?一般地,我们首先会把范围扩大到一个假设集合(称作 H ),比如我们假设房子价格与它的所有特征都是呈线性关系,那么这个假设集合就是一个线性假设集,那如何在这个无限大的假设集 H 中找到我们想要得到的 f 呢,那就需要通过机器学习演算法来实现,我们用 A 表示这个算法。
    那这样我们就能求得 f 了吗?答案是否定的,因为很多时候由于数据噪声等原因,我们无法获得一个精确的 f ,而只能获得某一个映射关系 g ,使得 g 最接近这个 f,我们把这个 g 称为最终预测。
    一般地,机器学习为了求得隐含的规律,在假设集合上通过演算法对训练集进行“训练”,使求得的预测规律最接近隐含规律。

    五、机器学习、数据挖掘、人工智能、统计学的关系

    机器学习:

    利用数据计算出一个近似隐含规律的预测规律。

    数据挖掘:

    利用海量的数据去寻找一些有意思的数据特征、规律。
    机器学习与数据挖掘的关系:
    如果数据挖掘的目标是去寻找数据间的隐含规律,那么数据挖掘和机器学习做的事情是一样的。但是传统的数据挖掘总是着眼于大数据的高效计算。(比如分布式计算框架)

    人工智能:

    让计算机做(模拟)一些像人一样的智能行为。
    机器学习与人工智能的关系:
    机器学习是实现人工智能的一种途径,除此之外,还有一些其他的方式可以实现人工智能。

    统计学:

    利用数据对一些未知的过程做预测。
    机器学习与统计学的关系:
    统计学的很多知识都可以被借鉴到机器学习中,但是机器学习中也有很多算法不是基于统计学的规律的。

    参考资料:
    《机器学习基石》【林轩田】(来源于Youtube)

  • 相关阅读:
    邻接表(spfa模版)
    翻咸鱼(???)
    求逆序数
    Symmetry CSU
    Highways
    LightOJ
    G
    最长的斜坡。。。。
    快速幂取模
    二分
  • 原文地址:https://www.cnblogs.com/codernie/p/9215365.html
Copyright © 2011-2022 走看看