标签:设计 机器学习 second 公式 现在 需要 cti not 区别
本文主要参考卡耐基梅隆大学(CMU)的Ryan Tibshirani教授在Convex Optimization课上的Lecture Notes
在统计学习和机器学习领域,基本上你想做的绝大部分事情都是一种优化问题。所以,面对具体的问题,你要做的事情可以概括为下图所示
即:如何把头脑中的idea转换成寻找变量\(x\)的最优问题\(\min \limits_{x\in D}f(x)\)
所以,学习Optimization,就是学习
绝大部分情况下,你只需要做上述的第1个,就是把问题转换成凸优化问题,并写成标准形式,剩下的交给计算机去求解
Optimization问题是现在非常热门的话题,现有算法还有很大的优化空间,而且还有很多问题没有得到很好的解决
Convexity:历史上,优化问题通常聚焦在Linear Programming(线性规划)。最初人们认为,优化问题是线性还是非线性,是不同的优化问题的根本区别
而现在人们认为,优化问题是凸还是非凸才是不同的优化问题之间的根本区别。因为有些问题虽然是非线性,但是解(因为是凸的),而有些非线性问题却非常难解(非凸的)
对于属于集合\(C\)中的两个点\(x,y\),将它俩连一条直线,如果直线上的任意点也都在集合\(C\)中,那么集合\(C\)就是凸集。下图中第一行是凸集,第二行是非凸集
凸集和凸函数有什么关系?函数\(f(x)\)是凸函数的必要条件是\(dom(f)\)为凸集。\(dom(f)\)表示\(f\)的定义域
常见的Convex function有
\[
ax+b\e^{ax}\xa(x>0,a≥1\ or\ a≤0)\|x|^p(p≥1)\xlogx(x>0)\L_p-Norm\ (p≥1)\\sum e^{x_i}
\]
判断一个函数是否是凸函数有很多方法
假设\(f:\mathbb {R}^n\rightarrow \mathbb {R}\)是可导的(differentiable),则\(f\)为凸函数,当且仅当
\[
f(y)≥f(x)+\nabla f(x)^T(y-x)
\]
对于任意\(x,y\in dom(f)\)
从几何上解释如下图所示
假设\(f:\mathbb {R}^n\rightarrow \mathbb {R}\)是两次可导的(twice differentiable),则\(f\)为凸函数,当且仅当
\[
\nabla ^2f(x)≥0
\]
对于任意\(x,y\in dom(f)\)
标签:设计 机器学习 second 公式 现在 需要 cti not 区别
原文地址:https://www.cnblogs.com/mathor/p/12416563.html