机器学习基本概念(李宏毅课程)

目录

  • 一、概念:
    • 1、机器学习概念:
    • 2、深度学习概念:
  • 二、深度学习中f(.)的输入和输出:
    • 1、输入:
    • 2、输出:
  • 三、三种机器学习任务:
    • 1、Regression回归任务介绍:
    • 2、Classification分类任务介绍:
    • 3、Structured Learning创造性学习:
  • 四、机器学习步骤(模型训练阶段):
    • 第一步:定义一个含有未知参数的函数(以线性函数为例):
    • 第二步: 定义损失函数:
    • 第三步: 寻找最优的w、b使得Loss最小:
      • 1.梯度下降:
  • 五、线性函数和复杂函数:
    • 1、线性函数定义:
    • 2、非线性函数定义:
    • 3、如何表示出Hard Sigmoid函数:
    • 4、对(四)中案例的深入理解(以非线性函数为例):
    • 5.多特征预测单变量+非线性函数:

一、概念:

1、机器学习概念:

机器学习 ≈ 训练生成一个函数f(.) ,这个函数相当复杂。

例如:

在这里插入图片描述

2、深度学习概念:

机器学习的目的是寻找一个满足需求的函数f(.),但是具体使用什么方式寻找f(.)没有说明。

深度学习为机器学习领域的一个子领域,故深度学习给出了寻找函数的方法,即通过“神经网络”来训练生成一个函数f(.) 。

例如:
在这里插入图片描述

二、深度学习中f(.)的输入和输出:

1、输入:

函数f(.)的输入可以是向量、矩阵、序列,根据不同场景使用不同的输入。

  • 向量
  • 矩阵:图像识别领域,一张图片可以转换成矩阵表示
  • 序列:序列预测、语音辨识、文字翻译领域输入可以转换成序列表示

在这里插入图片描述

2、输出:

根据不同任务需求f(.)的输出不同。

  • 数值
  • 类别:分类任务
  • 句子、图片:翻译任务、图片生成
    在这里插入图片描述

三、三种机器学习任务:

1、Regression回归任务介绍:

函数输入:过往PM2.5数据以及影响PM2.5的特征值
函数输出:预测未来PM2.5的值
在这里插入图片描述

2、Classification分类任务介绍:

函数输入:棋盘中黑子白子位置
函数输出:从19*19个选项中选择下一个落子位置
在这里插入图片描述

3、Structured Learning创造性学习:

函数输出:图片、文档等有结构的文件

四、机器学习步骤(模型训练阶段):

这里以回归任务为例:目标是根据2/25日浏览量数据预测2/26日浏览量数据。

第一步:定义一个含有未知参数的函数(以线性函数为例):

在这里插入图片描述
以最简单的线性回归函数y=b+Wx为例(当然机器学习的函数基本上不会这么简单):

  • 函数y=b+Wx即为平时称呼的模型
  • x为函数输入,输入的是2/25日浏览量数据
  • y为函数输出,输出的是未来2/26日浏览量数据
  • w和b都是超参数,初始为位置数,在模型训练过程中不断更新参数使得函数的输出值不断精确(模型训练阶段的最终目的是:训练集训练+验证集预测过程不断更新w和b),力图训练一个预测效果最优的模型
  • 其中w为x的权重,b为偏置值

第二步: 定义损失函数:

在这里插入图片描述
损失函数L(b,w)是一个已写好的函数,用于模型训练阶段每次更新超参数w和b时都会在验证集上使用该组w和b计算预测值,然后比较预测值和真实值的差异(损失),从而衡量本组训练得到的超参数w和b是否能使得模型预测效果最优。

  • 损失函数的输入为超参数b和w
  • Loss越大,即表示当前的一组b和w越差,Loss越小,即表示当前的一组b和w越优秀。

第三步: 寻找最优的w、b使得Loss最小:

1.梯度下降:

使用梯度下降法不断更新w和b,使得每次获得一组新的w和b(wn和bn)。

不断执行第二步和第三步使得获得最优的w和b(w和b)。
在这里插入图片描述

  • 其中η为学习率,用来控制梯度下降的快慢程度,也是一个超参数。

五、线性函数和复杂函数:

1、线性函数定义:

在这里插入图片描述

同(五),以最简单的线性回归函数y=b+Wx为例(当然机器学习的函数基本上不会这么简单):

  • x为函数输入,输入的是2/25日浏览量数据
  • y为函数输出,输出的是未来2/26日浏览量数据
  • w和b都是超参数,初始为位置数,在模型训练过程中不断更新参数使得函数的输出值不断精确(模型训练阶段的最终目的是:训练集训练+验证集预测过程不断更新w和b),力图训练一个预测效果最优的模型
  • 其中w为x的权重,b为偏置值

2、非线性函数定义:

线性函数y=wx+b不管超参数w和b如何变化,函数始终是一条直线,所以线性函数在处理具有复杂关系的xy时不适用。

  • 对于复杂函数,我们可以用简单的蓝色函数(Hard Sigmoid函数)叠加的方式来获得一个复杂函数,如下图所示:
    在这里插入图片描述
  • 对于曲线函数,我们可以对曲线每段取微分,每个微元看做是一个蓝色函数(Hard Sigmoid函数),无数个蓝色函数叠加也可以获得任意的曲线函数。
    在这里插入图片描述

3、如何表示出Hard Sigmoid函数:

各种曲线都可以通过蓝色函数(Hard Sigmoid)的叠加来表示,那么Hard Sigmoid函数又要如何表示?
在这里插入图片描述
有一种函数叫做sigmoid函数,该函数可以逼近任何的hard sigmoid函数,所以一般使用sigmoid函数来表示hard sigmoid函数。

从sigmoid函数的公式可以看出:

  • 通过改变w可以改变函数的斜率
  • 通过改变v可以改变函数的位置
  • 通过改变c可以改变函数的高度
    在这里插入图片描述
    因此,通过不同的sigmoid函数叠加我们可以获得任意的函数曲线。

4、对(四)中案例的深入理解(以非线性函数为例):

(四)中我们以线性函数y=wx+b为例,假设x和y是线性关系。其中x输入为2/25日浏览量数据,y输出为2/26日浏览量数据。而在现实中x和y不可能是简单的线性关系,那么函数应该如何表示?当然是使用我们的sigmoid函数:
在这里插入图片描述
进一步设想,案例中我们用2/25日浏览量数据预测2/26日浏览量数据,属于单特征,此时仅有一个输入x和一个输出y,如果我们输入数据为多特征,即要用2/01~2/25这25天的浏览量预测2/26日浏览量数据,函数应如何表示?很简单,数据中有25个特征,每个特征xi与y之间都有一个权重值wi, 因此多特征预测单变量的线性函数关系和非线性函数关系表示如下:
在这里插入图片描述

5.多特征预测单变量+非线性函数:

下面我们举个例子来深度理解多特征预测单变量+非线性函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/483375.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线性代数:向量空间

目录 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2

B端系统:工作台页面,如何从平庸走向出众

Hi,大家好,我是贝格前端工场,从事8年前端开发的老司机。大家看过很多平庸的工作台页面,但是仔细分析过平庸的表现吗,仔细思考过如何实现出众的效果吗?这篇文章为你解读。 一、工作台页面是什么,…

jpg图片太大怎么压缩?3种压缩方法,一学就会

jpg图片太大怎么压缩?在日常生活和工作中,JPG图片过大不仅会导致存储空间的迅速消耗,还影响网络传输的速度,甚至在某些情况下,过大的图片文件还可能造成应用程序运行缓慢或崩溃,严重影响工作效率。因此&…

设计模式四:适配器模式

1、适配器模式的理解 适配器模式可以理解为有两个现成的类Adaptee和Target,它们两个是不能动的,要求必须使用B这个类来实现一个功能,但是A的内容是能复用的,这个时候我们需要编写一个转换器 适配器模式 Adaptee:被适…

猫头虎分享:什么是Web3撸毛?

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

基于SpringBoot + Layui的社区物业管理系统

项目介绍 社区物业管理系统是基于java编程语言,springboot框架,idea工具,mysql数据库进行开发,本系统分为业主和管理员两个角色,业主可以登陆系统,查看车位费用信息,查看物业费用信息&#xff0…

顺序表详解(如何实现顺序表)

文章目录 前言 在进入顺序表前,我们先要明白,数据结构的基本概念。 一、数据结构的基本概念 1.1什么是数据结构 数据结构是由“数据”和“结构”两词组合而来。所谓数据就是?常见的数值1、2、3、4.....、姓名、性别、年龄,等。…

django rest framework 学习笔记-实战商城

01项目环境搭建_哔哩哔哩_bilibili 本博客借鉴至大佬的视频学习笔记 # 创建项目 django-admin startproject MyShop# 创建app E:\desktop\my_drf\MyShop>django-admin startapp goodsE:\desktop\my_drf\MyShop>django-admin startapp orderE:\desktop\my_drf\MyShop>…

写给正在迷茫的你:4年程序员职业生涯感悟

前言 最近有许多小伙伴找我来咨询Python,我来讲几个极其重要,但是大多数Python小白都在一直犯的思维错误吧!如果你能早点了解清楚这些,会改变你的编程学习生涯的。小编这一期专门总结了大家问的最多的,关于学习Python…

负载均衡.

简介: 将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。 负载均衡的分类: 网络通信分类 四层负载均衡:基于 IP 地址和端口进行请求的转发。七层负载均衡:根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。 载体维度分类 硬…

Github代码仓库SSH配置流程

作者: Herman Ye Auromix 测试环境: Ubuntu20.04 更新日期: 2024/02/21 注1: Auromix 是一个机器人爱好者开源组织。 注2: 由于笔者水平有限,以下内容可能存在事实性错误。 相关背景 在为Github代码仓库配…

Tomcat线程池原理(上篇:初始化原理)

文章目录 前言正文一、从启动脚本开始分析二、ProtocolHandler 的启动原理三、AbstractEndPoint 的启动原理四、创建默认线程池五、参数配置原理5.1 常规的参数配置5.2 自定义线程池5.3 测试自定义线程 前言 在Java Web的开发过程中,Tomcat常用的web容器。SpringBo…