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

目录

  • 一、概念:
    • 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.mzph.cn/news/695186.shtml

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

相关文章

计算以10为底的对数 math.log10(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算以10为底的对数 math.log10(x) [太阳]选择题 以下代码的输出结果中正确的是? import math print("【执行】math.log10(10)") print(math.log10(10)) print("【执行】math…

【elasticsearch实战】知识库文件系统检索工具FSCrawler

需求背景 最近有一个需求需要建设一个知识库文档检索系统,这些知识库物料附件的文档居多,有较多文档格式如:PDF, Open Office, MS Office等,需要将这些格式的文件转化成文本格式,写入elasticsearch 的全文检索索引&am…

进度条小程序

文章目录 铺垫回车换行缓冲区概述强制冲刷缓冲区 简单实现倒计时功能进度条小程序版本一实例代码效果展示分析 版本二 铺垫 回车换行 回车和换行是两个独立的动作 回车是将光标移动到当前行的最开始(最左侧) 换行是竖直向下平移一行 在C语言中&…

怿星科技测试实验室(EPT LABS)服务介绍

据中国汽车工业协会数据,2023年我国汽车产销量分别达3016.1万辆和3009.4万辆,年产销量双双创历史新高,汽车行业进入了新时代。新汽车时代下的OEM竞争更激烈,汽车电子架构更复杂,研发周期更短,软件迭代更快&…

VSCODE中使用Django处理后端data和data models

链接: Python and Django tutorial in Visual Studio Code MVC的理解 在实际的程序中采用MVC的方式进行任务拆分。 Model(模型)负责封装应用程序的数据和业务逻辑部分。Model包含数据结构,数据处理逻辑以及相关的操作方法&#…

NetSuite 中Inventory Adjustment批次物料CSV导入分析二

上一篇最后我们有一个遗留问题是说,调增和调减的操作是否能在一个CSV导入模版中进行操作,经过测试后发现,是可以的,只是External ID需要在设置的时候注意对应好就OK。这里建议大家先查看上一篇文章,因为有一些完全重复…

Day14-Linux系统基础权限知识精讲

Day14-Linux系统基础权限知识精讲 1. chattr2. Linux系统权限。2.1 基础权限介绍2.2 画图讲解2.3 文件和目录权限细节总结2.4 建环境测试2.5 数字权限设置2.6 字符权限设置 给文件加特殊属性,实现特殊功能的命令。 1. chattr a 只能追加内容,不能删除。…

UE蓝图 入口(FunctionEntry)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 文章目录 系列文章目录一、FunctionEntry节点功能二、入口节点用法1. 创建函数2. 命名函数3. 定义参数4. 编写函数逻辑5…

Git合并固定分支的某一部分至当前分支

在 Git 中,通常使用 git merge 命令来将一个分支的更改合并到另一个分支。如果你只想合并某个分支的一部分代码,可以使用以下两种方法: 1.批量文件合并 1.1.创建并切换到一个新的临时分支 首先,从要合并的源分支(即要…

C++面向对象程序设计-北京大学-郭炜【课程笔记(四)】

C面向对象程序设计-北京大学-郭炜【课程笔记(四)】 1、this指针1.1、this指针的作用1.2、this指针和静态成员函数 2、静态成员变量和静态成员函数2.1、基本概念2.2、基本概念总结2.3、如何访问静态成员2.4、静态成员变量的使用场景(重要&…

浏览器---浏览器/http相关面试题

1.localStorage和sessionStorage 共同点:二者都是以key-value的键值对方式存储在浏览器端,大小大概在5M。 区别: (1)数据有效期不同:sessionStorage仅在当前浏览器窗口关闭之前有效;localStorag…

Eigen:Vector3d 变量初始化遇到的问题

Eigen:Vector3d 变量初始化遇到的问题 2024.2.22 日 ,在使用 Eigen:Vector3d 这个类型的 变量,在类中进行初始化时 遇到了如下问题: 首先在类的声明内部,是不能声明完,再给变量赋值的,不管是 Eigen:Vector…

【 Flutter】安装、运行坑记录

运行demo报错 Exception in thread “main” java.net.ConnectException: Connection timed out: connect原因:网络问题,gradle包未能下载 解决方案:配置android studio代理,重新打开项目,as会自动下载缺失依赖

(done) 如何判断一个矩阵是否可逆?

参考视频:https://www.bilibili.com/video/BV15H4y1y737/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 这个视频里还暗含了一些引理 1.若 AX XB 且 X 和 A,B 同阶可逆,那么 A 和 B 相似。原因&#xff1…

安卓开发:挑战每天发布一个封装类02--Wav录音封装类AudioChannel 1.0

简介 库名称:AudioChannel 版本:1.0 由于项目需求录音并base64编码存到服务器中,就顺手改装了一个别人的封装类 原封装类地址:Android AudioRecord音频录制wav文件输出 - 简书 (jianshu.com) 描述:此封装类基于AudioRecord实现wav的音频…

WEB相关工具(wget、curl、ab)

目录 一、wget 1、wget基本语法 2、wget帮助的更多选项 二、curl 1、curl基本语法 2、curl命令下载 3、curl命令基本用法 3.1 curl伪装 3.2 提取状态码 3.3 提取本地IP地址 3.4 提取远端服务器IP地址 3.5 提取本地端口 3.6 提取远端服务器端口 三、压力测试工具…

Unity xLua开发环境搭建与基础进阶

Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。在本文中,我们将介绍如何搭建Unity xLua开发环境,并进行基础进阶的学习。 环境搭建 首先,我们需…

高维数据的中介效应【中介分析】《R包:HIMA》

允许基于高级中介筛选和惩罚回归技术来估计和测试高维中介效应 Hima包浏览 高维中介示意图 图1. 在暴露和结果之间有高维中介的情况 本包的作用 在确定独立筛选和极小极大凹惩罚技术的基础上,采用联合显著性检验方法对调解效果进行检验。使用蒙特卡罗模拟研究来展…

Python爬虫实战入门:爬取360模拟翻译(仅实验)

文章目录 需求所需第三方库requests 实战教程打开网站抓包添加请求头等信息发送请求,解析数据修改翻译内容以及实现中英互译 完整代码 需求 目标网站:https://fanyi.so.com/# 要求:爬取360翻译数据包,实现翻译功能 所需第三方库 …

2024什么样的大路灯比较好?5大爆款落地灯推荐必看!

大路灯作为一个可以照明,让室内环境光线更加舒适的电器,能够减少用眼时不良光线带来的疲劳感,营造接近自然光的舒适光,受到很多家长的关注! 但现在市面有很多不良商家推出的大路灯虚标参数,实际护眼性能很低…