在开始学习各种不同类型的机器学习算法之前,首先了解一下背景材料是很有帮助的。它们包括各种算法的执行目标是什么,以及它们适用于人工智能领域的哪些方面。这篇文章将涵盖通常的人工智能研究中的各种学习类型,为每种学习方式提供Example,并且我将尝试为不同的学习算法提供适当的检验。这是机器学习系列的第一篇文章,是之后一系列文章的引论,目的是让我们对有关机器学习算法中特定概念有一些了解。


·机器学习的类型问题

在人工智能领域,有几类主要的问题,机器学习就是其中之一。机器学习的目标并不完全是寻找意识那么刺激,不过从某些方面说,它更有可能接近达到传统人工智能研究的目标。机器学习的目的是:设计一种算法,可以让计算机进行学习。

学习当然并不一定是指意识学习。它更像是从数据中寻找统计规律,或者发现一些模式。因此,在接到一个学习任务时,很多机器学习算法很难像用你那种方式去工作。然而,学习算法却可以在那些难以学习的环境中赋予其洞察力。

·分类和决策问题

学习算法分为几个不同的类别。一类是预期的结果来自算法。例如一些分类问题。你可以从一些公共资料中了解这些问题;一个通常的分类问题的例子是让计算机学习怎样识别笔迹。事实上,现在的笔迹识别方法非常完善,一些特定解决方案的识别率可以达到百分之九十九以上(如果排除一些零乱笔迹的话非常好)。大部分数字识别的工作可以由神经网络来完成,但最近支持向量机也被证明可以在分类方面做得更好。

监督学习也可以被用于医学诊断——例如给计算机输入潜在癌症患者的症状,以及患者是否真的感染了癌症的信息,计算机将会学习怎样区分癌症患者,以及患者是否被误诊。这种学习可以使用神经网络或者支持向量机,不过用决策树也可以实现类似的功能。

决策树是一类相对比较简单的分类技术,它的决策依赖于一个由问题和答案构成的树:如果对于问题的答案是“yes”,则算法执行下一个分枝;如果回答为“no”,则算法转向其他的分枝。最终,算法抵达的叶子节点就是最终分类。

与神经网络相比,学习决策树不需要频繁的调试工作参数,并且相当简单明确。此外还有一些算法,比如ada-boost等可以迅速提高它的性能。在下文中我们将看到决策树和神经网络的详细介绍。现在我们只需要知道,即使是简单明确的算法也可以做很多事情。你可以在几乎任何条件下使用决策树,你只需要适当数目的标志以及一个分类系统,就可以期待合理的结果(尽管很有可能无法解决)。

最后一个让你开胃的分类学习例子是语音识别——通常计算机将得到一套由声音构成的训练实例,以及与声音相对应的单词。这种类型的学习通常交给神经网络来完成,虽然很难想象,但用决策树来完成这类问题也很简单。另一种机器学习的方法被称为隐马尔科夫模型,为了处理这类时间序列数据,它经过了特别的设计,因此在语音识别方面该模型表现颇佳。

另外一些常见的学习类型不是被设计用于为输入创建分类,而是作出决定;它们统称决策问题。通常来说,决策问题需要根据世界的状态作出一些假设,并使它们易于处理。决策程序可能是一次性的,在这种情况下仅仅需要作出单一的决定,也可能是重复的,在这种情况下计算机可能需要做出多重决定。如果今后需要作出多重决策的话,决策程序将变得更加棘手,因为它不但需要考虑到行为的直接后果,而且要兼顾通过某种渠道获取信息的可能行为。

决策问题中有一类用于理解的通用框架借用了一个经济学概念,称作效用函数。它为计算机(或“智能体”,即Agent,译者注)执行一项操作赋予某些分值。效用函数并非事先知道(此处应指效用函数事先不清楚行为的后果,或不知道赋予多少分值合适,译者注)——智能体必须学习那些是有效的,可以带来回报的行为,以及哪些是无效的,或者带来负回报的行为。

对于诸如世界状态以及智能体行为是否按照预期进行的可能性这类问题,效用函数通常要结合概率进行处理。比如,如果你编写了一个在丛林中勘查的机器人程序,你不可能总是精确的得知机器人的位置,而且机器人在向前行进的途中有可能会撞上一棵树并且向左转。前一种情况,机器人不清楚世界的精确状态,第二种情况,机器人不能确认它的行为是否符合预期的目标。

在通常的架构中世界状态都是用概率分布来描述的,另外一种是对智能体采取的每种行为导致可能的后果进行描述,并且由效用函数来决定当好的状态或坏的状态下采取何种行为,直到智能体对模型完全掌握。例如,它了解它的效用,但不知道世界看起来像什么,这可能是勘查机器人遇到的一种情况,或者它了解世界的状态,但不知道它的行为会获得多少分值(分值的概念见上文,译者注),如果智能体在学习玩游戏,比如西洋双陆棋时同样也可能发生这种情况。

一旦这些不同的函数(例如概率分布)都被掌握,智能体就会很容易判断哪一种行为会让预期效用最大化,并据此选择正确的行为。预期效用的计算方法是用每次支付分值的概率乘以支付的分值,然后对其进行累加。从某种意义上说,这是在计算将要采取的某项行为的平均值。为了计划后面多个步骤,当可能的世界状态数目不算太多时,通常用到一种被称作马尔科夫决策过程的算法。(它不能在例如象棋或围棋这样的博弈游戏中工作,这些棋类博弈的状态太多了,不过如果仅仅在3X3的范围内活动,用它还做还不算太坏。)

在某些情形下,避免对效用的实际计算对使用学习算法有利,事实上具体的信息学习可以在没有预先计划的情况下对行为作出正确的决断。强化学习是这种情况下的常用技术,而更多的传统情形下需要使用效用函数。

请注意,一些决策问题可以用以下几种途径重新定义为分类问题:每一个决策实际上是用最适合那种状态的行为对世界的某一个状态进行分类!诀窍在于要为你的问题制定最正确的结构,这样一来你就会知道哪一种技术最有可能适合这种情况。也许用决策树来学习如何在丛林中勘查是非常愚蠢的,但用它们在餐馆中选取食物却非常合适。

转载于:https://www.cnblogs.com/kakack/archive/2013/03/29/2989600.html

机器学习(Part I)机器学习的种类相关推荐

  1. 机器学习指南_机器学习-快速指南

    机器学习指南 机器学习-快速指南 (Machine Learning - Quick Guide) 机器学习-简介 (Machine Learning - Introduction) Today's ...

  2. matlab 职坐标,机器学习入门之机器学习实战ByMatlab(四)二分K-means算法

    本文主要向大家介绍了机器学习入门之机器学习实战ByMatlab(四)二分K-means算法,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助.前面我们在是实现K-means算法的时候,提到 ...

  3. Jeff Dean| 面向系统的机器学习和面向机器学习的系统

    来源:全球人工智能 概要:我们将发布一系列内容,展示 Google 在 NIPS 2017 上发布的工作成果.首当其冲的便是来自 Jeff Dean 的 PPT <面向系统的机器学习和面向机器学 ...

  4. python机器学习库_Python机器学习库 Top 10,你值得拥有!

    随着人工智能技术的发展与普及,Python超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一.有许多原因致使Python在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习 ...

  5. python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...

    本文主要向大家介绍了机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures  欠拟合与过拟合,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 分享 ...

  6. 机器学习——01、机器学习的数学基础1 - 数学分析

    机器学习与数学分析 机器学习概述 什么是机器学习 1.对于某给定的任务T,在合理的性能度量方案P的前提下,某计算机程序可以自主学习任务T和经验E:随着提供合适.优质.大量的经验E,该程序对于任务T的性 ...

  7. 【机器学习_4】机器学习算法分类

    [机器学习_4]机器学习算法分类 机器学习算法可以分为传统的机器学习算法和深度学习. 传统机器学习算法主要包括以下五类: 回归:建立一个回归方程来预测目标值,用于连续型分布预测 分类:给定大量带标签的 ...

  8. l2正则化python_机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化...

    本文主要向大家介绍了机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 正则化:    提高模型在未知数据上的 ...

  9. 机器学习与分布式机器学习_机器学习的歧义

    机器学习与分布式机器学习 超越最高精度 (Beyond Achieving Top Accuracy) We are familiar with the idea of using machine l ...

  10. 机器学习 可视化_机器学习-可视化

    机器学习 可视化 机器学习导论 (Introduction to machine learning) In the traditional hard-coded approach, we progra ...

最新文章

  1. Niagara 泵阀
  2. AFNetworking post请求遇到问题解决过程
  3. Python 基础语法(一)
  4. lucene源码分析(6)Query分析
  5. excel可视化图表插件_Axure 教程:利用图表前端插件实现高级可视化图表
  6. 指针,指针函数,指针数组的区别
  7. 【C语言进阶深度学习记录】二十五 指针与数组的本质分析二
  8. GCC 命令选项使用详解
  9. 80% 的 Java 焦虑,都可以被这张图解决
  10. 文末送书 | 阿里资深员工撰写:深度实践OCR
  11. 罗永浩吐槽clubhouse:玩了两天 没有一个房间能待上10分钟
  12. 手动迁移KVM虚拟机
  13. 拓端tecdat|R语言指数加权模型EWMA预测股市多变量波动率时间序列
  14. 手写实现bpnn神经网络
  15. 邮件这样写,PK 掉 99% 的同事
  16. r矢量球坐标系旋度_唯心识学075·如何理解三维直角坐标系中的旋度表达式
  17. linux下好玩的文本工具-figlet
  18. UE4 材质学习 (01-第一个材质)
  19. 关于数字转换成人民币大写的问题
  20. HashMap 为什么是2倍扩容

热门文章

  1. i.MX6 u-boot 怎么确定板级头文件
  2. 也许每个农村出来的码农都有个田园梦
  3. 《NoSQL精粹》思维导图读书笔记
  4. Oracle学习笔记--第2章 oracle 数据库体系结构
  5. 移动IM开发指南3:如何优化登录模块
  6. 简单的分页控件(原创)
  7. NFS 网络文件系统测试笔记
  8. Java设计模式:工厂模式
  9. 浅谈Java的输入输出流
  10. 删除文件中指定的一行