NG机器学习总结-(一)简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013963380/article/details/82056302

写在前面

看过很多的有关机器学习的书籍,如周志华的西瓜书《机器学习》,李航的《统计学习》,《十大经典数据挖掘算法》,然而始终是没有很好的理解和掌握相关的机器学习算法,一方面是基础差学习起来慢,另一方面这些书籍实在对新手来说是晦涩难懂的。幸得Professor Andrew Ng(吴恩达)的coursera机器学习课程,收益匪浅,感谢之余将自己对机器学习的个人理解整理成博客供自己日后复习。如果以后博客中有理解不当的地方还请路过的大佬指正。

一、什么是机器学习

实际上就是在机器学习的专业人士中,也不存在一个被广泛认可的定义来准确定义机器学习是什么或者不是什么。就目前而言有两种较可接受的定义:第一个机器学习的定义来自于Arthur Samuel,他定义机器学习为在进行特定编程的情况下给予计算机学习能力的领域。1959年他编写了一个西洋棋程序,他让西洋棋程序终结跟终结下了上万盘棋,通过观察哪种布局会赢,哪种布局会输,然后一段时间后,该程序就学习到了什么是好的布局,什么是不好的布局,最后下赢了作者本人。计算机通过不断的下棋获得了无比丰富的经验,这好比人类棋手(柯杰)下了很多盘棋后的经验相当,然后下赢对手,是不是有点像alpha狗的雏形?其实这是一个不太正式的定义也是一个比较古老的定义。另一个年代近一点的定义是由Tom Mitchell提出,一个学习程序被认为能从经验E中学习,解决任务T达到性能度量P,当且仅当,有了经验E后,经过P判断,程序在处理T时的性能有所提升(Ng吐槽说可能为了压韵而这样定义了)。比如西洋棋的例子中,经验E就是程序上万次的练习下棋经验,任务T就是下棋,而P就是与新的对手比赛时,赢得比赛的概率。

无论什么样的定义,其实机器学习,简单来说就是从以往的经验中(数据)总结出规律,通过对以往经验的利用,对新的情况作出有效的决策。

二、机器学习分类

目前存在几种不同类型的机器学习算法,主要的两种类型是监督学习和无监督学习,另外还有强化学习和推荐系统,这些都是常见的机器学习算法。下面会简单介绍前两种主要的学习算法,并会在后续的学习总结中详细总结这两种学习算法的具体算法。

三、有监督学习

在有监督学习中,给定一个数据集,我们知道每条数据的正确输出并且认为输入和输出之间存在某种关联(总觉得翻译过来后味道变了,给出原文:In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.)。监督学习通常可以分为两类:回归和分类,在回归问题中,我们试图预测连续型数值的结果,这意味着我们需要找到一个函数(模型)来完成输入数据到连续型数值输出的映射。在分类问题中,我们试图预测离散型数值的结果,这意味着我们需要找到一个函数(模型)来完成输入数据到离散型数值输出的映射。

例子1:给定数据集有关房子的面积和房子的售价,试图预测新房子的房价,如下是一个有关房价和房子面积的数据集,横轴是房子的面积大小(平方英尺),纵轴是房价(千万$),现在你有一个朋友他有个面积为750平方英尺的房子,想知道能够能以多少价格出售。

 

在这种情况下学习算法可以根据数据来画一条直线或者说用一条直线来拟合数据,如下图,看上去你朋友的房子可以会卖到150K$,但是这可不是唯一的学习算法,也许有更好的。例如,用一个二介多项式来拟合数据,这样效果可能会更好,在这种情况下,该房子可能会买到200K$。

 

这是一个监督学习的例子,同时这里房价是连续型数值(输出),房价与房子的面积(输入)有关系,因此也是一个回归问题。

例子2:给定一个患肿瘤的病人,肿瘤有大小(输入),判断这个病人的肿瘤是良性的还是恶性的(离散输出,良性或恶性)。如下图是一个乳腺瘤的例子,横轴是瘤的大小,纵轴是1或0代表该肿瘤是恶性的还是良性的,蓝色样本是良性的,红色样本是恶性的。

 

假设现在有一个人患了肿瘤,其肿瘤的大小如上图的粉色箭头指向的大小,这个时候学习算法的任务是根据肿瘤的大小来估计该肿瘤的性质,这是一个分类问题。

四、无监督学习

对比有监督学习,无监督学习在我们不知道明确的输出目标情况下通过挖掘数据(输入)本身的结构来解决问题。以上的监督学习的例子中数据都包括了明确的输出如房价和肿瘤的性质。

 

而无监督学习给定的数据中没有明确的输出,所有的数据都是一样的,无监督学习的任务就是通过数据本身来找出可能的结构。

 

比如上图中的数据,无监督学习算法可能会将其分为两类,这就是所谓的聚类算法。除此之外,还有很多的无监督学习的例子,如google搜索中,将所有的新闻收集到一起,然后根据其新闻的内容将其"分类",这里的分类非监督学习的分类,可以理解为聚类。

通过简单的介绍,基本已经了解了机器学习的定义、机器学习的分类,但是机器学习有很多具体的算法,比如线性和逻辑回归、SVM、决策树、朴素贝叶斯等等。后面的博文中会详细总结这些具体的机器学习算法。

猜你喜欢

转载自blog.csdn.net/u013963380/article/details/82056302