[斯坦福大学2014机器学习教程笔记]第一章-引言(1)

    本篇主要内容为:机器学习的定义、监督学习

  •     什么是机器学习?

    Arthur Samuel将机器学习定义为:在没有明确设置的情况下,使计算机具有学习能力的研究领域。他编写了一个西洋棋程序,他虽然不是西洋棋高手,但是程序通过跟自己下上万盘棋以此来观察哪种布局容易赢,哪种布局容易输,以此来得出哪种布局会更好,哪种布局更差。最后程序玩得比他自己还要好。

    这是有点不正式、也是比较陈旧的一个定义。下面是一个更新的定义。

    Tom Mitchell 提出:一个适当的学习问题定义如下:计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,有了经验E后,通过P的测定,程序在T上的表现就会有所提升。

    假设你的邮件程序观察你将哪些邮件标为垃圾邮件,即在这样的邮件客户端,你可能将一些邮件标为垃圾邮件,而其他的不做标记。基于你标记的垃圾邮件,你的邮件程序学会了如何更好地过滤垃圾邮件。在这个例子中,E、T、P分别是什么呢?

  • 经验E是观察你是否把邮件标记为垃圾邮件。
  • 任务T是给邮件分类。
  • 性能量度P是正确归类的邮件的比例。

    因此,我们的系统在任务T上的性能在得到经验E后会提高性能度量P。

    目前存在几种不同类型的学习算法,主要的两种类型被我们称为 监督学习和无监督学习

 (1)监督学习

    先来看个例子,假如说你想预测房价。

     [斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第1张图片

    假如你绘制了一个数据集,如上图。横轴是不同房屋的平方英尺数,纵轴是不同房子的价格,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。那么关于这个问题,机器学习算法将会怎么帮助你呢?

[斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第2张图片

    

       我们应用学习算法,可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线我们可以推测出,这套房子可能卖,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。两个方案中有一个能让你朋友的房子出售得更合理。

  从这个例子我们可以看出,监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题。我们试着推测出一个连续值的结果,即房子的价格。

     一般房子的价格会记到美分,所以房价实际上是一系列离散的值,但是我们通常又把房价看成实数,看成是标量,所以又把它看成一个连续的数值。

     回归这个词的意思是,我们在试着推测出这一系列连续值属性。

     再举另外一个例子,假设说你想通过查看病历来推测乳腺癌良性与否,假如有人检测出乳腺肿瘤,恶性肿瘤有害并且十分危险,而良性的肿瘤危害就没那么大,所以人们显然会很在意这个问题。

[斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第3张图片

 

    这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0表示是或者不是恶性肿瘤。有5个良性肿瘤样本和5个恶性肿瘤样本。现在我们有一个朋友很不幸检查出乳腺肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。

    分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出0、1、2、3。0 代表良性,1 表示第1类乳腺癌,2表示第2类癌症,3表示第3类,但这也是分类问题。因为这几个离散的输出分别对应良性,第一类第二类或者第三类癌症,在分类问题中我们可以用另一种方式绘制这些数据点。

    现在我用不同的符号来表示这些数据。既然我们把肿瘤的尺寸看做区分恶性或良性的特征,那么我可以这么画,我用不同的符号来表示良性和恶性肿瘤。或者说是负样本和正样本现在我们不全部画X,良性的肿瘤改成用 O 表示,恶性的继续用 X 表示。来预测肿瘤的恶性与否。

[斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第4张图片

    在机器学习中,我们通常会遇到不止一种特征。现在假设,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。那么我们这个时候的数据集就如下图。假设有一个朋友,很不幸有一个瘤。他的肿瘤大小和年级在图上为粉点。因此在给定的数据集上,学习算法能做的就是在数据上画一条直线,设法将恶性肿瘤和良性肿瘤分开,如下图。你就可以通过这个来判断这个朋友的肿瘤类型。属于良性区域,即良性的可能性比恶性的大。

 

        [斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第5张图片[斯坦福大学2014机器学习教程笔记]第一章-引言(1)_第6张图片

    就可以得出在其他机器学习问题中,我们通常有更多的特征,通常采用这些特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。不仅能处理2种3种或5种特征,而且可以处理无限多种特征。

    我们讨论的监督学习想法是在监督学习中,对于数据集中的每个样本,我们想要算法预测并得出“正确答案”。就像是上面的例子中,我们想要预测房子的价格,想要预测这个肿瘤是良性的还是恶性的。我们还讨论了回归问题,回归是指我们的目标,是预测一个连续值输出。我们还讨论了分类问题,其目的是预测离散值输出。

    下面有一个问题。假设你经营一家公司,你想开发学习算法来处理两个问题。

    问题1:你有很多同一件货物的库存。假设你有几千件相同的货物要卖,你想预测在接下来的三个月内你能卖出多少件。

    问题2:你有很多用户,你想要写一个软件来检查每一个客户的账户。对于每个客户的账户,判断这个账户是否被入侵或者破坏。

    那么,这两个问题应该被归为分类问题还是回归问题?

    答案是:问题1会把它归为回归问题,因为假设我有几千个货物,我会将它看成一个实数,即一个连续的值,即把我要卖的货物数量看成一个连续的值。问题2会将它看成一个分类问题,因为我可能会设置我要预测的值为0表示账户没有被入侵,设置值为1表示账号已经被入侵。然后再用一个算法来预测。

    

你可能感兴趣的:([斯坦福大学2014机器学习教程笔记]第一章-引言(1))