CS229课程01-机器学习的动机与应用

视频课程01 机器学习的动机与应用

  机器学习是一种高度跨学科的研究领域,在很多其他领域如机器人、自然语言处理等都产生了很大的影响。本课程将让你了解关于机器学习方法的一系列原理和工具,然后利用它们去解决你的问题。

1. 机器学习

  机器学习从早期人工智能的研究中兴起,它发现了计算机的一些新能力。例如,当我们想要写一个程序来阅读手写的文字,或者给飞行器编写软件来控制它的飞行时,这样的应用通常很难直接用代码实现。但是没有关系,我们可以选择写一个 学习型算法 ,让计算机自己去学习,并实现相应的功能。
  学习型算法已经让数据挖掘领域的研究取得了重要的进展,在我们的日常生活中,机器学习也是随处可见。例如,我们可以利用医院里保存的医疗数据来进行病人病情的预测,在邮件系统中使用学习型算法进行邮编的识别,或者用算法来识别支票上手写的金额等。机器学习十分有趣且应用广泛,是十分强大的工具,我们希望通过本课程的学习完成以下 三个目标:
  ①希望学习本课程后你可以体会到机器学习里让人兴奋的地方;
  ②希望课程结束后你能够应用机器学习的方法来解决你感兴趣的问题;
  ③希望课程完成后你可以有能力进行机器学习方面的研究。

2. 先修要求

  • 已掌握计算机科学的基本知识,例如数据结构,可以编写简单的计算机程序等。本课程有一些编程的工作,大部分都在 MATLAB 中进行。
  • 已掌握概率统计的基本知识,例如随机变量,随机变量的期望、方差等。
  • 已掌握线性代数的基本知识。例如矩阵及矩阵的向量,矩阵之间的运算,逆矩阵等。   注:讨论课里会回顾本课程需要的预备知识,也会讲一些MATLAB相关的内容,除此之外,还会安排一些机器学习相关的扩展内容。

3. 主要内容

  • 机器学习定义(Maching learning definition)

Authur Samuel (1059). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.

  1959年,Authur Samuel将机器学习非正式的定义为:在不直接针对问题进行编程的情况下,赋予计算机学习能力的研究领域。
  Authur Samuel曾经写过一个西洋棋程序,可以自己跟自己下棋,慢慢的计算机开始意识到什么样的局势能导致成功,什么样的局势能导致失败,计算机的运算速度很快,它可以通过快速地下很多局反复学习,直到最后Authur Samuel惊奇地发现:他的程序的棋艺已经远超自己。
  至今仍然有很多人认为计算机做不了给它的指令以外的任何事情,Authur Samuel的西洋棋程序可能是第一个对这种观点的有力反驳。

Tom Mitchell (1998). Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

  一个更为现代更为正式的机器学习的定义由Tom Mitchell在1998年给出:对于一个计算机程序来说,给它一个任务T和一个性能评估方法P,如果在经验E的影响下,P对T的测试结果得到了改进,即该程序从E中学习。
  用西洋棋程序来理解这个定义:经验E对应程序不断与自己下棋的经历,任务T是下棋,评估方法P可以是它与人下棋的胜率。从这个定义来看,我们可以说,西洋棋程序在学习。

  总览机器学习课程,我们可以把它分为四个主要部分。

  • 四个主要部分

① 监督学习(Sumpervised Learning)

  首先用一个简单的例子来理解一下监督学习。假设我们收集了一组房屋价格的数据(图一),并在坐标系中标出了与数据对应的点(图二)。现在我们要找到一个算法对一座已知面积的房子进行价格的估计。在这里有很多方法可以尝试,例如,可以在坐标中画一条贴近收集数据的直线,再根据这条直线找到房子对应的价格。或者不用直线,我们找一条二次曲线来拟合数据,再根据这条曲线对房子进行估价。这个通过学习已有数据来预测房屋价格就是一个监督学习的例子。所谓 “监督” 是指我们为这个算法提供了一组可以称之为正确答案的数据(即收集来的房屋价格数据)。这类问题其实应该归为 “回归问题” 的范畴。“回归”这个词在某种程度上暗示了我们要测试的变量是连续的。
  另一类监督学习类问题被称为 “分类问题” 。在分类问题中,我们要处理的变量是离散的。这类问题里一个典型的例子是乳腺癌的预测问题,即我们需要让一个算法学会预测一个肿瘤是恶性还是良性。这个预测值只有两个离散值,可以分别用0和1来表示。

②学习理论(Learning Theory)

  本课程试图通过讲解学习理论来让你理解为什么学习型算法是有效的,并让算法尽可能高效地工作。事实上我们可以证明一些相当深奥的理论,关于什么时候能保证学习型算法是可以工作的,以及什么时候算法能够达到很高的精度等。在对学习理论进行一些深入研究之后,我们能够了解什么样的算法能够很好地近似不同的函数,以及训练数据是否足够等问题。

③ 无监督学习(Unsumpervised Learning)

  除了监督学习,还有另外一类学习算法我们称之为“无监督学习”。无监督学习问题可以描述为:给你一组数据,但不告诉你关于数据的任何正确答案,那么你能从这组数据里找到一些有趣的结构吗?这就是无监督问题。例如,一些算法可以将数据聚成两类,聚类问题就是一个典型的无监督学习的例子。
  无监督学习算法的应用也很广泛,如计算机集群组织、社会网络分析、市场划分、航天数据分析等。其中有一个很有趣的可以用无监督算法解决的问题我们称之为"鸡尾酒会问题":假设你在参加一个鸡尾酒会,大家都在说话,那么,你能把你感兴趣的那个人的声音的单独地从嘈杂的背景音中提取出来吗?这个问题看起来很复杂,感觉使用的算法也很复杂,但事实上如果我们采用无监督算法并在MATLAP中实现,只需要一行代码。

④ 强化学习(Reinforcement Learning)

  强化学习可以被用在不需要进行一次决策的情形中。例如在利用监督学习进行癌症预测的例子中,对于一个病人,你要预测他的肿瘤是否为恶性,这一次决策就决定了结果。但是在强化学习问题中,你通常会在一段时间内做出一系列决策。以飞行器为例,只有当你做出一系列正确的决策后它才能起飞,或者当你做出一系列错误的决策后它才会掉落,一次错误的决策并不会让它掉落。
  我们可以通过训练狗的例子来理解强化学习的过程。假设我们训练一只狗,当它做了正确的事情时,我们给它一定的奖励,当它做了错误的事情时,我们给它一定的惩罚,那么渐渐地,这只狗就会学会去做更多正确的事情来获取更多奖励。训练飞行器和机器人的原理和过程也与之类似。
  所以说强化学习的关键是:找到一种方式来定义你想要什么。先定义好的行为和坏的行为,之后找到一个学习型算法来尽可能地获得更多的回报和更少的惩罚。
  强化学习可以应用在机器人领域的很多问题上,还可以用来进行网页爬取。

转载于:https://juejin.im/post/5b23c66f51882574e40e8729

你可能感兴趣的:(人工智能,matlab,数据结构与算法)