没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到一些凸优化的概念,比如凸集,凸函数,凸优化问题,线性规划,二次规划,二次约束二次规划,半正定规划等,从而对凸优化问题有个初步的认识。以下是几个重要相关概念的笔记。

  凸集的定义为:

  

  其几何意义表示为:如果集合C中任意2个元素连线上的点也在集合C中,则C为凸集。其示意图如下所示:

  

  常见的凸集有:

  n维实数空间;一些范数约束形式的集合;仿射子空间;凸集的交集;n维半正定矩阵集;这些都可以通过凸集的定义去证明。

  凸函数的定义为:

  

  其几何意义表示为函数任意两点连线上的值大于对应自变量处的函数值,示意图如下:

  

  凸函数的一阶充要条件为:

  

  其中要求f一阶可微。

  二阶充要条件为:

  

  其中要求f二阶可微,表示二阶导数需大于0才是凸函数。

  常见的凸函数有:指数函数族;非负对数函数;仿射函数;二次函数;常见的范数函数;凸函数非负加权的和等。这些可以采用上面2个充要条件或者定义去证明。

  凸优化问题(OPT)的定义为:

  

  即要求目标函数是凸函数,变量所属集合是凸集合的优化问题。或者目标函数是凸函数,变量的约束函数是凸函数(不等式约束时),或者是仿射函数(等式约束时)。

  对于凸优化问题来说,局部最优解就是全局最优解。

  常见的凸优化问题包括:

  线性规划(LP):该问题是优化下面的式子:

  

  其中那个不常见的奇怪符号表示按元素小于等于,后面出现类似符号可以类似理解。

  二次规划(QP):该问题是优化下面的式子:

  

  二次约束的二次规划(QCQP):该问题是优化下面的式子:

  

  半正定规划(SDP):该问题是优化下面的式子:

  

  按照文章说SDP在机器学习领域应用很广,最近很流行,不过我好像没太接触到过。

  参考资料:

http://cs229.stanford.edu/section/cs229-cvxopt.pdf

作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:tornadomeet,欢迎交流!)

机器学习数据挖掘笔记_15(关于凸优化的一些简单概念)相关推荐

  1. 关于凸优化的一些简单概念

    http://www.cnblogs.com/tornadomeet/p/3300132.html 没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些 ...

  2. [转]关于凸优化的一些简单概念

    没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...

  3. 机器学习数据挖掘笔记_14(GMM-HMM语音识别简单理解)

    为了对GMM-HMM在语音识别上的应用有个宏观认识,花了些时间读了下HTK(用htk完成简单的孤立词识别)的部分源码,对该算法总算有了点大概认识,达到了预期我想要的.不得不说,网络上关于语音识别的通俗 ...

  4. 凸优化一(基本概念介绍)

    背景知识 优化问题 凸优化是一类数学优化问题,介绍凸优化前先简单介绍数学优化问题. 优化问题定义(形式): minimizef0minimizef0 minimize \quad f_{0} subj ...

  5. 机器学习中的数学(七)--凸优化的基础知识

    写在前面 <机器学习中的数学>系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等.本系列重在描述基本概念,并不在应用的方面的做深入的探讨, ...

  6. 凸优化学习笔记 10:凸优化问题

    前面讲了那么多关于凸集.凸函数的知识,然而都是铺垫,现在我们才来到了这门课的重头戏部分--凸优化问题! 文章目录 1. 一般优化问题 2. 凸优化问题 2.1 凸优化问题定义 2.2 凸优化问题的最优 ...

  7. 每天五分钟机器学习:超平面分离定理和凸优化

    凸集和凸函数 在点集拓扑学与欧几里得空间中,凸集是一个点集,其中每两点之间的直线上的点都落在该点集中.如下所示: 函数任意两点(x,f(x))和(y,f(y))连线上的值大于(x,y)区间内任意一点m ...

  8. 机器学习数据挖掘笔记_12(对Conjugate Gradient 优化的简单理解)

    数学优化方法在机器学习算法中至关重要,本篇博客主要来简单介绍下Conjugate Gradient(共轭梯度法,以下简称CG)算法,内容是参考的文献为:An Introduction to the C ...

  9. 机器学习数据挖掘笔记_25(PGM练习九:HMM用于分类)

    前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类.实验内容请参考coursera课程:Probabilistic Graphical Models 中 ...

最新文章

  1. MySQL的binlog数据如何查看
  2. RS232 波特率时钟产生方法?
  3. 日志库EasyLogging++学习系列(2)—— 日志级别
  4. 点击事件触发选择提示框
  5. 数据库:计算地球上两个坐标点之间里程
  6. 前端学习(3030):vue+element今日头条管理-顶部导航栏布局
  7. 第九章 图形用户界面的并行化(待续)
  8. java创建一个未知长度的数组_Java数组的创建操作
  9. mysql 读写分离
  10. 【转载】JAVA的泛型和C++的模板的区别与联系
  11. matlab将x排序 y随之变化,在MATLAB中:XData和YData如何用更改的行数更新?
  12. EasyUI:easyui-combogrid(设置默认值)
  13. rtt面向对象oopc——4.IO设备管理之父类调用子类方法
  14. JavaScript高级程序设计(第三版)pdf的下载地址
  15. 声波转字符c语言代码,声波传输解码
  16. 达人评测 i510400f和i511400f区别 i5 11400f和i5 10400f对比
  17. 如何实现pdf转换成cad呢?
  18. MySQL 表空间碎片
  19. 给销售组织分配分销渠道
  20. 致敬mentohust,路由器使用Socket认证华科校园网

热门文章

  1. npm安装教程 集成npm webpack vue-cli
  2. java分治_【Java算法】什么是分治算法?
  3. md文件编辑器_可能是颜值最高的微信Markdown编辑器,用Markdown的你一定会爱上
  4. CSS绘制放大缩小关闭按钮
  5. 微信小程序点击按钮实现手机振动功能
  6. Spring Boot 动态注入的两种方式
  7. hadoop(05)、使用Eclipse连接远程Hadoop集群
  8. 记一次mogodb占用cpu高问题
  9. 2016中国APP分类排行榜发布暨颁奖晚宴 —— 兰亭修禊少长有王谢 黔香阁暖高见望诸公...
  10. delete表1条件是另一个表中的数据,多表连接删除