/

Reference Chapter4. of Non-convex Optimization for Machine Learning https://arxiv.org/abs/1712.07897 "Alternating Minimization".

多変数関数における変数の分割

関数\(f:\mathbb{R}^d\to\mathbb{R}\)を目的関数とする最小化問題について考える。\(d=p+q\)なる\(p,q\)を用いて関数\(f\)\(f:\mathbb{R}^p\times\mathbb{R}^q\to\mathbb{R}\)と見なすことが出来る。これは変数の内\(p\)個のサブセットを取ってきて変数を分割しただけ。残った変数\(q\)個をまた別な変数とおく。これを\((x,y)\in\mathbb{R}^p\times\mathbb{R}^q\)として新たに\(f(x,y)\)とおく。よりたくさんの変数に分割する場合にも2分割を繰り返せばよいので一般性を失っていない。制約集合による条件\((x,y)\in\mathcal{X}\times\mathcal{Y}\)を考えてもよい。一般にはそれぞれの制約集合が独立にな条件で与えられているとは限らないので\((x,y)\in\mathcal{Z}\subset\mathbb{R}^p\times\mathbb{R}^q\)という形になることに注意せよ。

/

結論からいうとタイトルのままだがやや正確さを欠いているので正確に言い直しておく。Google Fontsをサイト通り普通に読み込んでいる限り高いPageSpeedとGoogleFontsによるウェブフォント採用は両立できません。あくまで意見であって事実でも真実でもないが正しいと思っている。ちなみにサイト通りの読み込み方法というのは<head></head>内に

<link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap" rel="stylesheet"> 

を記述してfont-family'Noto Sans JP', sans-serif;を指定することを言います。Noto Sansの場合の例です。これがいわゆる「いわれるがままGoogle Fonts」というものです。

カスタムテーマのphpから、body配下にプラグインによって出力されたclass="mathjax"がある時だけ<head></head>にmathjaxのスクリプトコードを記述する機能を持たせることができた。実際にはmathjaxが無い場合に出力の<script>タグをコメントアウトしているがどちらも同じこと。それについてメモする。

/

はじめに: 改行が効かないがそのうち直る

Upgrading from v2 to v3

をみると現状3.0.0では式中のlinebreakingがv2と同じようにはまだ効かないようです。これはやってから気づきました。v2から削除したけど今後実装するつもりはない、といっている特徴と違ってこれは今後のバージョンで修正されるようです。なので改行についてはそのうち治ると一旦放置して移行しました。

/

Definition: 凸関数 (Convex function)

関数\(f:\mathbb{R}^p\to\mathbb{R}\)が、凸な領域\(D\subseteq\mathbb{R}^p\)において凸関数であるとは、任意の\(x,y\in D\)について次が成立することをいう。

\[ \forall \lambda\in[0,1],\quad f((1-\lambda)x+\lambda y)\le(1-\lambda)f(x)+\lambda f(y)\]

いま\(x,y\)はベクトルだけども細字なことに注意。1次元の場合を図で示すと次のようになる。