Repository navigation
Expand file tree
/
Copy pathsearch.xml
More file actions
71 lines (71 loc) · 17.9 KB
/
Copy pathsearch.xml
File metadata and controls
71 lines (71 loc) · 17.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[Proof of MVEE lemma 3.7.(ii)]]></title>
<url>%2F2017%2F12%2F24%2Fmemorandum%2F</url>
<content type="text"><![CDATA[Lemma 3.7. The number of iterations for the FW Algorithm to reach an iterate $u$ with $\delta(u)\le1$ is at most (ii) $4n(\ln\ln n + 7/2)$ if the initial iterate is $u_{KY}$ Proof. Consider any iteration proceeding from the iterate $u$ with $\delta \triangleq \delta(u) \ge 1$ to the next iterate $u_+$ , and let $\gamma \triangleq g^{\ast}-g(u)$ and $\gamma_+ \triangleq g^{\ast}-g(u_+)$ denote the corresponding optimality gaps. From Lemmas 3.4 and 3.6 we have$$\gamma-\gamma_+=g(u_+)-g(u)\ge\ln(1+\delta)-\frac{\delta}{1+\delta} \ge \frac14 \ln(1+\delta) \ge \frac1{4n} \gamma \tag{3.3.2}$$where the last inequality follows from Proposition 2.9. We conclude that$$\gamma_+ \le \left(1-\frac1{4n} \right)\gamma \le \exp\left(-\frac1{4n}\right)\gamma$$Since the initial value of $\gamma$ is at most $5n\ln n$ if we use $u_{KY}$ from Proposition 3.5, we deduce that within$$4n\ln \left( \frac{5n \ln n}{n} \right)= 4n \left(\ln\ln n +ln5\right)\le 4n(\ln\ln n +2)$$iterations, $\gamma$ is at most $n$. Moreover, while $\delta$ is at least $1$, $\gamma$ decreases by at least $1/6$, so since $\gamma$ remains nonnegative, at most $n/(1/6)=6n$ further iterations are possible. This establishes (ii).]]></content>
<categories>
<category>Memo</category>
</categories>
<tags>
<tag>proof</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Algorithms for the MVEE problem]]></title>
<url>%2F2017%2F12%2F23%2FMVEEAlgorithm%2F</url>
<content type="text"><![CDATA[MVEE(Minimun Volumn Enclosing Ellipsoids)根据MVEE问题的最优性条件,只需要求解对偶问题就可以得到原问题的最优解,对偶问题如下: $$\begin{align}&\text{max}_ {u \in \mathcal{R}^m} \quad & g(u)& \triangleq \text{lndet}(XUX^T) \tag{1} \\&\text{s.t.} \quad &\mathbf{1}^Tu&=1 \nonumber \\&&u&\ge0\end{align}$$ 对于问题$(1)$可以用FW算法和WA算法求解。 FW算法FW算法(Frank 1956)是一种特殊的一阶优化算法,在某些情况下也可以说是坐标下降算法,这个算法的主要思想是用一阶泰勒展示近似目标函数$f(x)$,来选择每一步迭代的下降方向。 考虑如下这个问题,其中$\mathcal{X}$是紧凸集,$f(x)$是凸的可微实值函数。FW算法可以求解这个优化问题:$$\begin{align}\text{min} \quad & f(x)\tag{2} \\\text{s.t.} \quad &x\in \mathcal{X}\nonumber \end{align}$$ 算法 FW algorithm 给定初值$x_k$ 步骤1. 下降方向选择问题(通过求解这个子优化问题得到下降方向$s_k$) $$\begin{align}\text{min} \quad & s^{T}\nabla f(x_k)\tag{3} \\ \text{s.t.} \quad &s\in \mathcal{X}\nonumber \end{align}$$ 步骤2. 步长选择(通过求解这个子问题得到最优下降步长,或者使用事先设定的步长) $$\begin{align}\text{min} \quad & f(x_k+\gamma(s_k-x_k)) \tag{4}\\ \text{s.t.} \quad & 0\le\gamma\le1 & \nonumber\end{align}$$ 步骤3. 更新$$\begin{align} x_{k+1}=x_k+\gamma(s_k-x_k)\tag{5} \end{align}$$ 步骤4. 判断是否满足停止条件,若不满足回到步骤1 算法的解释$f(x)$在$x_k$的一阶泰勒展式为$$\begin{align}f(x)=f(x_k)+(x-x_k)^T\nabla f(x_k)+O(x-x_k)\tag{6}\end{align}$$用$(6)$等号右边前两项近似$f(x)$,因为$x_k$是给定常数,可以得到优化问题$(3)$,FW算法的思想即为用近似问题的最优解的方向$s_k-x_k$作为原问题的下降方向。 将$(4)$改写为 $$x_{k+1}=(1-\gamma)x_k+\gamma s_k \tag{7}$$ 因为$0\le\gamma\le1$所以$x_{k+1}$是$x_k$与$s_k$的凸组合。这样更新步在一些特定问题中与梯度下降算法与坐标下降算法相比具有优势。 求MVEE的近似解的FW算法(Todd 2016)因为$(1)$的约束是单位单纯形,所以FW算法中$(3)$的解一定在单纯形的顶点上,也就是$ s_k=e_i $,$i$为$ g(u) $在$u_k$的梯度中最小的一个元素的下标。更新得到的$u_k$一定还在单位单纯形上。而梯度下降算法与坐标下降算法是不能保证每一步更新得到的$u_k$仍在单纯形上。 FW algorithm给定初值$u$满足$(7)$的约束与$\epsilon\gt0$,计算$g(u)$的梯度和$XUX^T$的Cholesky分解$$w\triangleq\nabla g(u)$$步骤1. 计算$$\epsilon_+=\max_h\frac{(w_h-n)}{n}$$记$h=i$取得最大值,如果$\epsilon_+ \lt\epsilon$,停止:得到近似解u 步骤2. 计算$$\lambda \triangleq\frac{w_i-n}{(n-1)w_i}$$更新 $ u \leftarrow (1+\lambda )^{-1} (u+\lambda e_i)$ 步骤3. 更新$w$与$XUX^T$的Cholesky分解,回到步骤1 WA算法回到下降方向的选择问题,在FW算法中下降方向指向线性近似问题的最优解。从另一个角度来考虑,下降方向也可以指向线性近似问题的最差解的负方向(如果这个解存在的话),也就是远离最差的解。WA算法(Atwood)综合考虑了这两种思想来选择下降方向。 WA algorithm给定初值$u$满足$(7)$的约束与$\epsilon\gt0$,计算$g(u)$的梯度和$XUX^T$的Cholesky分解$$w\triangleq\nabla g(u)$$步骤1. 计算$$\epsilon_+=\max_h\frac{(w_h-n)}{n}, \,\epsilon_-=\max_h \left\{ \frac{(n-w_h)}{n} : u_h \gt 0 \right\}$$记$h=i$使得$\epsilon_+$取得最大值,$h=j$使得$\epsilon_-$取得最大值。如果$\max \{\epsilon_+,\epsilon_- \} \lt\epsilon$,停止:得到近似解u;否则,如果$\epsilon_+\gt \epsilon_-$,前往步骤2;如果$\epsilon_+\lt \epsilon_-$,前往步骤3。 步骤2. 计算$$\lambda \triangleq\frac{w_i-n}{(n-1)w_i}$$更新 $ u \leftarrow (1+\lambda )^{-1} (u+\lambda e_i)$,前往步骤4。 步骤3.计算$$\lambda \triangleq\frac{w_j-n}{(n-1)w_j}$$令$\lambda=\max\{-u_j,\lambda\}$,更新 $ u \leftarrow (1+\lambda )^{-1} (u+\lambda e_j)$,前往步骤4。 步骤4. 更新$w$与$XUX^T$的Cholesky分解,回到步骤1 一个简单的例子$$X=\begin{bmatrix}&-1&-1&1&2& \\&1&-1&-1&2&\end{bmatrix}$$ 如果考虑KY初始化方法,得到出初值$u=(1/2;0;0;1/2) \text{or} (0;0;1/2;1/2)$ 这两个都是最优解,FW算法与WA算法都立刻终止了。 如果考虑K初始化方法$u=(1/4;1/4;1/4;1/4)$。 FW算法效果如下图,收敛速度慢,100次迭代后仍未停止: WA算法效果如下图,三次迭代后终止,并得到最优解: 代码来源为Michael J. Todd [1] Frank, Marguerite, and Philip Wolfe. “An algorithm for quadratic programming.” Naval Research Logistics (NRL) 3.1‐2 (1956): 95-110.[2] Todd, M.J. Minimum volume ellipsoids: theory and algorithms. New York: Society for Industrial and Applied Mathematics, 2016. 26-29.]]></content>
<categories>
<category>Algorithms</category>
</categories>
<tags>
<tag>MVEE</tag>
<tag>optimization</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Submit Blog]]></title>
<url>%2F2017%2F12%2F23%2Fsubmitmyblog%2F</url>
<content type="text"><![CDATA[向google提交博客sitemap 安装sitemap插件 12npm install hexo-generator-sitemapnpm install hexo-generator-baidu-sitemap 登陆google站长验证网站,验证的HTML文件需要直接放在public文件夹下(做好备份,public中的文件会被hexo clean清除),然后直接发布hexo d 然后选择站点,选择站点地图,提交站点地图,接着可以看到成功提交的网页数 期间遇到问题,插件生成的sitamap中url错误(错误原因 -config.yml中url设置错误) 向百度提交博客sitemap和推送更新因为github屏蔽了百度爬虫,所以提交了sitemap之后,百度也抓不到网站,使用主动提交连接的方法 参考王辉的博客该方法最好不要使用公开仓库,因为网站的源代码中会包括秘钥 在百度资源认证网站,然后选择链接提交,查看接口调用地址...&token=cpoy这一串字符,别给别人看 安装hexo-baidu-url-submit插件 npm install hexo-baidu-url-submit --save 将以下代码加入hexo目录下的_config.yml: baidu_url_submit: count: 1 ## 提交最新的一个链接 host: https://thaning0.github.io ## 在百度站长平台中注册的域名 token: 刚刚copy的字符串 ## 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里! path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里 (所以如果你是使用的免费github pages,你需要私人仓库,github上学生可以申请免费的私人仓库,申请链接) 在_config.yml文件中的deploy:中加入type: baidu_url_submitter,注意两个tpye的前面需要加上-,例如: deploy: - type: example repository: https://example.com branch: example - type: baidu_url_submitter ## 推送给百度 最后执行hexo deploy,如果收到如下反馈则表示主动推送成功: { "remain":4999999, "success":1 } 可能返回如下字段 字段 是否必选 参数类型 说明 success 是 int 成功推送的url条数 remain 是 int 当天剩余的可推送url条数 not_same_site 否 array 未处理的非本站url列表 not_valid 否 array 不合法url列表]]></content>
<categories>
<category>Tutorial</category>
</categories>
<tags>
<tag>hexo</tag>
</tags>
</entry>
<entry>
<title><![CDATA[开启next的站内搜索功能]]></title>
<url>%2F2017%2F12%2F23%2Fsearch%2F</url>
<content type="text"><![CDATA[开启next自带的站内搜索功能(在hexo目录下安装)1. 安装hexo-generator-searchdbnpm install hexo-generator-searchdb --save 2. 打开hexo目录下的_config.yml,添加以下内容:12345search:path: search.xmlfield: postformat: htmllimit: 10000 3. 打开next目录下的_config.yml,将:12local_search:enable: false 改为 12local_search:enable: true 参考github文档]]></content>
<categories>
<category>Tutorial</category>
</categories>
<tags>
<tag>hexo</tag>
<tag>next</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Mathjax基本用法]]></title>
<url>%2F2017%2F12%2F22%2Fmathjax%2F</url>
<content type="text"><![CDATA[Mathjax基本用法1.输入1.1输入公式 行中式:$...$ 单独行:$$...$$ 1.2输入数字与英文字母 字体 代码 效果 空心字体 \mathbb{ABC123} $ \mathbb{ABC123} $ boldface字体 \mathbf{ABC123} $ \mathbf{ABC123} $ calligraphic字体 \mathcal{ABC123} $ \mathcal{ABC123} $ script字体 \mathscr{ABC123} $ \mathscr{ABC123} $ typewriter字体 \mathtt{ABC123} $ \mathtt{ABC123} $ roman字体 \mathrm{ABC123} $ \mathrm{ABC123} $ sans-0serif字体 \mathsf{ABC123} $ \mathsf{ABC123} $ Fraktur字体 \mathfrak{ABC123} $ \mathfrak{ABC123} $ 1.3输入希腊字母 名称 代码 效果 大写体代码 大写体效果 alpha \alpha $\alpha$ beta \beta $\beta$ gamma \gamma $\gamma$ \Gamma $\Gamma$ delta \delta $\delta$ \Delta $\Delta$ epsilon \epsilon $\epsilon$ zeta \zeta $\zeta$ eta \eta $\eta$ theta \theta $\theta$ \Theta $\Theta$ iota \iota $\iota$ kappa \kappa $\kappa$ lambda \lambda $\lambda$ \Lambda $\Lambda$ mu \mu $\mu$ nu \nu $\nu$ xi \xi $\xi$ \Xi $\Xi$ omicron \omicron $\omicron$ pi \pi $\pi$ \Pi $\Pi$ rho \rho $\rho$ sigma \sigma $\sigma$ \Sigma $\Sigma$ tau \tau $\tau$ upsilon \upsilon $\upsilon$ \Upsilon $\Upsilon$ phi \phi $\phi$ \Phi $\Phi$ chi \chi $\chi$ psi \psi $\psi$ \Psi $\Psi$ omega \omega $\omega$ \Omega $\Omega$ 1.4输入矩阵 名称 代码 效果 matrix \begin{matrix} a & b \\\ c & d \end{matrix} $ \begin{matrix} a & b \\ c & d \end{matrix} $ pmatrix \begin{pmatrix} a & b \\\ c & d \end{pmatrix} $ \begin{pmatrix} a & b \\ c & d \end{pmatrix} $ bmatrix \begin{bmatrix} a & b \\\ c & d \end{bmatrix} $ \begin{bmatrix} a & b \\ c & d \end{bmatrix} $ Bmatrix \begin{Bmatrix} a & b \\\ c & d \end{Bmatrix} $ \begin{Bmatrix} a & b \\ c & d \end{Bmatrix} $ vmatrix \begin{vmatrix} a & b \\\ c & d \end{vmatrix} $ \begin{vmatrix} a & b \\ c & d \end{vmatrix} $ Vmatrix \begin{Vmatrix} a & b \\\ c & d \end{Vmatrix} $ \begin{Vmatrix} a & b \\ c & d \end{Vmatrix} $ [^1] [^1]:因为Mathjax与Marked.js中转义字符的冲突,需要将Marked.js中的escape改为escape:/^\\([\\*{}[]()#$+-.!_>])/,`,并且单行中的换行符\\要改为用\\\才能换行 1.5输入表格使用\begin{array}{列样式}...\end{array}这样的形式来创建表格,,列样式可以是c l r分别表示居中,左,右对齐,还可以使用|表示一条竖线。表格中各行使用\\分隔,各列使用&分隔,使用\hline在本行前加入一条直线。例如:12345678$$\begin{array}{c|lcr}n & \text{Left} & \text{Center} & \text{Right} \\\hline 1 & 0.24 & 1 & 125 \\2 & -1 & 189 & -8 \\3 & -20 & 2000 & 1+10i \\\end{array}$$ $$\begin{array}{c|lcr}n & \text{Left} & \text{Center} & \text{Right} \\\hline 1 & 0.24 & 1 & 125 \\2 & -1 & 189 & -8 \\3 & -20 & 2000 & 1+10i \\\end{array}$$ 1.6输入文字\text{ABC123}$$\text{ABC123}$$ 2.标记2.1字符标记 名称 代码 效果 名称 代码 效果 上标 A^{a} $ A^{a} $ 下标 A_{a} $ A_{a} $ 左上标 \sideset{^a}{}A $ \sideset{^a}{}A $ 左下标 \sideset{_a}{}A $\sideset{_a}{}A$ 上下标 A^{a}_b $ A^{a}_b $ 四个标记 \sideset{^a_b}{^c_d}A $\sideset{^a_b}{^c_d}A$ hat \hat{A} $\hat{A}$ check \check{A} $\check{A}$ breve \breve{A} $\breve{A}$ tilde \tilde{A} $\tilde{A}$ dot \dot{A} $\dot{A}$ ddot \ddot{A} $\ddot{A}$ vec \vec{A} $\vec{A}$ overline \overline{AB} $\overline{AB}$ underline \underline{AB} $\underline{AB}$ widehat \widehat{AB} $\widehat{AB}$ overarrow \overrightarrow{AB} $\overrightarrow{AB}$ overarrow \overleftrightarrow{AB} $\overleftrightarrow{AB}$ 2.2括号 名称 代码 效果 小括号 () \{\} [] $()\{\}[]$ 大括号(自适应放大) \left\{...\right\}$ $\left\{ A^{a^1} \right\}$ 尖括号 \langle A\rangle $\langle A\rangle$ 上取整 \lceil A\rceil $\lceil A\rceil$ 下取整 \lfloor A\rfloor $\lfloor A\rfloor$ 隐藏括号 \left.\right\} $\left.\right\}$ 2.3箭头 名称 代码 效果 右箭头 \to,\rightarrow\Rightarrow $\to,\rightarrow,\Rightarrow$ 左箭头 \leftarrow,\Leftarrow $\leftarrow,\Leftarrow$ 映射 \mapsto $\mapsto$ 2.4其他标记 公式标号:f(x)\tag{1.1}$$f(x)\tag{1.1}$$ 隐藏公式标号:\nonumber 无穷号:\infty$\infty$ 梯度符号:\nabla$\nabla$ 偏导符号:\partial$\partial$ 省略号:\ldots,\cdots$\ldots,\cdots$ 星号:\ast $\ast$ 3.运算3.1基本运算 名称 代码 效果 叉乘 \times $\times$ 点乘 \cdot $\cdot$ 除 \div $\div$ 分式 \frac{a}{b},\cfrac{a}{b} $\frac{a}{b},\cfrac{a}{b}$ 加减 \pm \mp $\pm \mp$ 3.2等号不等号 名称 代码 效果 恒等于 \equiv $\equiv$ 约等于 \approx,\cong $\approx,\cong$ 定义 \triangleq $\triangleq$ 等价 \sim $\sim$ 小于 \lt,\le $\lt,\le$ 大于 \gt,\ge $\gt,\ge$ 不等 \neq $\neq$ 广义小于 \prec,\preceq $\prec,\preceq$ 广义大于 \succ,\succeq $\succ,\succeq$ 3.3集合 名称 代码 效果 并 \cup $\cup $ 交 \cap $\cap $ 差 \setminus $\setminus $ 严格包含 \supset,\subset $\supset,\subset $ 包含 \subseteq $\subseteq $ 不包含 \subsetneq $\subsetneq $ 属于 \in $\in $ 不属于 \notin $\notin $ 空集 \emptyset,\varnothing $\emptyset,\varnothing $ 3.4逻辑 名称 代码 效果 land \land $\land$ lor \lor $ \lor$ lnot \lnot $ \lnot$ forall \forall $ \forall$ exists \exists $ \exists$ top \top $ \top$ bot \bot $ \bot$ vdash \vdash $ \vdash$ vDash \vDash $ \vDash$ 3.5大型运算符 名称 代码 效果 求和 \sum_{i=1}^n $\sum_{i=1}^n$ 求积 \prod_{i=1}^n $\prod_{i=1}^n$ 并 \bigcup_{i=1}^n $\bigcup_{i=1}^n$ 交 \bigcap_{i=1}^n $\bigcap_{i=1}^n$ 极限 \lim_{x\to 0} $\lim_{x\to 0}$ 积分 \int_{X} $\int_{X}$ 重积分 \iint_{X} $\iint_{X}$ 4.排版4.1插入空格 代码 效果 a\,b $a\,b$ a\;b $a\;b$ a\quad b $a\quad b$ a\qquad b $a\qquad b$ 4.2对齐用\begin{align}...\end{align}的格式输入,在其中插入&来指示需要对齐的位置,例如对齐等号$$\begin{align}a_1+a_2 &=1\nonumber \\a_3 &= a_4+a_5\nonumber\end{align}$$]]></content>
<categories>
<category>Tutorial</category>
</categories>
<tags>
<tag>mathjax</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Markdown]]></title>
<url>%2F2017%2F12%2F21%2Fmarkdown%2F</url>
<content type="text"><<span id = "ID"></span>#跳转到这里 代码代码块12345678910@requires_authorizationdef somefunc(param1='', param2=0): '''A docstring''' if param1 > param2: # interesting print 'Greater' return (param2 - param1 + 1) or Noneclass SomeClass: pass>>> message = '''interpreter... prompt''' 或者直接缩进一个制表符 #include <stdio.h> int main(void) { printf("Hello world\n"); } 行内式代码这个函数code()怎么使用 LaTeX 公式(MathJax语法)可以创建行内公式,例如 $ \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N $。或者块级公式: $$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$ 表格 Item Value Qty Computer 1600 USD 5 Phone 12 USD 12 Pipe 1 USD 234 分割线 用Sublime编辑Markdown文件插件 Markdown Extended Markdown HTML Preview OmniMarkup Previewer (在浏览器中预览) MarkdownFootnotes (脚注) MarkdownHighlighting (高亮) MarkdownTOC (生存目录)]]></content>
<categories>
<category>Tutorial</category>
</categories>
<tags>
<tag>markdown</tag>
</tags>
</entry>
</search>