摘要: 本文是吴恩达 (Andrew Ng)老师《机器学习》课程,第一章《绪论:初识机器学习》中第2课时《什么是机器学习?》的视频原文字幕。为本人在视频学习过程中逐字逐句记录下来以便日后查阅使用。现分享给大家。如有错误,欢迎大家批评指正,在此表示诚挚地感谢!同时希望对大家的学习能有所帮助。

What is machine learning? In this article we will try to define what it is and also try to give you a sense of when you want to use machine learning. Even among machine learning practitioners, there isn't a well accepted definition of what is and what isn't machine learning. But let me show you a couple of examples of the ways that people have tried to define it.

Here's the definition of what is machine learning that is due to Arthur Samuel. He defined machine learning as the field of study that gives computers the ability to learn without being explicitly programmed. Samuel's claim to fame was that back in 1950's,he wrote a checkers playing program. And the amazing thing about this checkers playing program was that Arthur Samuel himself, wasn't a very good checkers player. But what he did was, he had a program play tens of thousands of games against itself. And by watching what sorts of board positions tended to lead to wins, and what sort of board positions tended to lead losses, the checkers playing program learns over time what are good board positions and what are bad board positions. And eventually learn to play checkers better than Arthur Samuel himself was able to. This was a remarkable result. Arthur Samuel himself turned out not to be a very good checkers player. But because the computer has the patience to play tens of thousands of games itself. No human has the patience to play that many games. By doing this the computer was able to get so much checkers-playing experience that it eventually became a better checkers player than Arthur Samuel himself. This is somewhat informal definition, and an older one.

Here's a slightly more recent definition by Tom Mitchell who's a friend in Carnegie Mellon. So Tom defines machine learning by saying that, a well-posed learning problem is defined as follows. He says, a computer program is said to learn from experience E, with respect to some task T, and some performance measurement P, if its performance on T as measured by P improves with experience E. I actually think he came up with this definition just to make it rhyme. For the checkers playing example, the experience E will be the experience of having the program play tens of thousands of games against itself. The task T, will be the task of playing checkers. And the performance measure P, will be the probability that it wins the next game of checkers against some new opponent.

Throughout these videos, besides me trying to teach you stuff, I will occasionally ask you a question to make sure you understand the content. Here's one.

On top is a definition of machine learning by Tom Mitchell. Let's say your email program watches which email you do or do not flag as spam. So in an email client like this (Gmail), you may click this spam button to report some email as spam, but not other emails. Based on which emails you mark as spam, so your email program learns better how to filter spam email. What is the task T in this setting? In a few seconds, the video will pause. And when it does so, you can use your mouse to select one of these four radio buttons to let me know which of these four you think is the right answer to this question. So hopefully you got that this (1st) is the right answer. Classifying emails is the task T. In fact, this definition defines task T, performance measure P, and this experience E. And so watching you label email as spam or not spam, this would be the experience E. And the fraction of emails correctly classified, that might be a performance measure P. And so, our system's performance on the task T, on the performance measure P will improve after the experience E.

In this class I hope to teach you about various different types of learning algorithms. There are several different types of learning algorithms. The main two types are what we call supervised learning and unsupervised learning. I'll define what these terms mean in the next couple videos (articles). But it turns out that in supervised learning, the idea is that we're going to teach the computer how to do something, whereas in unsupervised learning we're going to let it learn by itself. Don't worry if these two terms don't make sense yet, in the next two videos (articles), I'm going to say exactly what these two types of learning are. You will also hear other buzz terms, such as reinforcement learning and recommender systems. These are other types of learning algorithms that we'll talk about later. But the two most used types of learning algorithms are probably supervised learning and unsupervised learning and I'll define them in the next two videos (articles) and we'll spend most of this class talking about these two types of learning algorithms. It turns out one of the other things we'll spend a lot of time on in this class is practical advice for applying learning algorithms. This is something I feel pretty strong about, and it's actually something that I don't know of any other university teaches. Teaching about learning algorithm is like giving you a set of tools, and equally important or more important than giving you the tools is to teach you how to apply these tools. I like to make an analogy to learning to become a carpenter. Imagine that someone is teaching you how to be a carpenter, and they say here's a hammer, here's a screwdriver, here's a saw, good luck. Well, that's not good, right? You have all these tools, but the more important thing, is to learn how to use these tools properly. There's huge difference between people that know how to use these machine learning algorithms, versus people who don't know how to use these tools well. Here in Silicon Valley where I live, when I go visit different companies, even at the top Silicon Valley companies, very often I see people are trying to apply machine learning algorithms to some problem. And sometimes they have been going at it for six months. But sometimes when I look at what they're doing, I say, you know, I could have told them like, gee, I could have told you six months ago that you should be taking a learning algorithm and applying it like the slightly modified way, and your chance of success would have been much higher. So what we're going to do in this class is actually spend a lot of time talking about how, if you actually tried to develop a machine learning algorithm, how to make those best practices type decisions about the way in which you build the system, so that when you're applying learning algorithm, you're less likely to end up one of those people who end up pursuing some path for six months that, you know, someone else could have figured out it just wasn't gonna work at all, and it's just a waste of time for six months. So I'm actually going to spend a lot of the time teaching you those sorts of best practices in machine learning and AI, and how to get this stuff to work and how we do it, how the best people do it in Silicon Valley and around the world. I hope to make you one of the best people in knowing how to design and build serious machine learning and AI systems. So, that's machine learning and these are the main topics I hope to teach. In the next video (article), I'm going to define what is supervised learning and after that, what is unsupervised learning. And also, start to talk about when you would use each of them.

<end>

Introduction - What is machine learning的更多相关文章

  1. Linear Regression with machine learning methods

    Ha, it's English time, let's spend a few minutes to learn a simple machine learning example in a sim ...

  2. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  3. Course Machine Learning Note

    Machine Learning Note Introduction Introduction What is Machine Learning? Two definitions of Machine ...

  4. [C2P1] Andrew Ng - Machine Learning

    About this Course Machine learning is the science of getting computers to act without being explicit ...

  5. Machine Learning Algorithms Study Notes(1)--Introduction

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1    Introduction    1 1.1    ...

  6. Introduction to Machine Learning

    Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an al ...

  7. A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning

    A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning by Jason Brownlee on S ...

  8. (转)Introduction to Gradient Descent Algorithm (along with variants) in Machine Learning

    Introduction Optimization is always the ultimate goal whether you are dealing with a real life probl ...

  9. (原创)Stanford Machine Learning (by Andrew NG) --- (week 1) Introduction

    最近学习了coursera上面Andrew NG的Machine learning课程,课程地址为:https://www.coursera.org/course/ml 在Introduction部分 ...

随机推荐

  1. 59、servlet3.0-异步请求

    59.servlet3.0-异步请求 59.1 开启servlet异步请求步骤 支持异步处理 asyncSupported=true 开启异步模式 req.startAsync(); 业务逻辑进行异步 ...

  2. 47、[源码]-Spring容器创建-初始化MessageSource

    47.[源码]-Spring容器创建-初始化MessageSource 7.initMessageSource();初始化MessageSource组件(做国际化功能:消息绑定,消息解析): 获取Be ...

  3. HTML+CSS基础学习标签代码

    HTML基础 一.HTML页面结构 1.HTML定义 (HTML)为超文本标记语言,是写给浏览器的语言, 目前网络上应用最广泛的语言,目前已经更新到HTML5,HTML添加了一些写的语义化标签,放弃了 ...

  4. Codeforces Round #600 (Div. 2) D题【并查集+思维】

    题意:给你n个点,m条边,然后让你使得这个这个图成为一个协和图,需要加几条边.协和图就是,如果两个点之间有一条边,那么左端点与这之间任意一个点之间都要有条边. 思路:通过并查集不断维护连通量的最大编号 ...

  5. 前端利用webuploader实现超大文件分片上传、断点续传

    本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...

  6. [other] Div

    https://www.luogu.org/problemnew/show/U16765 解法一 随机输出一组合法解. 复杂度 O(1) 预计得分 10~??? 解法二 看完题目基本能想到大力贪心,通 ...

  7. 贾扬清牛人(zz)

    贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 文 / 华商韬略 张凌云  本文转载,著作权归原作者所有   贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 2017年1月11日,美国 ...

  8. git add 不能提交 vendor下面的一个文件夹

    项目要用grpc.然后composer require XXX. 把对应的包拉倒vendor目录下面.(这里先不考虑要把vendor   composer.lock提交到版本库的问题) 然后开发完成后 ...

  9. codeforces37C

    CF37C Old Berland Language   sol:直接暴力模拟下去,长度加了就补0,凑个数就+1,凑不好就puts(“no”) #include <bits/stdc++.h&g ...

  10. Spring Cloud Gateway(四):路由定义定位器 RouteDefinitionLocator

    本文基于 spring cloud gateway 2.0.1 1.简介 RouteDefinitionLocator 是路由定义定位器的顶级接口,它的主要作用就是读取路由的配置信息(org.spri ...