Tumblrはじめに『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。LpノルムをR言語で作図します。参考文献おわりに・Lpノルム3.1.4項の正則化で利用するLpノルム($L^p$ノルム)をグラフで確認します。利用するパッケージを読み込みます。w_M)$のLpノルム$\|\mathbf{w}\|_p$は、次の式で定義されます。$$ベクトルを$\|$で挟んでそのベクトルのノルムを表します。(Lpノルムと呼ぶくらいなので)$p$を使うことが多いようですが、本に合わせて$q$を使うことにします。1$のときL1ノルム($L^1$ノルム)と呼びます。L1ノルムのグラフを確認します。x$なので累乗根$\sqrt{}$が外れ、次の式になります。$$つまり、L1ノルム$\|\mathbf{w}\|_1$は、$\mathbf{w}$の各要素の絶対値$|w_j|$の総和です。作図用の$\mathbf{w}$の点を作成して、L1ノルムを計算します。19.5グラフとして描画する$w_j$の値をseq()で作成してw_vecとします。処理が重い場合は、この値を調整してください。w_2)$の値を作成します。w_2列の各行が、1つの点$\mathbf{w}$に対応します。絶対値はabs()で計算できます。作図用に、$\mathbf{w}$の値とL1ノルムの値をデータフレームに格納します。L1ノルムの等高線グラフを作成します。norm"))geom_contour()で等高線を描画できます。breaks引数に等高線を描く値を指定できます。L1ノルムの値(z軸の値)が1の線だけ描画してみます。2$のとき3Dグラフを水平に切断した断面を上から見ると、正方形になります。2$のときL2ノルム($L^2$ノルム)と呼びます。L2ノルムのグラフを確認します。x^2$なので絶対値が外れ、次の式になります。$$つまり、L2ノルム$\|\mathbf{w}\|_2$は、$\mathbf{w}$の各要素の二乗和の平方根です。2$のグラフを確認します。qに2を代入すると、先ほどのコードで処理できます。累乗根の計算を行わず、次の式で計算します。$$正則化項のグラフも確認しましょう。expression(E[w](w)))L2正則化項のグラフ値は変わりますが、形状は変化していません。最後に、$q$の値とグラフの形状の関係をアニメーションで確認します。・作図コード(クリックで展開)forループでqの値を変更して繰り返しノルムを計算して、計算結果をデータフレームに追加していきます。39.0gganimateパッケージを利用してアニメーション(gif画像)を作成します。10)Lpノルムのグラフこの項では、Lpノルムを確認しました。次項では、L1ノルムとL2ノルムを利用して正則化を行います。上下』,丸善出版,2012年.おわりにLpノルムを検索すると正方形や円形のグラフが出てくるけど、これはあくまで等高線の1本または断面図なんだな。接線の図も微妙にアレで、グラフの端と端が接しているわけではなく、更に言うとz軸の値は異なるので接してもいない(と思う?)。こっちは次の記事でやります。『パターン認識と機械学習』の独学時のまとめです。『パターン認識と機械学習』の独学時のまとめです。00:04何かおかしな内容があれば、ご指摘いただけるととても嬉しいです。【R】円周の作図5.3:正射影ベクトルの導出【『スタンフォード線形代数入門』のノート】スポンサーリンクはてなブログをはじめよう!anemptyarchiveさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。