博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)

Andrew Ng的Machine Learning比較简单,已经看完。林田轩的机器学习基石很多其它的是从概率论的角度来介绍机器学习,之前的视频已经听了大半。但好多都是模棱两可。

如今从头開始,认真整理笔记。笔记的结构遵从课程视频的结构。

以下是机器学习基石的第一讲:the learning problem

Course Introduction

机器学习是一门理论和实践相结合的课程。

这门课程从基础入手,介绍机器学习的一些核心理论、核心技巧和实际应用。林田轩老师说要像讲故事一样来讲机器学习,实际上呢还是包括非常多非常难的推导,而作业实在是太难,且网上又找不到答案參考,实在痛苦。

这一小节介绍了整个课程的脉络。例如以下:

  • When can machines learn?

    (illustrative + technical)

  • Why can machines learn?

    (theoretical + illustrative)

  • How can machines learn? (technical + practical)
  • How can machines learn better?

    (practical + theroetical)

What is Machine Learning

首先,我们说人的学习(learning)是从观察出发,经过大脑的理解思考等活动。终于转化为我们掌握了的知识技能。而机器学习则是将数据输入给计算机。然后计算机经过一系列的计算处理过程,终于输出我们想要的一些数据。比如我们将近十年的股票数据输入到计算机。计算机经过分析计算等机器学习过程,输入给我们一些数据,而这些数据可以指导我们更好得去炒股。

我们通过一个树木识别的样例来引出为什么要使用机器学习。依照常规的方法,我们非常难通过写一段程序来识别一张图片中的事物是不是树。而机器学习则是通过分析已有的数据,然后自己“学会”怎么推断是不是树。以下给出几种适合使用机器学习的领域:

  • when human cannot program the system manually, e.g. navigating on Mars(在火星上我们可能遇到各种各样的问题,但我们不可能提前预判全部的问题并写出程序,因此我们可以使用机器学习的方法让计算机在遇到问题时主动探寻解决方法。)
  • when human cannot ‘define the solution’ easily, e.g. speech/visual recognition(在这些领域。我们非常难比較详细清晰的去分析问题)
  • when needing rapid decisions that human cannot do, e.g. high-frequency trading(对于这样的须要在几秒钟之内做出选择的问题。用人工去处理的话预计都是在拍脑门)
  • when needing to be user-oriented in a massive scale, e.g. consumer-targeted marketing(个性化的服务等等)

以下是机器学习的三个要素。有了这三个要素才适合使用机器学习。

  • exist some ‘underlying pattern’ to be learned, so ‘performance measure’ can be improved(就是说。问题存在某种潜在的规律可循)
  • but no programmable (easy) definition, so ‘ML’ is needed(就是说,非常难用曾经的编程方法来解决)
  • somehow there is data about the pattern, so ML has some ‘inputs’ to learn from(就是说,要有输入)

最后是本小节的一道測试题:

Applications of Machine Learning

这一小节给出了机器学习在食、衣、住、行、教育、娱乐六个方面的应用。

  • 食:通过分析Twitter上的数据来给出去某一家餐饭吃饭而食物中毒的几率
  • 衣:通过销量和客户调查来为顾客推荐商品
  • 住:通过分析已有建筑的特点和能耗来预測新设计的建筑的能耗
  • 行:通过分析不同的信号灯来实现自己主动识别交通信号,再如如今非常火的无人驾驶
  • 教育:在线測试系统通过分析学生的測试成绩来预測学生的学习程度,比如我们向机器输入来自3000名学生的900,000条记录。然后机器自己主动地去预測学生的学习情况和新的測试题的难易程度。
  • 娱乐:依据用户对已经看过的电影的评分情况来向用户推荐电影。这里举了Netflix的样例(由于已经了解推荐系统,所以不再展开)

最后是本节小測试:

Components of Machine Learning

这一小节使用信贷发放系统的样例来继续介绍机器学习,信贷发放系统依据银行已有的客户信息来决定要不要发给顾客信用卡。

首先我们来定义一些变量,这些变量在机器学习中是通用的。用x来表示输入,这里是用户的信息,用y来表示输出。这里是终于要不要发放信用卡(发放的y=1。不发的话y=0)。

目标函数(target function)f,其为从输入x到输出y的一个映射。可以百分百准确地解决这个问题,在这里就是能不能准确的推断要不要给某用户发放信用卡。机器学习用到的数据data是银行已有的信用卡发放的资料。hypothesis则是我们通过data训练得到的一个东西,用g来表示,我们希望它可以特别接近f。从而可以准确的处理未知信息。

下图给出了机器学习的流程图。

须要注意的是。目标函数f是未知的。是我们的目标,其能百分百解决我们的问题。g是我们最后实际得到的,与f存在差距。

存在一个集合,里面包括大量的hypothesis。机器学习算法的任务就是从这个集合中找到最好的一个hypothesis,“最好”的标准我们会在以后的课程中给出。

最后给出了机器学习的一个定义:use data to compute hypothesis g that approximates target g。

本节小測试:

Machine Learning and Other Fields

这一小节介绍机器学习与其它领域的区别。

首先是机器学习与数据挖掘(data mining)的区别。

整体来说,二者非常难区分彼此。

接下来是机器学习与人工智能(Artificial Intelligent)。应该说。机器学习是实现人工智能的一种方法。

然后是机器学习与统计学(statistics)。

应该说。统计学是机器学习得以实现的一个数学基础。

最后是本小节问题:

机器学习基石第一讲:the learning problem的更多相关文章

  1. 机器学习基石:01 The Learning Problem

    什么时候适合用机器学习算法? 1.存在某种规则/模式,能够使性能提升,比如准确率: 2.这种规则难以程序化定义,人难以给出准确定义: 3.存在能够反映这种规则的资料. 所以,机器学习就是设计算法A,从 ...

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

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

  3. 机器学习基石 4 Feasibility of Learning

    机器学习基石 4 Feasibility of Learning Learning is Impossible? 机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接 ...

  4. 机器学习基石 3 Types of Learning

    机器学习基石 3 Types of Learning Learning with Different Output Space Learning with Different Data Label L ...

  5. 机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA

    原文地址:https://www.jianshu.com/p/ed0aee74523f 一.Perceptron Learning Algorithm (一)算法原理 PLA本质是二元线性分类算法,即 ...

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

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

  7. Coursera机器学习基石 第1讲:The Learning Problem

    这门课的授课老师是个台湾人,师从Caltech的Yaser S. Abu-Mostafa,他们共同编撰了<Learning From Data>这本书.Yaser S. Abu-Mosta ...

  8. 机器学习基石(台湾大学 林轩田),Lecture 1: The Learning Problem

    课程的讲授从logo出发,logo由四个图案拼接而成,两个大的和两个小的.比较小的两个下一次课程就可能会解释到它们的意思,两个大的可能到课程后期才会解释到它们的意思(提示:红色代表使用机器学习危险,蓝 ...

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

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

随机推荐

  1. python 正则匹配中文(unicode)(转)

    由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的.花了一个小时大概测试,此utf8中文通过,特留文.    参考: http://hi.baidu.com/nivrrex/blo ...

  2. 阿里云轻量级学生机搭建FTP最新教程

    碰了几次壁,我整理一下分析自己在阿里云上成功安装FTP的教程. 1.使用root用户进入云服务器. 2.rpm  -qa|grep vsftpd 查看是否安装了ftp,一般阿里云服务器你以前没安装过, ...

  3. Sd - 数据库开发调优

    尤其是Sql写法上的技巧,以及常见Sql的写法

  4. Luogu P4093 [HEOI2016/TJOI2016]序列 dp套CDQ

    题面 好久没写博客了..最近新学了CDQ...于是就来发一发一道CDQ的练习题 看上去就是可以dp的样子. 设\(dp_{i}\)为以i结尾的最长不下降序列. 易得:\(dp_{i}\)=\(max( ...

  5. 【线段树】Petrozavodsk Summer Training Camp 2016 Day 6: Warsaw U Contest, XVI Open Cup Onsite, Sunday, August 28, 2016 Problem H. Hay

    有一些草,一开始高度都是0,它们的生长速率不同. 给你一些单增的日期,在这些日期要将>b的草的部分都割掉,问你每次割掉的部分有多少. 将草的生长速率从大到小排序,这样每次割掉的是一个后缀,而且不 ...

  6. 20162303实验三 敏捷开发与XP实践-1

    北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:5月12日 实验密 ...

  7. MySQL InnoDB引擎锁的总结

    为什么要锁 我们开的的各式各样系统中,系统运行需要CPU.内存.I/O.磁盘等等资源.但除了硬资源外,还有最为重要的软资源:数据. 当人们访问操作我们的系统时,其实归根是对数据的查看与生产.那么对于同 ...

  8. 条件注释判断浏览器<!--[if !IE]>

    <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...

  9. bootstrap中日历组件只显示年月

    大多数情况下日历组件我们使用的都是yyyy-mm-dd的日历格式,但是有时候需求不需要我们精确到日,而是最小单位到月份(yyyy-mm),网上找了很多方法,但是都没有我想要的效果,一些属性的设置都没有 ...

  10. CSS写作建议和性能优化总结(未完待续)

    这里是我从网上的一篇文章看过来的,这里先做一点小结,之后再补充. 1.CSS渲染规则 今天在微博的一篇文章上看到的,之前我都以为渲染是从左往右渲染.发现我的想法是错的.之所以采用从右往左的渲染规则,是 ...