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

目录

  • 一、概念:
    • 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.多特征预测单变量+非线性函数:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【关于深度学习的一些资料】

曾梦想执剑走天涯,我是程序猿【AK】 目录 动手学深度学习Awesome Deep LearningTensorFlow Official ModelsPyTorch Image ModelsDeep Reinforcement LearningNeural Style Transfer 动手学深度学习 动手学深度学习 https://zh.d2l.ai/chapter_installation/index.…

【嵌入式学习】QT-Day2-Qt基础

1> 思维导图 https://lingjun.life/wiki/EmbeddedNote/20QT 2>登录界面优化 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff…

【鼎捷数字化生意经】总说数字化转型?!怎么做才能带来远超你的想象的经济效益呢?他们来告诉你!

编者按: 转型一直在提,2018—2023年,实现数字化转型的企业仅占中国企业的10%,其中实现领军重塑的企业仅占2%。数据看起来并没有那么乐观! 新竞争格局下,企业需要直面挑战,定义新前沿&#xff0…

Stable Diffusion——常用插件安装与测试(一)

前言 随着Stable Diffusion不断演进,越来越多的开发者开始涉足插件开发。尽管网络上存在大量教程,但它们通常零散分布,逐个学习和查找非常耗时,使人感觉每天都在劳累思考。这里总结了Stable Diffusion常用的插件安装与测试方法。…

【管理咨询宝藏资料23】某资产管理公司薪酬体系设计报告

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏资料23】某资产管理公司薪酬体系设计报告 【格式】PDF版本 【关键词】薪酬设计、绩效优化、管理咨询 【文件核心观点】 - 为某集团设计合理的薪…

干货!这份伦敦银操指南请收好

伦敦银要操得好,投资者要有纯熟的看k线技巧,找到走势图中的支撑和主力地位是很重要的一环。通常当银价1小时、4小时、日线图出现比较大的阳线,那么大阳线的底部、顶部和中部,都是比较有效的支撑,当中又以日线尤为重要。…

Linux内核中并发与竞争的处理方法之原子操作

一. 简介 上一篇文章简单学习了Linux内核提供的原子操作。文章地址如下: Linux内核中并发与竞争的处理方法之原子操作简介-CSDN博客 本文继续学习Linux内核处理并发与竞争的处理方法之一:原子操作。Linux 内核提供了两组原子操作 API 函数&#xff0…

windows下采用 nginx配置websocket支持wss流程

第一步、安装OpenSSL (1)下载OpenSSL软件包 地址:https://slproweb.com/products/Win32OpenSSL.html OpenSSL版本说明: Win64 OpenSSL v1.1.1wLight,安装Win64 OpenSSL v1.1.1w最常用的软件包 Win64 OpenSSL v1.1…

C#_索引器

索引器的作用:令对象可像数组一般被索引 索引器 internal class TestClass {public int[] arr { 1, 2, 3, 4, 5 };public string this[int index] // 前者为返回类型,后者为索引类型// 返回类型代表get函数的返回值类型、set函数的value类型&#xff0…

【深度学习:TACO 数据集】探索 TACO 数据集【模型训练】

【深度学习:TACO 数据集】探索 TACO 数据集【模型训练】 介绍为什么选择以数据为中心的人工智能?上次我们学到了什么?问题关于数据集方法 什么是“对象注释质量”指标?第一次迭代:修复标签错误分析重新贴标签模型再训练…

c++的一些陌生用法记录

c的一些陌生用法记录 1. 完美转发std::forward<decltype(PH1)>(PH1)static的用法 1. 完美转发std::forward<decltype(PH1)>(PH1) static的用法 static函数与普通函数的区别&#xff1a; 用static修饰的函数&#xff0c;本限定在本源码文件中&#xff0c;不能被本源…

MyBatisPlus:PG数组类型自动映射问题

引言: PostGreSQL数据库提供了丰富的数据类型,通过查看官网文档,我们也可以发现,PG也提供了对数组类型的支持。 但是在实际开发中,我们通常是使用MyBatis/MyBatisPlus这种半自动ORM映射框架来实现数据库/表数据基本的增删改查,以及其它操作。那么,问题来了,如何…

大蟒蛇(Python)笔记(总结,摘要,概括)——第10章 文件和异常

目录 10.1 读取文件 10.1.1 读取文件的全部内容 10.1.2 相对文件路径和绝对文件路径 10.1.3 访问文件中的各行 10.1.4 使用文件的内容 10.1.5 包含100万位的大型文件 10.1.6 圆周率中包含你的生日吗 10.2 写入文件 10.2.1 写入一行 10.2.2 写入多行 10.3 异常 10.3.1 处理Ze…

二进制搭建 Kubernetes

实验流程 k8s集群master01&#xff1a;192.168.75.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.80.20 k8s集群node01&#xff1a;192.168.75.20 kubelet kube-proxy docker k8s集群node02&#xff1a;192.168.…

【Flink经济】Flink 内存管理

面临的问题 目前&#xff0c; 大数据计算引擎主要用 Java 或是基于 JVM 的编程语言实现的&#xff0c;例如 Apache Hadoop、 Apache Spark、 Apache Drill、 Apache Flink 等。 Java 语言的好处在于程序员不需要太关注底层内存资源的管理&#xff0c;但同样会面临一个问题&…

动态规划--线性DP最长上升子序列及其二分优化

1、B站视频链接&#xff1a;E03 线性DP 最长上升子序列_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; int n9; int a[101]{0,5,7,1,9,4,6,2,8,3}; int f[101]; //f[i]表示以a[i]为结尾的 //最长上升子序列的长度 int main(){int i,j,ans1;for(int i1…

Spring学习笔记(五)--Spring的AOP模块

一、AOP的底层原理 AOP的底层原理是动态代理&#xff0c;动态代理有两种方式&#xff1a;JDK动态代理和CGLib动态代理&#xff0c;在有接口的实现类时我们通常用JDK的动态代理方式&#xff08;默认情况&#xff09;为类创建代理对象&#xff0c;JDK的动态代理方式可以实现无入…

智慧建工的魔法:数据可视化的引领之光

在智慧建工的时代&#xff0c;数据可视化成为推动建筑行业进步的强大引擎&#xff0c;其作用不可忽视。通过将复杂的建筑数据以直观、清晰的图形展示出来&#xff0c;数据可视化为建筑工程提供了前所未有的便利和创新。 首先&#xff0c;数据可视化在建筑规划和设计阶段发挥关键…

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

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

基于springboot+vue的B2B平台的医疗病历交互系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…