(P0-1笔记)机器学习简介——机器学习:李宏毅

本文深入浅出地介绍了机器学习的基本概念,包括监督学习、非监督学习、深度学习等多种学习方式,探讨了不同场景下的任务类型如回归、分类,并概述了模型选择、训练数据的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是机器学习?

  • 写程序让Machine(机器)有学习的能力

    在这里插入图片描述

    • 给一段声音告诉他意思,下次再给他就能识别
  • 实际机器学习就是在寻找一个Function函数

    • 就是根据我们提供的资料去寻找我们想要的Function
  • 比如语音识别

    • 输入函数Function是一段声音,输出就是这段语音说的意思
      在这里插入图片描述
  • 比如图像识别

    • 输入一张图片。识别图片的东西
      在这里插入图片描述
  • 等等

在这里插入图片描述

  • Framework:框架(一个Function库,也就是一个Model)

    • 需要一个Function Set 一组函数

    • 这个function set里有很多function,你输入一张猫的图片,他就能输出猫

    • 这个Function库就是一个Model模型

    • 然后有了Model就需要进行训练数据Tranining Data

    • 训练之后,我们输入一个function,不管是图片还是语音,他就能输出指定的结果。

    • 然后他就可以根据你的输入,来判断一个function是好的还是不好的

    在这里插入图片描述

    • 我们通过Goodness of function f (函数优度)来从functionset里面挑出最好的function,写作f*
      在这里插入图片描述
    • 左边Tranining是学习部分,Testing是应用部分
  • 由此可以将整个机器学习可以分成的步骤

    • 第一步就是定一个Function Set(一大组函数模型)
    • 第二步就是让机器可以衡量一个Function的好坏
    • 第三步就是可以让机器有一个好的演算法,挑出最好的function
      在这里插入图片描述
    • 就好像把大象放进冰箱
      在这里插入图片描述

在此门课可以学习到的机器学习技术

学习框架图

  • 监督学习supervised learning
    回归Regression(线性模型)
    深度学习Deep learning(决策树、SVM、神经网络等非线性模型)
    结构化学习Structured learning

  • 半监督学习semi-supervised learning

  • 无监督学习unsupervised learning

  • 迁移学习transfer learning

  • 强化学习reinforcement learning
    在这里插入图片描述
    在这里插入图片描述

  • 左上角开始Regression(回归)

    • 他是机器学习的一种任务
    • 比如让机器找出来的function是一个scalar数值
    • 比如让你预测明天的PM2.5,那么他输出的就一定是明天的PM2.5的数值,那怎么才能让他输出明天PM2.5的值呢?我们必须给他一些资讯他才能猜出,比如今天上午的PM2.5,昨天上午的PM2.5等等,他才能预测出明天的PM2.5。所以我们必须准备一些训练资料给他(Training Data)
      在这里插入图片描述
    • 你输入一定的训练数据,他才能得出最终你想要的结果
  • Classification(分类)

    • 这里专注的是我们要机器输出的东西的类型是不一样的
    • 有二元分类,另外就是多层次分类(选择分类)
    • 二元分类就是输出yes或者no多层次分类就是选择输出一个类别,在不同的类别里面选择一个正确的类别输出
      在这里插入图片描述
    • 二元分类典型例子就是垃圾邮件的分类,会自动过滤掉垃圾邮件保存到垃圾邮箱里
      • 其实我们就只需要一个function,这个function的输入就是邮件,输出就是yes/no(是否是垃圾邮件),我要训练这样的function,怎么做?其实只需要给他一大堆的数据(Training Data),训练他,比如数据中有邮件是垃圾邮件,我们就要告诉他,这就是垃圾邮件。你教他如何判别,训练,就可以进行分类
        在这里插入图片描述
    • 多层次分类举例:文档分类
      • 比如将新闻进行自动分类,怎么做?
      • 只需要把一个function的输入是一则新闻,他的输出就是这则新闻属于哪一个类别,每一个类别就是一个选项,政治、经济、体育都是一个选项。我们要做的事情就是解这个选择题。
      • 我们就需要准备很多训练资料,告诉他说比如这篇文章是体育类,那篇文章是政治类。训练完后,然后当我们输入新的文章,他就可以输出正确的类别
  • 上面讲的都是我们让机器解的Task任务

  • 接下来要讲的就是在解任务的过程中,第一步就是要选一个function set,选不同的function set就会得到不同的结果,选不同的function set就是选不同的model,model有很多种,最简单的就是Linear Model(线性模型),我们会花很多时间在**Non-linear Model(非线性模型)**上,在非线性模型里面,最常见的就是Deep Learning(深度学习),在我们深度学习中,我们的function是特别复杂的,阿尔法狗下围棋用得就是深度学习,他输入的是棋盘,输出的就是下一步落棋子的位置。当然除了深度学习,我们还要学习SVM。
    在这里插入图片描述
    在这里插入图片描述

  • 那刚刚讲的都是Supervised Learning(监督式学习),他的问题就是我们需要大量的Training Data训练数据。我们要找的Data中,我们要确认Input/Output间的关系,function的output输出我们一般都叫做label。

    也就是说,我们要机器在Supervised Learning(监督学习)的场景下学习,我们需要告诉机器Function的Input和output是什么而output没有办法用很自然的方式取得,我们必须要凭着人工的力量标注出来function的output叫做labe,我们大量的需要这个label。那有没有办法来减少我们需要的量呢?有的比如另外一个场景(Semi-supervised Learning半监督式学习

  • Semi-supervised Learning(半监督式学习)

    • 举例来说,你现在想让机器鉴别猫和狗的不同,做一个分类器,输入一张图他来鉴别是猫还是狗,你有少量的猫和狗的label(function的output)的Data数据,但是同时又有大量的UnlabeledData(在这是一大堆猫和狗的图片),但是你没办法去告诉机器那些事猫哪些是狗。但他们对学习也是有帮助的。
    • 另外一个减少Data用量的方向就是Transfer Learning(转移学习)
    • 意思是说,假设让我们做猫和狗的分类问题,我们也只要有少量的有label的data, 但我这有一大堆的Data(在这是一堆不相干的图片),他到底能带来怎么样的功能,这就是Transfer Learning要讲的问题
  • 更进阶的就是Unsupervised Learning(无监督式学习)

    • 给机器看大量的东西,让机器能自己学会,比如词汇,让他看大量的词汇,然后我输入一个词汇他自己就能识别
  • Structured Learning

  • Reinforcement Learning

  • 在这里插入图片描述
    在这里插入图片描述

  • 不同的scenario场景由你手上的Data来决定你的scenario场景,红色task任务代表你要解决的问题,你要解得这个问题随着你要找的function的output不同Regression回归,有Classification分类,有Structured Learning结构化学习,所以在不同的场景下,都有可能要解这些task任务,在每个场景下都需要解。而在这些task里都有不同的model不同的方法,用绿色来表示,意思是说同样的task可以用不同的方法来解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值