这门课的授课老师是个台湾人,师从Caltech的Yaser S. Abu-Mostafa,他们共同编撰了《Learning From Data》这本书。Yaser S. Abu-Mostafa在edx上也开设了机器学习的公开课,不过说实话,他的埃及口音英语实在很难听懂,而且讲的内容偏重理论,所以追了几节课就放弃了。这次他的学生带来了coursera的机器学习基石这门公开课,讲的内容和Yaser的公开课差不多,而且是中文授课(ppt是英文),这对于华语世界的学生来说是个福音。未来几周,我将把这门课的听课收获记录下来,以便备忘。

  • 什么是机器学习?

机器学习是一门能够让计算机从数据中学习得到经验,以改善在特定任务上表现的新兴技术。机器学习模仿了人类的学习过程,人类的学习来源于观察,比如我们学说话,是通过聆听、模仿大人的话语;我们区分两个不同的物体,是通过视觉上的观察、比对,经思考、归纳总结出结论的。机器学习也是一样,不过由于机器不能主动观察获得数据,所以需要人类把资料“喂”给它。接着,通过机器学习算法,得出结论。

  • 机器学习能够应用的场合:

1.数据中有特定的规律(pattern)可循

数据背后必须含有潜在的规律或模式,如果数据杂乱无章没有规律可循,那么数据就是垃圾数据。

2.数据中的规则不能用明确的数学表达式(mathematical definition)给出

现实生活中许多复杂的决策问题是无法简单地用明确的数学形式刻画的,如果能够明确定义,也就不需要机器学习了,直接写个程序就可以。

3.要有数据(data)

数据用来训练机器学习模型的参数,训练出合乎真实目标函数的假设。当有人登门拜访,期望你用机器学习解决他所提出的问题时,你首先应该问的是:你有什么样的数据?如果有,那么我们可以继续合作;如果没有,那就爱莫能助了。

对于机器学习来说,这三个要素缺一不可。

下面哪个问题可以应用机器学习?

1.预测一个婴儿下一次哭是在奇数分钟还是偶数分钟?

2.寻找一张图上两个顶点间的最短路径

3.预测未来十年地球是否会因为核战争而毁灭?

4.预测股市明天的走势

答案是:4

问题1,婴儿下一次哭在什么时候是无规律可循的

问题2,寻找图上两顶点间最短路径可以显式地编程给出

问题3,预测地球未来十年是否会毁灭,我们没有之前的历史数据,所以无法进行训练

问题4,是可以应用机器学习的,因为股价的波动遵循一定的规律;而且股价的波动与许多因素有关,我们无法用一个明确的数学公式给出这个规律;此外,我们可以利用过去十年的股市行情数据进行学习,综上,答案是4

  • 机器学习的模型:

图中包含了机器学习中的一些基本概念:

1.Target functuion:我们要学习得到的目标函数(记为$f$),是观测值$\mathcal{X}$到真实预测值$\mathcal{Y}$的一个映射关系。通常我们是不知道这个函数的(无法用数学形式明确表示)

2.Traning examples:训练样本,由观察值和真实值所组成的一个集合,系由$f$产生的。

3.Hypothesis set:假设集合,由于我们事先不知道目标函数,但是我们可以猜想,比如我们认为某个假设可以用于预测,那么就把该假设加入假设集,当然假设不止一种,所有候选的假设构成了整个假设集。

4.Learning algorithm:机器学习算法,根据数据,从假设集中找到最符合目标函数$f$的假设$g$

假设集可以是感知器、神经网络、支持向量机
对应的学习算法则是感知器学习算法,反向传播算法(back propagation),二次规划(quadratic programming)

目标函数和训练集是我们无法控制的。但学习算法和假设集是我们可以选择的,这两个成分合起来叫做学习模型(learning model),如何选择学习模型对于我们的机器学习问题至关重要。

  • 机器学习与其他相关领域的关系

1.机器学习与数据挖掘

机器学习的目标是根据数据,从假设集中找到一个与目标函数$f$很相近的假设$g$

数据挖掘的目标是从海量的数据中寻找有用的性质

如果要寻找的有用性质与寻找一个和目标函数很相近的假设的目标是一致的话,那么机器学习和数据挖掘没有本质上的区别

如果数据挖掘要寻找的有趣的性质与机器学习任务有联系的话,那么二者可以互相帮助。比如数据挖掘找到的性质可以帮助机器学习得到更好的假设;反过来,机器学习也可以用在数据挖掘中来寻找有用的性质

传统的数据挖掘关注于大规模数据库的有效计算

而在现实中我们很难区分机器学习与数据挖掘,因为二者是如此相像而又密不可分。

2.机器学习与人工智能

人工智能的目标是让电脑具有某种方面上的智能,比如电脑学会下棋。机器学习是实现人工智能的方法,但实现人工智能的方法不局限与机器学习。

3.机器学习与统计学

统计学的目标:使用数据来对未知的过程作出推论。机器学习中,$g$是我们要得出的推论,$f$是未知的过程,从这个角度上看,我们可以结合统计学的知识来实现机器学习。统计学为机器学习提供了很多有用的工具。

Coursera机器学习基石 第1讲:The Learning Problem的更多相关文章

  1. Coursera机器学习基石 第2讲:感知器

    第一讲中我们学习了一个机器学习系统的完整框架,包含以下3部分:训练集.假设集.学习算法 一个机器学习系统的工作原理是:学习算法根据训练集,从假设集合H中选择一个最好的假设g,使得g与目标函数f尽可能低 ...

  2. Coursera 机器学习基石 第4讲 学习的可行性

    这一节讲述的是机器学习的核心.根本性问题——学习的可行性.学过机器学习的我们都知道,要衡量一个机器学习算法是否具有学习能力,看的不是这个模型在已有的训练数据集上的表现如何,而是这个模型在训练数据外的数 ...

  3. 机器学习基石笔记:01 The Learning Problem

    原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...

  4. 林轩田机器学习基石笔记4—Feasibility of Learning

    上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...

  5. 林轩田机器学习基石笔记3—Types of Learning

    上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...

  6. 机器学习基石笔记:16 Three Learning Principles

    三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据 ...

  7. Coursera 机器学习 第5章 Neural Networks: Learning 学习笔记

    5.1节 Cost Function神经网络的代价函数. 上图回顾神经网络中的一些概念: L  神经网络的总层数. sl  第l层的单元数量(不包括偏差单元). 2类分类问题:二元分类和多元分类. 上 ...

  8. 机器学习基石第一讲:the learning problem

    博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) Andrew Ng的Machine Learning比較简单,已经看完.林田轩的机器 ...

  9. Coursera机器学习+deeplearning.ai+斯坦福CS231n

    日志 20170410 Coursera机器学习 2017.11.28 update deeplearning 台大的机器学习课程:台湾大学林轩田和李宏毅机器学习课程 Coursera机器学习 Wee ...

随机推荐

  1. ASP.NET MVC4 新手入门教程之四 ---4.添加一个模型

    在本节中,您将添加一些类,用于管理数据库中的电影.这些类将 ASP.NET MVC 应用程序的"模型"部分. 您将使用一种称为实体框架的.NET 框架数据接入技术来定义和使用这些模 ...

  2. struts2随笔

    1.struts.properties配置常量等同于struts.xml中配置(置于类加载路径下面)struts.multipart.maxSize文件上传最大大小struts.action.exte ...

  3. JRebel&XRebel

    介绍==>>>> JRebel&XRebel官网 https://zeroturnaround.com/HotSwap和JRebel原理 http://www.holl ...

  4. 详细解析 HTTP 与 HTTPS 的区别

    详细解析 HTTP 与 HTTPS 的区别 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览 ...

  5. vim lua对齐indent无效

    查了半天,打开命令 :filetype一看是关闭的 filetype detection:ON  plugin:ON  indent:OFF 在vimrc里打开 filetype indent on ...

  6. 多实例部署多个tomcat

    注意点: 1.多实例tomcat的更新维护,需要考虑如何能“优雅”地对所有实例进行升级: 2.尽量不要影响应用程序,在更新tomcat时,一不小心就把conf目录等全部覆盖,所以尽量要把配置文件和安装 ...

  7. 如何去除vue项目中的 # — vue路由的History模式

    前言 在创建的 router 对象中,如果不配置 mode,就会使用默认的 hash 模式,该模式下会将路径格式化为 #! 开头. 添加 mode: 'history' 之后将使用 HTML5 his ...

  8. 机智的Popup,带着简单的图表感觉酷酷的

    之前有提过用 InfoTemplate 类对 FeatureLayer 的基本信息进行展示,今天为大家介绍 esri/dijit/Popup 的使用,这东西还有 简单的图表展示功能呢! <!DO ...

  9. 07_dubbo_compiler

    [开始解析最后一行代码 ExtensionLoader.getAdaptiveExtension()] ExtensionLoader<Protocol> loader = Extensi ...

  10. 139.00.004 Git学习-远程仓库之Github

    参考Github官方HelloWorld入门教程 "有了远程仓库,妈妈再也不用担心我的硬盘了."--Git点读机 本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二 ...