[机器学习入门] 李宏毅机器学习笔记-1(Learning Map 课程导览图)

2024-01-24 09:38

本文主要是介绍[机器学习入门] 李宏毅机器学习笔记-1(Learning Map 课程导览图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在此就不介绍机器学习的概念了。

Learning Map(学习导图)

PDFVIDEO

先来看一张李大大的总图↓

先来看一张李大大的总图

鉴于看起来不是很直观,我“照虎画猫”做了一个思维导图如下:

这里写图片描述

理论上Supervised Learning分支下的内容都可以放在其他Learning Map大类下。


1. Supervised Learning

所谓监督学习,就是我们告诉机器说,当这个function看到某种input则输出a,看到另一种input输出b,看到……

Supervised Learning-> Regression

Regresion: The output of the target founction f is ‘scalar’.
如果我们在机器学习中要找的function输出是数值,

举个例子: 预测PM2.5进行天气预报。

这里写图片描述

核心思想就是:连续函数下进行预测

Supervised Learning-> Classification

分类问题有两种可能,Binary Classification 输出是或否,Multi-class
Classification输出多个类型。

这里写图片描述

举个例子:

Binary Classification: Spam filtering(垃圾邮件过滤),判断是垃圾邮件,不是垃圾邮件。

Multi-classification: Document
Classification(文件分类),将文件分为政治、经济、体育等多个大类。


Classification-> Linear Model 与 Non-Linear Model

Linear Model : 能做的事有限,一些简单的模型可以用它来做,但遇到复杂问题就力不从心了。

Non-linear Model : For example,现在的深度学习就是一个Non-linear Model,能完成一些很复杂的工作,比如图像分类等。

  • Classification-Image Recognition:输入一个图片,通过一个很复杂的卷积神经网络(CNN)的Function判断是猫是狗还是猴子,每个可能的物种是class。

    这里写图片描述

  • Classification-Playing Go:输入棋盘上的局势,判断下一个落子的位置,每一个可能的落子位置就是一个class。

    这里写图片描述


Structuerd Learning

在实际运用中,常常会遇到Beyond
Classification的情况,比如语音识别,人脸识别,语言翻译等,是结构化输出。此类问题常配合Reinforcement
Learning 解决。

这里写图片描述


2. Semi-supervised Learning

example:要建立一个辨识猫与狗的系统,手上有一部分Labelled
data(已经标记好的猫狗图片),和一部分Unlabeled data(未做过标记的猫狗图片),那么Semi-supervised
Learning做的就是利用Unlabeled data优化function,也常用于数据不足时进行学习。


3. Transfer Learning

example:还是建立辨识猫与狗的系统,手上有一部分Labelled data(已经标记好的猫狗图片),和另一部分与猫狗没有关系的图片(比如狮子老虎,标未标记都可),那么Transfer
Learning就是利用这些data优化function。

这里写图片描述

4. Unsupervised Learning

example1: 要让机器学会阅读,希望机器自己在网络上爬去很多文章,自己理解其中的意思,进而取得人类的一些理解,掌握阅读的技巧,这就是非监督学习要做的。

我们知道,做machine
Learning就是要找一个function。比如在学会阅读这个系统里,我们给系统input一个“apple”词汇,然后让机器看懂。在Unsupervised
Learning 中没有人告诉机器每个词汇表示什么意思,只有大量text喂给机器。

这里写图片描述

example2:要让机器学会自主绘画,我们只给机器呈现显示世界中的景象并不做标识,机器要从中提炼绘画风格与内容,学会通过作画表达自己。

这里写图片描述

4. Reinforcement Learning

在实际运用中,以上方法并不能解决全部问题,常常会遇到Beyond
Classification的情况,比如语音识别,人脸识别,语言翻译等,那么就要通过增强学习来解决问题。

增强学习的一个非常知名的应用就是 google 阿法狗。


Reinforcement Learning VS Supervised

增强学习与监督学习有什么区别呢?
example1:用一个语音识别的例子来解释:

Supervised 就像给了机器一个点读机,他听到一句话时可以看到其含义,每一句话都有标签,就像有一个手把手教他的老师

而Reinforcement Learning
就像跟女朋友对话,反复讲来回讲很多句话,直到女朋友觉得你无言以对愤然离去,机器唯一可以知道的就是他做的好还是不好,除此之外没有任何information。而这更像人类现实生活中的学习过程,必须自己像哪里做得好做得不够好,怎么修正。

这里写图片描述

另一个例子,下围棋。

example2:

supervised: 给机器一堆棋谱,告诉机器,情况a则落子在“5-5”处,情况b则落子在……

Reinforcement Learning:
让机器自己下棋,下过几百手之后,机器只知道自己赢了还是输了,下的好还是不好,机器必须自己想办法做提高。

这里写图片描述

Alpha Go is supervised learning + reinforcement learning.


学习导图总结

有一个非常重要的信息是每一个框的颜色。

这里写图片描述


  • 蓝色部分代表scenario,意思是你现在有什么类型的 training data。
machine learningscenario
Supervised Learning有标签data
Semi-supervised Learning部分有标签data
Unsupervised Learning无标签data
Transfer Learning一堆不相干data
Reinforcement Learning只有来自外界的评价

  • 红色部分代表task,意思是现在function的output是什么,只体现在supervised中,但其实可以插在以上五种Learning的每一种内。
machine learningtask(output)
Regressionscalar
Classificationclass1、class2…之一
Structured Learning有结构的内容

  • 绿色部分代表Method方法模型,比如在Classification中有Linear模型 or Non-linear模型,我们可以将绿色部分插入任何红色部分中。

这篇关于[机器学习入门] 李宏毅机器学习笔记-1(Learning Map 课程导览图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/639268

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v

Golang中map缩容的实现

《Golang中map缩容的实现》本文主要介绍了Go语言中map的扩缩容机制,包括grow和hashGrow方法的处理,具有一定的参考价值,感兴趣的可以了解一下... 目录基本分析带来的隐患为什么不支持缩容基本分析在 Go 底层源码 src/runtime/map.go 中,扩缩容的处理方法是 grow

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添