这门课的授课老师是个台湾人,师从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. shiro,基于springboot,基于前后端分离,从登录认证到鉴权,从入门到放弃

    这个demo是基于springboot项目的. 名词介绍: ShiroShiro 主要分为 安全认证 和 接口授权 两个部分,其中的核心组件为 Subject. SecurityManager. Re ...

  2. 设计模式入门,工厂模式,c++代码实现

    // test04.cpp : Defines the entry point for the console application.////设计模式第4章 工厂模式#include "s ...

  3. [Java反射基础二]获取类的信息

    本文接上文“Class类的使用”,以编写一个用来获取类的信息(成员函数.成员变量.构造函数)的工具类来讲解"反射之获取类的信息" 1.获取成员函数信息 /** * 获取成员函数信息 ...

  4. sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計)

    ---sql: T-SQL 统计计算(父子關係,樹形,分級分類的統計) ---2014-08-26 塗聚文(Geovin Du) CREATE PROCEDURE proc_Select_BookKi ...

  5. Java 开源博客 Solo 1.4.0 发布 - 简化

    Solo 1.4.0 正式发布了!这个版本主要是简化了配置项,修复了一些缺陷并改进了很多细节体验,感谢一直以来关注和支持我们的朋友! 只需一个命令即可启动(不需要安装数据库.部署容器):也可以通过 w ...

  6. 基于SignalR的站点有连接数限制问题及解决方案

    最近在做一个Web项目,由于需要实现客户端和服务器的双向通信,所以就用到了SignalR2.0:站点的运行环境是Win7服务器,IIS7,但遇到了一个问题,就是当客户端连接数到达10个以后,后面的用户 ...

  7. nyist 20 吝啬的国度(dfs)

    吝啬的国度 题目描述: 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来. 现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市, 必须经过的前一 ...

  8. SpringBoot中Mybaties PageHelper插件使用

    首先引入pom.xml文件配置  <!-- mybatis --> <dependency>  <groupId>org.mybatis.spring.boot&l ...

  9. sharePoint查看与更改用户登录账号

    PS D:\deployScript> $user=(Get-SPUser -IDENTITY "i:0e.t|xmssts|zhangshan" -Web http://t ...

  10. Http重要知识点