深度学习之基础篇:凸学习问题
简介
深度学习中,凸优化的重要性不言而喻。为了更好的理解凸优化,这里对凸学习问题、凸性及相关性质做一个简单总结:
这里我们依次来了解其中各个性质。
基本概念
1. 凸集
定义:设C是向量空间中的一个集合,若对C中任意两点u和v,连接他们的线段仍在C中,那么集合C是一个凸集。
也即,对任一实数α∈[0, 1],都有
αu+(1-α)v∈C
图片引用自我爱机器学习
根据定义,图1中左图为凸集,右图为非凸集。
2. 凸函数
定义:设C是一个凸集,如果对任意的u,v∈C及α∈[0, 1],函数f:C→R满足
f(αu + (1-α)v) ≤ αf(u) + (1-α)f(v)
则称f为C上的凸函数。
性质1: 凸函数的每一个局部极小值也是全局极小值。
性质2: 对于凸可微函数,有:
∀u, f(u) ≥ f(w) + <▽f(w), u-w>
性质一,通过任意小的α构造u和u+α(v-u)数据同一局部域中,再结合凸函数定义即可证明。
性质二,通过偏导的定义,令α→0,再结合凸函数定义即可证明。
证明过程就不再赘述。
引理:设f:R→R是一个二阶可微的标量函数,则下列命题等价:
- f是凸的。
- f的一阶导是单调不减的。
- f的二阶导是非负的。
3. 利普希茨性
定义:设C∈Rd, f:Rd→Rk,如果对于任意的w1,w2∈C, 有
||f(w1) - f(w2)|| ≤ ρ|| w1-w2 ||
那么, f是ρ-利普希茨的。
直观的讲,利普希茨函数变化不会太快。
对于可微函数,由中值定理可知
f(w1) - f(w2) = f’(u)(w1-w2)
其中u位于w1,w2之间,若f的导数绝对值处处以 ρ为界,则函数f是 ρ-利普希茨的。
4. 光滑性
定义:如果可微函数f:Rd→R的梯度是ρ-利普希茨的,即对于所有的v,w满足||▽f(v) - ▽f(w)|| ≤ ρ|| v-w ||,那么f是ρ-光滑。
如果一个函数既凸又光滑时,我们可以同时得到函数与其一阶近似差值的上下界,这种函数也称为自有界函数。
凸学习问题
定义:如果假设类H是凸集,且对于任意的z∈样本集Z,损失函数L是凸函数,那么学习问题(H,Z,L)是凸的。
1. 凸学习问题的可学习性
不是Rd上所有的凸学习问题都是可学习的,还需添加一些额外的约束条件使其可学习,比如可以假设损失函数具有利普希茨性或光滑性。
2. 凸利普希茨有界学习
如果假设类H是一个凸集,且对于所有的w∈H都成立||w|| ≤ B; 对于所有的z∈Z, 损失函数是凸的且是ρ-利普希茨,则称学习问题(H,Z,L)是凸利普希茨有界的。
3.凸光滑有界学习
如果假设类H是一个凸集,且对于所有的w∈H都成立||w|| ≤ B; 对于所有的z∈Z, 损失函数是凸的,非负的且是ρ-光滑,则称学习问题(H,Z,L)是凸光滑有界的。
深度学习之基础篇:凸学习问题相关推荐
- 计算机视觉面试宝典--深度学习机器学习基础篇(四)
计算机视觉面试宝典–深度学习机器学习基础篇(四) 本篇主要包含SVM支持向量机.K-Means均值以及机器学习相关常考内容等相关面试经验. SVM-支持向量机 支持向量机(support vector ...
- STM32运行深度学习指南基础篇(3)(STM32CubeMX.AI+Tensorflow)
STM32运行深度学习指南基础篇(3)(STM32CubeMX.AI+Tensorflow) 在上一篇文章中我们已经有训练好的tflite模型,接下来我们要在Clion中实现,如果是Keil的朋友可以 ...
- Redis学习笔记①基础篇_Redis快速入门
若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...
- MySQL学习笔记-基础篇1
MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...
- 【Kotlin】学习小记-基础篇
Kotlin学习小记-基础篇 Kotlin的介绍 入门基础篇 属性声明 关于val和final的小Tips 参数 1.可变参数 2.命名参数 函数返回值 1.默认返回Unit值 2.返回Nothing ...
- C++ 学习 ::【基础篇:13】:C++ 类的基本成员函数:类类型成员的初始化与构造函数问题
本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...
- C++ 学习 ::【基础篇:17】:C++ 类与对象:运算符重载介绍、运算符重载函数(类内与类外区别)写法及简单设计实现
本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...
- MySQL学习笔记-基础篇2
MySQL学习笔记-基础篇2 目录 MySQL学习笔记-基础篇2 8.子查询 8.1 需求分析与问题解决 8.1.1 实际问题 8.1.2 子查询的基本使用 8.1.3 子查询的分类 8.2 单行子查 ...
- 【SQL基础学习】----基础篇(1)
前言: 存储数据的容器 在内存中(数据存在易失性,断电即数据没了): 数组 集合 磁盘(永久存储): 文件(不易管理) 数据库(持久化, ...
最新文章
- linux mysql 无法识别,Linux下MySQL 5.7.23无法远程连接解决方案
- 【高并发】又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!
- mysql db2免费下载_DB2ToMysql(DB2导入到Mysql工具)下载
- linux安装jdk8_Skywalking系列博客1-安装单机版 Skywalking
- 某房产中介服务器托管及安全方案(下)
- 如何实现服务器转发客户端消息,socket 怎么实现服务器与客户端不停的互发消息呢?...
- python用线性回归预测股票价格
- 记录一下git 的常用命令
- irc ubuntu_让我们聊聊写作:在IRC上加入我们
- 前端性能优化的七大手段
- shell脚本定义日志输出函数
- 企业信息化基本指标构成方案(试行)上
- 多个Activity之间的跳转(1)
- 计算机网络-----网络编程
- android微信配色,万能微信公众号配色模板(神仙配色太好看了)
- U盘格式化后容量变小了恢复教程
- 西瓜书第三章阅读笔记
- java技术晨讲可以讲什么内容,晨讲和晨测都是提升郑州达内小伙们技能的好方法...
- 【报错解决】expected single matching bean but found 2
- 【TSCH概述/CONTIKI】