【深度学习】机器学习概述(一)机器学习三要素——模型、学习准则、优化算法


文章目录

  • 一、基本概念
  • 二、机器学习的三要素
    • 1. 模型
      • a. 线性模型
      • b. 非线性模型
    • 2. 学习准则
      • ==a. 损失函数==
        • 1. 0-1损失函数
        • 2. 平方损失函数(回归问题)
        • 3. 交叉熵损失函数(Cross-Entropy Loss)
        • 4. Hinge 损失函数
      • b. 风险最小化准则
        • 1. 经验风险最小化
        • 2. 过拟合问题
        • 3. 结构风险最小化
        • 4. 正则化项的选择
        • 5. 欠拟合
    • 3. 优化
      • 机器学习问题转化成为一个最优化问题
      • a. 参数与超参数
      • b. 优化算法
      • 机器学习 = 优化?

一、基本概念

  机器学习:通过算法使得机器能从大量数据中学习规律从而对新的样本做决策
在这里插入图片描述

二、机器学习的三要素

  机器学习是从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。
  机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法

1. 模型

a. 线性模型

  线性模型是一类简单但广泛应用的模型,其假设空间为一个参数化的线性函数族。对于分类问题,一般使用广义线性函数,其表达式为:
f ( x ; θ ) = w T x + b f(\mathbf{x}; \boldsymbol{\theta}) = \mathbf{w}^T \mathbf{x} + b f(x;θ)=wTx+b

其中,参数 θ \boldsymbol{\theta} θ 包含了权重向量 w \mathbf{w} w 和偏置 b b b。在这个模型中,输入特征 x \mathbf{x} x 和权重向量 w \mathbf{w} w 的线性组合用于产生输出。这是一个简单而有效的模型,特别适用于问题的线性关系。

b. 非线性模型

  广义的非线性模型可以写为多个非线性基函数 ϕ ( x ) \boldsymbol{\phi}(\mathbf{x}) ϕ(x) 的线性组合: f ( x ; θ ) = w T ϕ ( x ) + b f(\mathbf{x}; \boldsymbol{\theta}) = \mathbf{w}^T \boldsymbol{\phi}(\mathbf{x}) + b f(x;θ)=wTϕ(x)+b其中, ϕ ( x ) = [ ϕ 1 ( x ) , ϕ 2 ( x ) , … , ϕ K ( x ) ] T \boldsymbol{\phi}(\mathbf{x}) = [\phi_1(\mathbf{x}), \phi_2(\mathbf{x}), \ldots, \phi_K(\mathbf{x})]^T ϕ(x)=[ϕ1(x),ϕ2(x),,ϕK(x)]T 是由 K K K 个非线性基函数组成的向量,参数 θ \boldsymbol{\theta} θ 包含了权重向量 w \mathbf{w} w 和偏置 b b b

  如果 ϕ ( x ) \boldsymbol{\phi}(\mathbf{x}) ϕ(x) 本身是可学习的基函数,例如:

ϕ k ( x ) = h ( w k T ϕ ′ ( x ) + b k ) \phi_k(\mathbf{x}) = h(\mathbf{w}_k^T \boldsymbol{\phi}'(\mathbf{x}) + b_k) ϕk(x)=h(wkTϕ(x)+bk)其中, h ( ⋅ ) h(\cdot) h() 是非线性函数, ϕ ′ ( x ) \boldsymbol{\phi}'(\mathbf{x}) ϕ(x) 是另一组基函数, w k \mathbf{w}_k wk b k b_k bk 是可学习的参数,那么模型 f ( x ; θ ) f(\mathbf{x}; \boldsymbol{\theta}) f(x;θ) 就等价于神经网络模型。

  这种非线性模型通过引入非线性基函数 ϕ ( x ) \boldsymbol{\phi}(\mathbf{x}) ϕ(x) 能够更灵活地适应数据中的复杂关系,使得模型能够捕捉到更丰富的特征信息。神经网络是非线性模型的一种重要实现方式

2. 学习准则

a. 损失函数

1. 0-1损失函数

  0-1 损失函数是最直观的损失函数,用于衡量模型在训练集上的错误率。定义为:

L ( y , f ( x ; θ ) ) = { 0 if  y = f ( x ; θ ) 1 if  y ≠ f ( x ; θ ) \mathcal{L}(y, f(\mathbf{x}; \boldsymbol{\theta})) = \begin{cases} 0 & \text{if } y = f(\mathbf{x}; \boldsymbol{\theta}) \\ 1 & \text{if } y \neq f(\mathbf{x}; \boldsymbol{\theta}) \end{cases} L(y,f(x;θ))={01if y=f(x;θ)if y=f(x;θ)

或者使用指示函数表示:

L ( y , f ( x ; θ ) ) = I ( y ≠ f ( x ; θ ) ) \mathcal{L}(y, f(\mathbf{x}; \boldsymbol{\theta})) = \mathbb{I}(y \neq f(\mathbf{x}; \boldsymbol{\theta})) L(y,f(x;θ))=I(y=f(x;θ))

其中, I ( ⋅ ) \mathbb{I}(\cdot) I() 是指示函数。

  尽管0-1损失函数直观,但由于其非连续性和不可导性,通常用其他连续可导的损失函数替代。

2. 平方损失函数(回归问题)

  平方损失函数常用于回归问题,定义为:
L ( y , f ( x ; θ ) ) = 1 2 ( y − f ( x ; θ ) ) 2 \mathcal{L}(y, f(\mathbf{x}; \boldsymbol{\theta})) = \frac{1}{2}(y - f(\mathbf{x}; \boldsymbol{\theta}))^2 L(y,f(x;θ))=21(yf(x;θ))2

平方损失函数适用于预测标签为实数值的任务,但一般不适用于分类问题。

3. 交叉熵损失函数(Cross-Entropy Loss)

  可用于分类任务,用于衡量两个概率分布之间的差异

交叉熵损失函数常用于分类问题。假设样本的标签 y y y 为离散的类别,模型的输出为类别标签的条件概率分布:
p ( y = c ∣ x ; θ ) = f c ( x ; θ ) p(y = c|\mathbf{x}; \boldsymbol{\theta}) = f_c(\mathbf{x}; \boldsymbol{\theta}) p(y=cx;θ)=fc(x;θ)

其中, f c ( x ; θ ) f_c(\mathbf{x}; \boldsymbol{\theta}) fc(x;θ) 表示模型输出向量的第 c c c 维。交叉熵损失函数定义为:

L ( y , f ( x ; θ ) ) = − ∑ c = 1 C y c log ⁡ f c ( x ; θ ) \mathcal{L}(\mathbf{y}, f(\mathbf{x}; \boldsymbol{\theta})) = -\sum_{c=1}^C y_c \log f_c(\mathbf{x}; \boldsymbol{\theta}) L(y,f(x;θ))=c=1Cyclogfc(x;θ)

其中, y \mathbf{y} y 是样本的真实标签向量,表示类别 y y y 的one-hot向量。

4. Hinge 损失函数

  Hinge损失函数通常用于支持向量机等二分类问题,定义为:

L ( y , f ( x ; θ ) ) = max ⁡ ( 0 , 1 − y f ( x ; θ ) ) \mathcal{L}(y, f(\mathbf{x}; \boldsymbol{\theta})) = \max(0, 1 - yf(\mathbf{x}; \boldsymbol{\theta})) L(y,f(x;θ))=max(0,1yf(x;θ))

或使用ReLU函数表示:

L ( y , f ( x ; θ ) ) = [ 1 − y f ( x ; θ ) ] + \mathcal{L}(y, f(\mathbf{x}; \boldsymbol{\theta})) = [1 - yf(\mathbf{x}; \boldsymbol{\theta})]_+ L(y,f(x;θ))=[1yf(x;θ)]+

其中, [ x ] + = max ⁡ ( 0 , x ) [x]_+ = \max(0, x) [x]+=max(0,x)

  这些损失函数在不同的任务和模型中发挥着关键的作用,选择合适的损失函数是模型设计中的重要决策。

b. 风险最小化准则

  在机器学习中,风险最小化准则是为了找到一个模型,使其在未知数据上的期望错误最小。然而,由于我们无法直接计算期望风险,通常使用经验风险(在训练集上的平均损失)来代替。以下是相关概念:

1. 经验风险最小化

  经验风险(Empirical Risk)是模型在训练集上的平均损失,表示为:

R emp ( θ ) = 1 N ∑ n = 1 N L ( y ( n ) , f ( x ( n ) ; θ ) ) \mathcal{R}_{\text{emp}}(\boldsymbol{\theta}) = \frac{1}{N} \sum_{n=1}^{N} \mathcal{L}(y^{(n)}, f(\mathbf{x}^{(n)}; \boldsymbol{\theta})) Remp(θ)=N1n=1NL(y(n),f(x(n);θ))

其中, L \mathcal{L} L 是损失函数, N N N 是训练集中样本的数量。经验风险最小化准则的目标是找到一组参数 θ ∗ \boldsymbol{\theta}^* θ 使经验风险最小化:

θ ∗ = arg ⁡ min ⁡ θ R emp ( θ ) \boldsymbol{\theta}^* = \arg\min_{\boldsymbol{\theta}} \mathcal{R}_{\text{emp}}(\boldsymbol{\theta}) θ=argθminRemp(θ)

这被称为经验风险最小化(Empirical Risk Minimization,ERM)准则。

2. 过拟合问题

  由于训练集通常是有限的,并且可能包含噪声,直接最小化经验风险可能导致模型在训练集上表现很好,但在未知数据上表现很差,即发生过拟合。

3. 结构风险最小化

  为了防止过拟合,可以在经验风险最小化的基础上引入正则化项,得到结构风险最小化(Structure Risk Minimization,SRM)准则:

θ ∗ = arg ⁡ min ⁡ θ ( R emp ( θ ) + λ 2 ∥ θ ∥ 2 2 ) \boldsymbol{\theta}^* = \arg\min_{\boldsymbol{\theta}} \left( \mathcal{R}_{\text{emp}}(\boldsymbol{\theta}) + \frac{\lambda}{2} \|\boldsymbol{\theta}\|_2^2 \right) θ=argθmin(Remp(θ)+2λθ22)

其中, λ \lambda λ 是正则化参数,控制正则化的强度。正则化项 λ 2 ∥ θ ∥ 2 2 \frac{\lambda}{2} \|\boldsymbol{\theta}\|_2^2 2λθ22 通过限制参数的大小,有助于防止过拟合。

4. 正则化项的选择

  正则化项可以使用不同的函数,例如 ℓ 1 \ell_1 1 范数。正则化的引入通常可以被解释为引入了参数的先验分布,使其不完全依赖于训练数据,从而有助于泛化。正则化的选择需要在模型训练中进行调整,以平衡经验风险和正则化项之间的权衡。

5. 欠拟合

  相反的情况是欠拟合(Underfitting),它发生在模型能力不足,不能很好地拟合训练数据,导致在训练集上的错误率较高。

  机器学习的目标不仅仅是在训练集上获得好的拟合,还需要在未知数据上表现良好,即具有较低的泛化错误。因此,学习准则的选择应该考虑到模型的泛化能力,防止过拟合和欠拟合的发生。

3. 优化

机器学习问题转化成为一个最优化问题

  一旦确定了训练集 D \mathcal{D} D、假设空间 F \mathcal{F} F 以及学习准则,接下来的任务就是通过优化算法找到最优的模型 f ( x , θ ∗ ) f(\mathbf{x}, \boldsymbol{\theta}^*) f(x,θ)。机器学习的训练过程本质上是最优化问题的求解过程。

a. 参数与超参数

  优化可以分为参数优化和超参数优化两个方面:

  1. 参数优化: ( x ; θ ) (\mathbf{x}; \boldsymbol{\theta}) (x;θ) 中的 θ \boldsymbol{\theta} θ 称为模型的参数,这些参数通过优化算法进行学习。这些参数可以通过梯度下降等算法迭代地更新,以使损失函数最小化。

  2. 超参数优化: 除了可学习的参数 θ \boldsymbol{\theta} θ 外,还有一类参数用于定义模型结构或优化策略,这些参数被称为超参数。例如,聚类算法中的类别个数、梯度下降法中的学习率、正则化项的系数、神经网络的层数、支持向量机中的核函数等都是超参数。与可学习的参数不同,超参数的选取通常是一个组合优化问题,很难通过优化算法自动学习。通常,超参数的设定是基于经验或者通过搜索的方法对一组超参数组合进行不断试错调整。

b. 优化算法

  在训练模型的过程中,常用的优化算法包括梯度下降法、随机梯度下降法、牛顿法等。这些算法的核心思想是通过迭代更新模型的参数,使损失函数逐渐减小

  1. 梯度下降法(Gradient Descent): 基本思想是沿着损失函数的梯度方向调整参数,以减小损失。学习率是一个重要的超参数,控制了每次迭代中参数更新的步长。

  2. 随机梯度下降法(Stochastic Gradient Descent,SGD): 与梯度下降法类似,但每次迭代只随机选择一个样本进行参数更新,通常更适用于大规模数据集。

  3. 牛顿法(Newton’s Method): 利用损失函数的二阶导数信息进行参数更新,收敛速度通常比梯度下降法快,但计算代价较高。

  4. 共轭梯度法(Conjugate Gradient): 特别适用于解线性方程组问题。

  5. 拟牛顿法(Quasi-Newton): 通过近似 Hessian 矩阵来加速梯度下降法的收敛速度。

  6. Adam、Adagrad、RMSprop 等自适应学习率算法: 这些算法通过自适应地调整学习率,使得不同参数可以有不同的学习速度。

  选择合适的优化算法以及超参数是训练过程中的关键问题,通常需要进行实验和调参来获得最佳性能。

机器学习 = 优化?

  机器学习并不是只是单纯追求最小化经验风险

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

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

相关文章

MQTT 介绍与学习 —— 筑梦之路

之前写过的相关文章: MQTT协议(转载)——筑梦之路_mqtt url-CSDN博客 k8s 部署mqtt —— 筑梦之路-CSDN博客 CentOS 7 搭建mqtt服务——筑梦之路_腾讯云宝塔搭 centos 7.9.2009 x86_64 建标准mqtt服务器-CSDN博客 mqtt简介 MQTT&#xff…

tcp/ip协议2实现的插图,数据结构5 (22 - 章)

(103) 103 二二1 协议控制块 结构 file, socket , rawcb , inpcb , tcpcb 之间的联系 (104) (105)

Python:如何将MCD12Q1\MOD11A2\MOD13A2原始数据集批量输出为TIFF文件(镶嵌/重投影/)?

博客已同步微信公众号:GIS茄子;若博客出现纰漏或有更多问题交流欢迎关注GIS茄子,或者邮箱联系(推荐-见主页). 00 前言 之前一段时间一直使用ENVI IDL处理遥感数据,但是确实对于一些比较新鲜的东西IDL并没有python那么好的及时性&…

【Linux】使用官方脚本自动安装 Docker(Ubuntu 22.04)

前言 Docker是一种开源平台,用于开发、交付和运行应用程序。它利用了容器化技术,使开发人员能够将应用程序及其依赖项打包到一个称为Docker容器的可移植容器中。这些容器可以在任何运行Docker的机器上快速、一致地运行,无论是开发环境、测试…

微服务架构之争:Quarkus VS Spring Boot

在容器时代(“Docker时代”),无论如何,Java仍然活着。Java在性能方面一直很有名,主要是因为代码和真实机器之间的抽象层,多平台的成本(一次编写,随处运行——还记得吗?&a…

Ubuntu虚拟机怎么设置静态IP

1 首先先ifconfig看一下使用的是哪个网络接口: 2 编辑 sudo vi /etc/netplan/00-installer-config.yamlnetwork:ethernets:ens33: # 根据您的网络接口进行修改,有的是eth0,有的是ens33,具体看第一步显示的是哪个网络接口addres…

【css】css实现文字两端对齐效果:

文章目录 一、方法1:二、方法2:三、注意: 一、方法1: 给元素设置 text-align: justify;text-align-last: justify;并且加上text-justify: distribute-all-line; 目的是兼容ie浏览器 p{width: 130px;text-align: justify;text-alig…

教育数字化转型 赋能家庭场景自主学习习惯养成

北京市气象台12月12日22时升级发布暴雪橙色预警信号,北京市教委决定自12月13日开始,全市中小学幼儿园采取学生临时居家学习措施。自疫情以来,家庭已经成为另一个学习中心,学校不再是教育的孤岛。 学习方式的变革,数字…

【️什么是分布式系统的一致性 ?】

😊引言 🎖️本篇博文约8000字,阅读大约30分钟,亲爱的读者,如果本博文对您有帮助,欢迎点赞关注!😊😊😊 🖥️什么是分布式系统的一致性 &#xff1f…

【C++】POCO学习总结(十七):日志系统(级别、通道、格式化、记录流)

【C】郭老二博文之:C目录 1、Poco::Message 日志消息 1.1 说明 所有日志消息都在Poco::Message对象中存储和传输。 头文件:#include “Poco/Message.h” 一条消息包含如下内容:优先级、来源、一个文本、一个时间戳、进程和线程标识符、可选…

MacOS下载配置OpenCV

主要参考的是OpenCV官方的这篇文章:OpenCV: Installation in MacOS 安装OpenCV需要下载一些安装包:CMake3.9、Git、Python这些我之前已经下载好,这里就不过多阐述了,自行百度安装即可 1.从Git库获取OpenCV: git clon…

Chrome安装Vue插件vue-devtools

1.下载 下载扩展文件,可以去官网下载 GitHub - vuejs/devtools: ⚙️ Browser devtools extension for debugging Vue.js applications. 可以在这里下载,比较方便 https://gitee.com/zhang_banglong/vue-devtools 2.解压 下载好之后解压文件 3.打开控制…

vue-实现高德地图-省级行政区地块显示+悬浮显示+标签显示

<template><div><div id"container" /><div click"showFn">显示</div><div click"removeFn">移除</div></div> </template><script> import AMapLoader from amap/amap-jsapi-load…

基于Nexus搭建Maven私服基础入门

什么是Nexus&#xff1f;它有什么优势&#xff1f; 要了解为什么需要nexus的存在&#xff0c;我们不妨从以下几个问题来简单了解一下: 为什么需要搭建私服&#xff1f;如果没有私服会出现什么问题&#xff1f; 对于企业开发而言&#xff0c;如果没有私服&#xff0c;我们所有…

浅析AI视频分析与视频管理系统EasyCVR平台及场景应用

人工智能的战略重要性导致对视频智能分析的需求不断增加。鉴于人工智能视觉技术的巨大潜力&#xff0c;人们的注意力正在从传统的视频监控转移到计算机视觉的监控过程自动化。 1、什么是视频分析&#xff1f; 视频分析或视频识别技术&#xff0c;是指从视频片段中提取有用信息…

自动驾驶学习笔记(十八)——Lidar感知

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 Lidar感知 运动补偿 点云分割 总结…

2021年数维杯国际大学生数学建模A题新冠肺炎背景下港口资源优化配置策略求解全过程文档及程序

2021年数维杯国际大学生数学建模 A题 新冠肺炎背景下港口资源优化配置策略 原题再现&#xff1a; 2020年初&#xff0c;新型冠状病毒&#xff08;COVID-19&#xff09;在全球迅速蔓延。根据世界卫生组织2021年7月31日的报告&#xff0c;新冠病毒疫情对人类的影响可能比原先预…

动手学深度学习-自然语言处理-预训练

词嵌入模型 将单词映射到实向量的技术称为词嵌入。 为什么独热向量不能表达词之间的相似性&#xff1f; 自监督的word2vec。 word2vec将每个词映射到一个固定长度的向量&#xff0c;这些向量能更好的表达不同词之间的相似性和类比关系。 word2vec分为两类&#xff0c;两类…

RT-DETR 图片目标计数 | 特定目标进行计数

全类别计数特定类别计数如何使用 RT-DETR 进行对象计数 有很多同学留言说想学 RT-DETR 目标计数。那么今天这篇博客,我将教大家如何使用 RT-DETR 进行对象计数。RT-DETR 是一种非常强大的对象检测模型,它可以识别图像中的各种对象。我们将学习如何利用这个模型对特定对象进行…

JAVA 异常分类及处理

JAVA 异常分类及处理 概念 如果某个方法不能按照正常的途径完成任务&#xff0c;就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时&#xff0c;这个方法会立刻退出同时不返回任何值。另外&#xff0c;调用这个方法的其他代码也无法继续执行&…