Deep Learningを学ぶ上で必要な知識 – ニューラルネットワーク

ニューラルネットワーク: 入力層、中間層(隠れ層)、出力層の3種類の層からなる。 層の数え方は重みを持つ層のみをカウントするパターン(中間層が1層の場合、2層ネットワークと呼ぶ)とすべての層をカウントするパターン(中間層が1層の場合、3層ネットワークと呼ぶ)があるので注意が必要。 ニューラルネットワークの繋がり方自体はパーセプトロンと同一。     活性化関数: パーセプトロンの以下の式を一つにまとめる。 y = 0 :  x1 * w1 + x2 * w2 + b  <= 0 y = 1 :  x1 * w1 + x2 * w2 + b  > 0   h(x)

Deep Learningを学ぶ上で必要な知識 – パーセプトロン

単純パーセプトロン: 入力信号xに対して、重みづけwを行い、その結果が閾値θを超える場合発火する(1を返す) パーセプトロンは以下の数式で表すことができる。 y = 0 :  x1 * w1 + x2 * w2 + b  <= 0 y = 1 :  x1 * w1 + x2 * w2 + b  > 0 単純パーセプトロンは線形(x1, x2の一次関数)で表現されるため、AND/NAND/ORといったゲートは表現できるが、XORゲートは表現できない。=単純パーセプトロンの限界 多層パーセプトロン: パーセプトロンを複数個組み合わせて層にしたもの。 XORゲートがAND/NAND/ORゲートを組み合わせることで表現できるように、一つのパーセプトロンでは表現できないものを表すことができる。   ニューロン、ノード:

文系エンジニアが学ぶ機械学習

0.はじめに 少し前からよく機械学習というキーワードを聞くことが多くなりました. 機械学習を学ぶ上では数学的知識が必要なことが多く,大学で数学を学んでいない方にとってはハードルが高いと思われがちです. そこで文系エンジニア目線で機械学習について学んだことをまとめて見ました. 同じ文系エンジニアや機械学習初心者の助けになればと思います.   1.前提 以下の言語・ライブラリを利用しております. python : 2.7.6 tensorflow : 0.11.0   2.機械学習の種類 教師あり学習(supervised learning) 学習に用いるデータの中に,正解となる値(予測したい)値が含まれているもの. 例えば有名なMNISTの場合,0-9の画像と共にその画像が表す数字がセットとなっているため,教師あり学習に分類される. 教師あり学習は以下のいずれかに分類できる. 分類(classification) 2種類以上に分類されているデータを用いて学習し,未分類のデータがどの分類に含まれるのかを予測する.別の見方をすれば,連続した値ではなく飛び飛びの値を用いた教師あり学習と考えることができる. MNISTもこれに含まれる.(0-9のどの数字に当てはまるか分類するため) 回帰(regression) 出力結果(予測結果)として望む値の中に,1つ以上の連続的な値が含まれている場合,回帰と呼ばれる. 例えば,面積と高さから建物の価格を予測する問題がこれに該当する. 教師なし学習 学習に用いるデータに正解となる答え(target values)が含まれていない場合,教師なし学習と呼ばれる. 学習の用途としては以下の3つが考えられる. クラスタリング: データを似た値同士でグループ分けする 密度予測: 入力値からデータの分散度合いを予測する 低次元化: 高次元のデータを2-3次元のデータに変換する.これはデータの可視化等に用いられる. 3.機械学習に用いるデータの考え方 機械学習ではデータをもとにアルゴリズムの学習を行い,その後新しい別のデータに対して学習したアルゴリズムを適用して評価を行う. そのため通常の機械学習ではデータを学習用データ(training

macでdockerからGUIアプリを立ち上げる

1. 前提 OS: Mac OSX Docker, homebrewをインストール済み GUIで動作させたいDockerコンテナがある 2. 実行方法 (1) 環境のセットアップ homebrewを使って必要なソフトウェアをインストールしていきます. homebrewのインストールがまだであれば以下のコマンドを実行してください.

最後に,XQuartzというX Window Systemのクライアントを実行します.

(2) socatの実行 (1)の最後に立ち上げたXQuartzのウィンドウ上にて以下のコマンドを実行します.

XQuartzのウィンドウ上にて実行することがポイントです. 不安であればウィンドウ上でecho $DISPLAYを実行し,値が返ってくることを確認してください. (3) dockerコンテナの実行 以下のようにdockerコンテナを実行してください.

 ポイントは ・DISPLAY=で指定するIPはdockerを実行している(=host側の)端末のIPです.     ifconfig等を実行して,端末に割り当てられているIPを確認してください.     docker containerの内部からアクセス可能なIPである必要があります.  

Windows8.1で英字配列を利用する方法

Windowsで英字配列を追加する方法を紹介します。 プログラムを組んだり、英文しか入力しないときは、英字キーボードの配列に変える方が効率的に入力できるのでお勧めです。 特に海外製のIDEのショートカットキーやviのコマンドは英字配列が前提になっていることが多く、一度英字配列にはまるとやみつきになると思います。