热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

最优化理论与凸优化的用处

转自:https:blog.csdn.netqq_39422642articledetails78816637概要:1.凸优化的定义1.1凸优化1.

转自:https://blog.csdn.net/qq_39422642/article/details/78816637

 

概要:

1. 凸优化的定义
  1.1 凸优化
  1.2 全局最优化与局部最优化

2. Least-squares and linear programming(最小二乘与线性规划)
  2.1 最小二乘
  2.2 线性规划

3. 最优化方法的一般结构

4. 优化理论在机器学习,深度学习中扮演的角色

 

1.优化的定义

1.1 凸优化

最优化问题目前在机器学习,数据挖掘等领域应用非常广泛,因为机器学习简单来说,主要做的就是优化问题,先初始化一下权重参数,然后利用优化方法来优化这个权重,直到准确率不再是上升,迭代停止,那到底什么是最优化问题呢?

它的一般形式为:

第一个为优化的目标,即最小化目标函数f(x),而带大于号或小于号的,则是约束条件。我们希望找到一个满足约束条件的x∗">x,使得对于任意的z">z满足约束条件:

 

 

而x∗就是我们所求的最后结果。

相当于你要从上海去北京,你可以选择搭飞机,或者火车,动车,但只给你500块钱,要求你以最快的时间到达,其中到达的时间就是优化的目标,500块钱是限制条件,选择动车,火车,或者什么火车都是x。


满足所有约束条件的点集称为可行域,记为X,又可以写为:

,s.t表示受限于(subject to)。


在优化问题中,应用最广泛的是凸优化问题:

  • 若可行域X是一个凸集:即对于任给的x,y∈X,总有

  • 并且目标函数是一个凸函数:即

我们称这样的优化问题为凸优化问题。

用图像来表示就是:

 

函数上方的点集就是凸集,函数上任意两点的连线,仍然在函数图像上方。

一句话说清楚就是:希望找到合适的x,使得f0(x)最小

 

1.2 全局最优化与局部最优化

全局最优化指的是在满足条件约束的情况下,找到唯一的一个点满足最大值或者最小值。

局部最优化指的是在满足条件约束的情况下,有可能找到一个局部最大/小点,但不是全局最大或者最小的点。
用图像表示为:

 


2.Least-squares and linear programming(最小二乘与线性规划)

关于这两个问题的更详细的例子会在接下来的文章中说到,这次只是简单的介绍一下我们的内容。

2.1 最小二乘

最小二乘问题是无约束的优化问题,通常可以理解为测量值与真实值之间的误差平方和

这个问题既然没有约束条件,那应该怎么求解呢?我们的目标是求解出最好的x,观察这个式子可以发现,这个式子一定是大于等于0的,所以这样的最优化问题,我们可以把它转成线性方程来求解:

AT为A的转置,因此根据矩阵的逆:

可以把上式表示为:

加权的最小二乘问题

权值均为正数,代表每一个  对结果的影响程度。

正则化的最小二乘问题

ρ是人为的选择的,用来权衡 最小化 的同时,使得不必太大的关系。

2.2 线性规划
另一类重要的优化问题是线性规划,它的目标函数和约束条件都是线性的:

用画图的方法,就是根据条件,画出可行域,然后将目标函数在可行域上移动,直到得到最大值。

 

3.最优化方法的一般结构

最优化的过程,相当于爬山,如图:

 

希望找到一个点列xk使得他的函数值是一直减少的,直到到达某一停止条件或者达到最小值的点xk.

用数学上的术语可以表示为:

  • 设xk为第k次迭代点,dk为第k次搜索方向,αk为第k次迭代的步长因子,则第k次迭代为:

从这里可以看到不同的步长和不同的搜索方向组成了不同的优化方法,这就是最优化理论中所讨论的。f是xk的函数,搜索方向dk是f在xk是f在xk处的下降方向,即dk满足:

或者

而最优化的基本可以表示为:给定初始点xk

  1. 确定搜索方向dk,即按照一定规则画方法确定f在xk处的下降方向
  2. 确定步长因子αk,使得目标函数有一定的下降

不断迭代,直到xk+1满足某种某种停止条件,即得到最优解xk+1
最优化中的问题中,大部分都是在寻找各种各样的方法确定步长和方向,使得迭代的速度尽可能快,得到的解尽可能是最优的解。

4.优化理论在机器学习,深度学习中扮演的角色

凸优化,或者更广泛的说,是最优化理论,在目前的机器学习,数据挖掘,或者是深度学习的神经网络中,都要用到。

他的地位相当于人的脊背一样的,支撑着整个模型的学习过程。因为模型,通俗来说就像人学习思考一样,我们自己知道自己该学什么,该怎么学,发现自己的知识学错了之后怎么调整,但计算机可没有人这么聪明,知道学什么,往哪里学。

而最优化,就是告诉模型应该学什么,怎么学的工具。模型学习的往往都是一个映射函数,也就是模型中的参数W,这个参数的好坏,得看答案才能知道,但知道自己错了之后,该往哪里学,怎么学,怎么调整,这就是优化理论在其中扮演的角色。如果没有优化理论,那么模型是不知道该怎么学习的,也就是没有了最优化,模型的学习永远都是停滞不前的,这下你知道最优化理论的重要性了吧。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
    摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题。本文对ACL2020KBQA基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读 ... [详细]
  • Two Sigma人均22万英镑~
    近期原创文章: ... [详细]
author-avatar
小麻雀yuuri
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有