当前位置: 首页 > news >正文

【台大李宏毅|ML】课程介绍

台大李宏毅老师机器学习公开课


本节知识点较少,自己记录留作自用,读者可以跳过。

官网给出的一张学习路线图,大概阐明了重要的知识点和学习过程,也罗列了课程布置的若干任务、
本节课梳理课程的大纲也是依赖于这张路线图来进行的。
在这里插入图片描述
图源网站李宏毅机器学习公开课

#1 机器学习↔机器自动寻找函数

  1. 智能系统↔函数

为了便于我们对机器学习快速建立一个了解,所谓机器学习的智能系统,可以看成是我们给定一种形式的输入,让机器反馈给我们相应的一个输出。
在这里插入图片描述

  1. 函数的类型

在我们学习如何让机器帮忙找到一个合适的函数之前,首先要先弄清楚,我们需要一个怎样的函数,即函数的类型。

①回归任务(regression)
当我们期望得到的结果是一个数值类型的时候,我们所进行的任务就叫做数值回归。

p.s. 这里是李老师主要是对概念进行一个简化描述,回归的严谨定义并不是这样。

②分类任务
当我们期望机器对于给定的类标进行一个选择的时候,我们就是在对数据或者事务进行一个分类。

根据类标的个数,分类任务可以分成是二分类(binary)或者是多分类(multiple-class)。

③产生任务
在这里插入图片描述

根据给定的一些数据集,我们希望产生一些更为复杂的输出,这个时候可以把这个机器学习任务统称为产生任务。

  1. 怎样告诉机器我们需要什么类型的函数呢?

①有监督学习(supervised learning)

所谓监督学习就是要同时告诉机器数据以及数据相应的标签,人工定义一个模型的损失函数作为评价标准,使用某种算法,让机器找出损失函数值(loss)最低的模型。
在这里插入图片描述

还有一个近几年来新兴的学习概念【强化学习】(reinforcement learning),现将其和监督学习进行一个比较:
在这里插入图片描述
【监督学习】:拿下围棋这件事为例,如果要用监督学习的模式来训练机器下围棋,则需要将棋盘上可能出现的每一种棋局情况以及相应的最优步骤都告诉机器,来进行训练。

【强化学习】:但是用强化学习的观念来训练机器下围棋的时候,就只需要给定初始的棋局,让机器自己和自己(或者和人)进行对决,利用得到的结果(reward)来矫正学习过程,进行闭环控制。

②无监督学习(unsupervised learning)

仅仅给机器一堆数据,但是不给定任何标记,使用相应的算法,也能让机器进行学习。


#2 前沿研究

  1. Explainable AI

以图像识别任务为例,机器不仅要告诉人类这张图片里有什么物体,还需要说明它判断此的理由是什么。

在这里插入图片描述
2. Adversarial Attack

为了应对有些不法分子专门针对机器特定的算法设计有些具有强误导性的噪声信号,从而使得算法崩溃的情况。

在这里插入图片描述
3. Network Compression

如何将数据集进行压缩,从而使得算法可运行。

  1. Anomaly Detection

异常检测是一个让机器知道“自己并不知道”这样的一个哲学问题。

拿图像识别系统为例,当一个识别动物的图像系统突然传入了动漫卡通人物,我们期望的结果并非系统根据像素点的特点强行把这张图片划分到某一个特定的动物类别;而是机器可以向人类反馈出它无法处理这类分类任务的信息。

在这里插入图片描述

  1. Transfer Learning

通常意义上我们对模型进行训练时,会将数据划分成训练集、测试集、验证集等,但是这些集合上的数据具有较为相同的形式和特点。

但是在实际应用中,我们用来训练的数据,和用来测试的客户数据往往会存在很多偏差,导致模型的正确率会骤降。

在这里插入图片描述

  1. Meta Learning

又涉及到一个哲学问题:
所谓机器学习是让机器具有学习的能力;
而meta learning就是让机器通过这个程序来学习如何学习。

在这里插入图片描述

meta learning提出来的意义就在于,我们希望通过机器自主学习来找到一个更为高效的算法。虽然,现在很多机器学习的算法和模型的落地产品看起来效果不错,那是得利于机器强大的计算能力,但其实机器使用的学习算法效率并不能算最优。
在这里插入图片描述


后记

本文系观看B站公开课视频所作,原视频链接见下:
https://www.bilibili.com/video/BV1JE411g7XF

相关文章:

  • 【MIT算法导论】渐进符号、递归与解法
  • 【CMU|深入理解计算机系统】Bits,Bytes and Integers
  • 【矩阵论】线性空间与线性变换(1)
  • 【台大李宏毅|ML】Regression
  • 【矩阵论】线性空间与线性变换(2)
  • 归并排序算法的实现与分析
  • 【MIT算法导论】分治法
  • 【矩阵论】线性空间与线性变换(3)(4)
  • 【矩阵论】线性空间与线性变换(5)
  • 【2/3/4-sum问题】算法设计剖析
  • 【矩阵论】线性空间与线性变换(6)
  • 【矩阵论】内积空间与等距变换(1)
  • TOP K问题的算法分析与实现
  • 【矩阵论】内积空间与等距变换(2)
  • 【矩阵论】矩阵的相似标准型(1)
  • canvas 绘制双线技巧
  • es的写入过程
  • Java程序员幽默爆笑锦集
  • Just for fun——迅速写完快速排序
  • Linux gpio口使用方法
  • Sass Day-01
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Spark RDD学习: aggregate函数
  • Spring Boot快速入门(一):Hello Spring Boot
  • vue自定义指令实现v-tap插件
  • 从伪并行的 Python 多线程说起
  • 关于for循环的简单归纳
  • 每天10道Java面试题,跟我走,offer有!
  • 前端路由实现-history
  • 使用 Docker 部署 Spring Boot项目
  • 数组大概知多少
  • 携程小程序初体验
  • 写给高年级小学生看的《Bash 指南》
  • 异常机制详解
  • 1.Ext JS 建立web开发工程
  • ​卜东波研究员:高观点下的少儿计算思维
  • #1014 : Trie树
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)二分查找 超详细
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (六)Hibernate的二级缓存
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)c++ std::pair 与 std::make
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .chm格式文件如何阅读
  • .net core 6 集成和使用 mongodb
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Framework .NET Core与 .NET 的区别
  • .NET 服务 ServiceController
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET使用存储过程实现对数据库的增删改查