読者です 読者をやめる 読者になる 読者になる

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

【python】【機械学習】Jupyterの起動方法

機械学習 Python

jupyterはanacondaに入っている.

$jupyter notebook
$ipython notebook

右上の選択画面からpython2を選んでコードを書く.

【ubuntu】管理者権限について

Linux

Ubuntuではデフォルトで一般ユーザとなるので新たに管理者権限を設定しなくてはいけない.

$sudo passwd

【TensorFlow】tf.Variableのトレーニング

機械学習 TensorFlow Python
sess = tf.Session()
sess.run(tf.initialize_all_variable())

これを実行した時点でそのセッションにおけるtf.Variableの値が初期化される.
複数のセッションを宣言し個別に計算させることも可能.

機械学習とTensorFlow

機械学習 Python TensorFlow

機械学習の大まかな手順
1.教師データから未知のデータを予測する式を立てる.
2.数式に含まれるパラメータを評価する損失関数を用意する.
3.損失関数を最小にするパラメータを用意する.(勾配ベクトルが小さくなるように移動)

 y = Xw で表され
Xはトレーニングセットとして与えられたデータでPlaceholderという.
wは最適化を実施するパラメータでValiableという.

TensorFlowで表すと下のようになる.

x = tf.placeholder(tf.float32,[None,5])#xは浮動小数点32bitでn*5行列
w = tf.Valiable(tf.zeros([5,1]))#wは5*1行列で要素が全て0の行列
y = tf.matmul(x,w)
loss = tf.reduce_sum(tf.square(y-t))#損失関数の定義:reduce_sumはベクトルの要素を全て足す, squareはベクトルの各要素を二乗する
train_step = tf.train.AdamOptimizer().minimize(loss)#AdamOptimizerは損失関数を計算して勾配ベクトルの反対方向にパラメータを修正する,
#学習率εに相当するパラメータを自動的に修正してくれる,minimizeは引数の損失関数を最小化する

これで損失関数を最小にするパラメータの値が決定できる.

【DL】sigmoid関数, ReLU関数

機械学習 Python

sigmoid関数
 \frac{1}{1+exp(-x)}
f:id:umashika5555:20170328081139p:plain

import numpy as np

def sigmoid(x):
    return 1/(1+np.exp(-x))

def main():
    x = np.array([-2.0 ,1.0, 2.0])
    y = sigmoid(x)
    print(x)
    print(y)
    
if __name__=='__main__':
    main()

結果は下記
入力が小さいほど出力も小さい.
入力が大きいほど出力も大きい.

[-2.  1.  2.]
[ 0.11920292  0.73105858  0.88079708]

ReLU関数
 x\ge0 f(x) = x, x\le 0 f(x) = 0
 f(x) = max(0,x)
f:id:umashika5555:20170328082054p:plain

def ReLU(x):
    return np.maximum(0,x)

sigmoid関数と同じ入力をすると結果は下記のようになった.

[-2.  1.  2.]
[ 0.  1.  2.]

Anacondaインストール

Linux Python

Python2.x
ここからインストーラをダウンロード
Download Anaconda Now! | Continuum

bash Anaconda2-4.3.1-Linux-x86_64.sh 

ひたすら"yes"を入力
端末を再起動する

conda -V

と入力して確認する.
Anaconda を利用した Python のインストール (Ubuntu Linux) – Python でデータサイエンス

【Linux】ファイルマネージャーのコマンドラインからの起動

Linux
$nautilus .
$gnome-commander

【Linux】複数コマンドの使用

Linux

qiita.com

latexの編集にはコマンド1が終了したらコマンド2を実行する"コマンド1;コマンド2"が便利.

$platex report.tex; dvipdfmx report.dvi
$platex report.tex; dvipdfmx report.dvi;evince report.pdf

アニメOPの顔検出

画像処理

kivantiumさんの『ご注文はDeepLearningですか?』にインスピレーションを受け, まだキャラを分類するなど学習を取り入れたワケではないが作った.



kivantium.hateblo.jp

www.youtube.com
www.youtube.com

ubuntu 動画と音声を組み合わせる

画像処理 Linux

コレの通りにやる!
brlat.sakura.ne.jp