(转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    • When Can Machine Learn?
  • Why Can Machine Learn?
  • How Can Machine Learn?
  • How Can Machine Learn Better?

每个部分由四节课组成,总共有16节课。那么,从这篇开始,我们将连续对这门课做课程笔记,共16篇,希望能对正在看这们课的童鞋有所帮助。下面开始第一节课的笔记:The Learning Problem。

一、What is Machine Learning

什么是“学习”?学习就是人类通过观察、积累经验,掌握某项技能或能力。就好像我们从小学习识别字母、认识汉字,就是学习的过程。而机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能向人类一样,通过观察大量的数据和训练,发现事物规律,获得某种分析问题、解决问题的能力。

机器学习可以被定义为:Improving some performance measure with experence computed from data. 也就是机器从数据中总结经验,从数据中找出某种规律或者模型,并用它来解决实际问题。

什么情况下会使用机器学习来解决问题呢?其实,目前机器学习的应用非常广泛,基本上任何场合都能够看到它的身影。其应用场合大致可归纳为三个条件:

  • 事物本身存在某种潜在规律

  • 某些问题难以使用普通编程解决

  • 有大量的数据样本可供使用

二、Applications of Machine Learning

机器学习在我们的衣、食、住、行、教育、娱乐等各个方面都有着广泛的应用,我们的生活处处都离不开机器学习。比如,打开购物网站,网站就会给我们自动推荐我们可能会喜欢的商品;电影频道会根据用户的浏览记录和观影记录,向不同用户推荐他们可能喜欢的电影等等,到处都有机器学习的影子。

三、Components of Machine Learning

本系列的课程对机器学习问题有一些基本的术语需要注意一下:

  • 输入x

  • 输出y

  • 目标函数f,即最接近实际样本分布的规律

  • 训练样本data

  • 假设hypothesis,一个机器学习模型对应了很多不同的hypothesis,通过演算法A,选择一个最佳的hypothesis对应的函数称为矩g,g能最好地表示事物的内在规律,也是我们最终想要得到的模型表达式。

实际中,机器学习的流程图可以表示为:

对于理想的目标函数f,我们是不知道的,我们手上拿到的是一些训练样本D,假设是监督式学习,其中有输入x,也有输出y。机器学习的过程,就是根据先验知识选择模型,该模型对应的hypothesis set(用H表示),H中包含了许多不同的hypothesis,通过演算法A,在训练样本D上进行训练,选择出一个最好的hypothes,对应的函数表达式g就是我们最终要求的。一般情况下,g能最接近目标函数f,这样,机器学习的整个流程就完成了。

四、Machine Learning and Other Fields

与机器学习相关的领域有:

  • 数据挖掘(Data Mining)

  • 人工智能(Artificial Intelligence)

  • 统计(Statistics)

其实,机器学习与这三个领域是相通的,基本类似,但也不完全一样。机器学习是这三个领域中的有力工具,而同时,这三个领域也是机器学习可以广泛应用的领域,总得来说,他们之间没有十分明确的界线。

五、总结

本节课主要介绍了什么是机器学习,什么样的场合下可以使用机器学习解决问题,然后用流程图的形式展示了机器学习的整个过程,最后把机器学习和数据挖掘、人工智能、统计这三个领域做个比较。本节课的内容主要是概述性的东西,比较简单,所以笔记也相对比较简略。

这里附上林轩田(Hsuan-Tien Lin)关于这门课的主页:
http://www.csie.ntu.edu.tw/~htlin/

*注明:*

文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程

(转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem的更多相关文章

  1. 林轩田机器学习基石课程学习笔记5 — Training versus Testing

    上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...

  2. 【The VC Dimension】林轩田机器学习基石

    首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...

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

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

  4. 林轩田机器学习基石笔记1—The Learning Problem

    机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Lear ...

  5. 【 Logistic Regression 】林轩田机器学习基石

    这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...

  6. 【Linear Regression】林轩田机器学习基石

    这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...

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

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

  8. 林轩田机器学习基石笔记2—Learning to Answer Yes/No

    机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...

  9. 【Theory of Generalization】林轩田机器学习基石

    紧接上一讲的Break Point of H.有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point. 那么除此之外,我们还 ...

随机推荐

  1. C#基本语法<一>_入门经典

    基本信息 CIL和JIT CIL通用中间语言 JIT just-in-time使得CIT代码仅在需要时才编译 程序集 包含可执行文件.exe和库函数.dll和资源文件,不必把程序集集中到一个地方,全局 ...

  2. PostgreSQL 常用函数

    类似Oracle ,PostgreSQL也有强大的类型转换函数, 下面仅举两个类型转换例子. --1 例子 postgres; ?column? ---------- ( row) 在PG里如果想做除 ...

  3. javascript 模块化开发(一)

    什么是模块化 将一组模块(及其依赖项)以正确的顺序拼接到一个文件(或一组文件)中的过程. 传统的模块化做法. 模块是实现特定功能的一组属性和方法的封装. 将模块写成一个对象,所有的模块成员都放到这个对 ...

  4. Linuxautofs自动挂载服务

    autofs服务程序是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统.将信息填入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autof ...

  5. ARM-Linux中断系统【转】

    转自:https://www.cnblogs.com/arnoldlu/p/7406441.html 1.前言 了解Linux中断子系统,同时也需要了解ARM体系结构中断处理流程:在熟悉整个软硬件架构 ...

  6. The 2017 ACM-ICPC Asia Beijing Regional Contest

    传送门 C - Graph 题意: 给出一个\(n\)个点\(m\)条边的无向图.现在有多组询问,每组询问给出区间\([l,r]\),问区间\([l,r]\)中有多少点对是连通的. 思路: 若考虑只有 ...

  7. 机器学习--用PCA算法实现三维样本降到二维

    对于维数比较多的数据,首先需要做的事就是在尽量保证数据本质的前提下将数据中的维数降低.降维是一种数据集预处理技术,往往在数据应用在其他算法之前使用,它可以去除掉数据的一些冗余信息和噪声,使数据变得更加 ...

  8. configparser读取配置文件时的相对路径问题

    学习接口测试时,当我把配置文件xx.config和读取配置文件的模块read_config.py放在项目下的同一个包config里时,只需传入文件名xx.config即可实现对配置文件的读取. 但是当 ...

  9. 去除mysql里面重复的行并留下id最小的

    DELETE FROM wynews WHERE title IN (SELECT * FROM (SELECT title FROM wynews GROUP BY title HAVING COU ...

  10. git pull出错:cannot pull into a repository with state: merging_resolved"

    git pull 出错解放办法:1.尝试先提交现有代码到本地,再更新2.git reset —hard