Octave - Matlab Tutorials

Image
Courseraオンライン講座の機械学習コースを 直感的な理解を優先して、ゆるーく まとめてます。 正確には公式サイトを参照して下さい。 [MachineLearning Week2](https://www.coursera.org/learn/machine-learning/home/week/2) # Octave - Matlab Tutorials ## Basic Operations Octaveの基本的な操作をまとめます。 コメントを書くときは % で始めます。 - 1 ~= 2: % !=のことで、等しくないことをチェック - a = pi % πを代入 - disp( sprintf( '2 decimals: %0.2f', a)) % テキストのフォーマット出力 - format long % 以降、結果を長く表示 - format short % 以降、結果を短く表示。 * A = [ 1 2; 3 4; 5 6] % 配列を定義 - v = 1: 0.1: 2 % 1 から 2まで 0.1ステップで加算 * ones( 2, 3) % 2行3列 のすべてが 1の配列を作成 * 2*ones( 2, 3) % 上記行列を倍に * w = zeros( 1,3) % 1行3列の、すべて0の行列を作成 * w = rand( 1, 3) % 乱数配列 * w = randn( 1, 3) % Gaussian乱数配列 - w = -6 + sqrt( 10)*(randn(1,10000)); % 10000個 - hist(w) % ヒストグラム表示 - hist(w,60) % ヒストグラム表示(詳細) + eye(4) % 単位行列 - help eye % ヘルプ表示 ## Moving Data Around 使用頻度の高い処理をまとめます。 - A = [ 1 2; 3 4; 5 6] - size(A) % 行列の大きさ - size(A,1) % 最初の次元の大きさ - length(v) % 最長の長さ + pwd % 作業ディレクトリ + cd % ディレクトリの変更 + load ...

Gradient decent

Courseraオンライン講座の機械学習コースを 直感的な理解を優先して、ゆるーく 解説しています。 正確には公式サイトを参照して下さい。 [MachineLearning Week1](https://www.coursera.org/learn/machine-learning/home/week/1) ## Gradient decent 前回までに、 目的関数を最小化することで、最適解が得られることが説明されました。 ここでは、具体的にどのように最小値を求めることが出来るかを学びます。 この図は、学習データの分布を表しています。 Gradient decent algorithm (最急降下法) と呼ばれるアルゴリズムを使って、 1. ある $\theta_0$, $\theta_1$から検索開始します。 2. 変化ステップ $\alpha$ で、 3. $\theta_0$, $\theta_1$を同時にずらしていきます。 4. $J(\theta)$が最小になったら終了です! 最小値に到達するまで繰り返します {
    $\theta_j$ := $\theta_j$ - $\alpha$ $\frac{\partial}{\partial \theta_j} J(\theta_0, \theta_1)$
        ($j = 0$, $j = 1$ 両方を同時に変化させる)
} パラメータを変化させる時、 すべての$\theta$を同時に変化させるようにします。 ### 最急降下法では以下の点に注意 $\theta$をずらしていく変化量 $\alpha$を 適切に選ばなければならないのですが、 - $\alpha$が小さすぎると、収束に時間がかかる - $\alpha$が大きすぎると、最適値を見つけることが出来ない $\theta$の初期値がすでに局所最小に収束してしまう可能性もあります。 これらの問題の解決法は、 後々説明されます。

Comments

Popular posts from this blog

Markdownで投稿する前に Visual Codeで下書き

Google code-prettify

【最重要】 Cost Function