I am Charmie

メモとログ

2011-01-01から1年間の記事一覧

数の集合

数の集合RとかCをLatexで書く方法.以下のどちらかのパッケージをプレアンブルで読み込む\usepackage{amsfonts}\usepackage{amssymb}あとは,\mathbb{*}と記述すれば良い.N:自然数Z:整数I:無理数Q:有理数R:実数C:複素数P:素数

cvx

自分で試したわけじゃないけど,cvxは画像処理みたいに大きな問題には適してないらしい. くそ時間がかかって,イマイチな答えが返ってくると言ってる人がいた. 又聞きだけど.

LASSOとBasis pursuit

LASSOとBasis pursuitの違いが良く分からない.Basis pursuitは過完備基底を仮定しているのに対して,LASSOはそうではないと考えていたのだけど,GPSR(Gradient Projection for Sparse Reconstruction)の論文によると,LASSO:minimize |y-Ax|2subject to |x|1

GPSR

Sparse solutionのsolverとGPSR(Gradient Projection for Sparse Reconstruction)を試す.一部のデモファイルを動かすにはRice wavelet toolboxが必要なので,以下からzipファイル(rwtwinxp.zip)をダウンロード.http://dsp.rice.edu/software/rice-wavelet-…

Freemind

マインドマップをPC上で行うソフトウェア. FreeMind活用クラブのインストールのページに従えば簡単にインストールできる. ただし,PCの設定次第では,起動しない事がある. 複数のバージョンのJavaがインストールされている PCに複数のバージョンのJavaが…

L^2

L2とはSquare-integrable functionによって形成される空間のこと.Square-integrable functionとは,ある関数fの絶対値の2乗の積分(マイナス∞から∞までの区間)が有限な値である関数.このような関数は内積空間を形成する.これを一般化したLp spaceとは関数f…

Smooth function

ある関数fに対して,k階の導関数が存在してかつ連続である時,fはCk級の関数である.つまり,ある関数fがCkであると記述されていれば,それはk回微分可能な関数なんだなーと思えばいい.

乱数

MatLabでの乱数整数生成.randi([1 n])とすると,1からnの中の整数がランダムに選ばれる.

PDFブラウザ

PDFファイルのブラウザにPDF-XChange Viewerというソフトを使っている. タブブラウザなので,Adobe readerのように開いているPDFファイルの数だけウィンドウが現れるという悲しい事がなくなるので使っている. んだけど,致命的な欠陥に気付いた. プリンタ…

基底追跡 Basis pursuit

色々勉強中.基底追跡について,まだまだ理解が足りない気もするがまとめてみる.DCTやウェーブレットを使った次元圧縮問題を考える.Ax=bx,bはそれぞれn次元ベクトル,Aはn×n行列であるとする.Aを仮にDCTを表す直交基底行列とすると,上の式は原信号xをDCT…

引数のハンドル

MatLabで関数の引数を可変にしたい時は,以下のようにvararginを使う.function test(varargin)varargin{1}, varargin{2}, ... , varargin{i},とやればi番目の引数にアクセス出来る.また,narginは引数の数を表す変数.iptchecknargin関数で関数の引数に関…

L2ノルムとL1ノルムの違い

CVXを使って,L1ノルムとL2ノルムの違いをみてみる.もっと正確に言うと,L1ノルムでスパースな解が求まっているのかを確かめる.>> m=16;n=8;>> A=randn(m,n); b=randn(m,1);% L2 norm% Minimize |Ax-b|2% subject to |x|2>> cvx_begin>> variable x_l2(n);…

CVX: quickstart 5 An optimal trade-off curve

CVX: quickstart 5 An optimal trade-off curveMinimize |Ax-b|2+gamma|x|1% gamma is 10^{-2} to 10^{2}gamma = logspace( -2, 2, 20 );l2norm = zeros(size(gamma)); l1norm = zeros(size(gamma));for k = 1:length(gamma), cvx_begin variable x(n); mini…

CVX: quickstart 3 Other norms and functions

CVX: quickstart 3 Other norms and functionsChebyshevノルム(L∞ノルム)やL1ノルムの計算をMatLabのOptimization toolboxで行うにはlinprog関数を使うのだが,関数の引数がややこしい.それに比べると,CVXはnorm関数の引数を変更するだけなので,記述が簡…

CVX: quickstart 2 Bound-constrained Least squares

CVX: quickstart2 Bound-constrained Least squaresLeast squaresに制約条件を追加する.今回は上界と下界をminimize ||Ax-b||2subject to l<=x<=u m = 16; n = 8;A = randn(m,n); b = randn(m,1);bnds = randn(n,2);l = min( bnds, , 2 ); u = max( bnds, ,…

CVX: quickstart 1 Least squares

とゆーわけで,実際にCVXを触ってみる.examplesフォルダのquickstartをユーザガイドを見ながら実行していく.CVX: quickstart1 Least squares単純なLeast squares.これならx=A\b;と解いてもいけちゃう.minimize ||Ax-b||2m = 16; n = 8;A = randn(m,n);b …

matlabのパス設定

スタートアップファイルを使うと便利らしい.MatLabを起動する時の最初のフォルダにstartup.mというスタートアップファイルがあると,起動時に自動で実行されるそうだ.自作関数やら追加インストールしたいツールボックスのフォルダのパスをスタートアップフ…

CVX; Matlab Software for Disciplined Convex Programming

CVXのインストール @ Windows XP 32bitConvex optimizationを習得すべく,CVXのインストール.以下のページに行く.http://cvxr.com/cvx/downloadCVXのパッケージはzip形式で提供されてる(unix用にはtar.gzファイル).zipファイルの中にはプログラムファイル…