分からんこと多すぎスマートフォン用の表示で見る分からんこと多すぎ何故か就職できたので技術磨く。一人前の多重線形代数使いを目指しつつ、機械学習、データマイニングをやるこの広告は、90日以上更新していないブログに表示しています。←読めるわけないだろそういう人向け。(たぶん学部四年程度向け)ニューラルネット初学者が、書ききるまで怪しいところ満載でも突っ走ります。Machines)→(DeepBeliefNetwork)→(DeepNeuralNetworks)→畳み込みニューラルネット(後日)までやる。太線以外は読み飛ばしてOK本文中では怖い式は使わない。(Appendixに書く)分からない人がいたら、説明を追加する。算数が覚束ないので、間違ってたらごめんなさい。ディープラーニングとは1.ディープラーニングとは、”ニューラルネット(っぽいもの)”を”多層に”積み上げたものによる学習器の総称である。2.特徴量を自動で作ってくれる。3.画像認識とかの記録を驚くほど塗り替えた、新進気鋭の技術。今回は、まずニューラルネットワークの話をする。ニューラルネットをとりあえず使ってみるニューラルネットを使うと、任意の関数が近似できる。クラス判別の場合は、ある関数が境界面をつくっていると考える。境界面をつくっているある関数を推定する問題と見れば、任意の関数を近似する問題と同様に解ける。)が黒線に近づくように未知の関数(今回はsin関数)を求めたいニューラルネットの役割:未知の関数そのものを、近似する関数になること更新を重ねると、以下のように推定した関数が変化していく。ニューラルネットとはニューラルネットとは、多層パーセプトロンのこと。そもそもパーセプトロンってなに?1962年にローゼンブラットが作ったアルゴリズム。表される線形識別モデルのこと。ここで非線形活性化関数fはというステップ関数である。重みwで足しあわせ、ステップ関数で二値に分類するものである。尤度関数がパラメータの凸関数にならないため、勾配法を何回も解いて解に近づけることになる。学習し終わったモデル自体は軽量なので、新しいデータを高速に処理できること。ニューラルネットを図的に書くと、こんな感じになる。入力変数ベクトルxが与えられた時、線形変換wをいじることで、出力変数ベクトルyを目標ベクトルtに近づけるのが目的となる。したがって、以下の誤差関数を最小化すれば良い。一個ずつ説明していく。ニューラルネットの仕組み1.まず、d次元のデータベクトルがやってくるあと、関数の切片とかをいじるために、バイアスパラメータx0=1をくっつける。2.入力ベクトルが線形変換されて、各活性aに入るつまり,3.各活性がしきい値を超えたら発火する(1の値を取る)つまり,非線形関数h(・)はロジスティックシグモイド関数や、tanh関数のようなシグモイド関数を用いる。標準シグモイド関数は,こんな関数.非線形変換がないと任意の関数を近似することができないので、何らかの関数が必要とされる。これらのシグモイド関数が用いられるのは、微分した時の値の計算が簡単なためである。指数関数族は微分にて最強。図からも見て取れるように、ニューラルネットワークは、パーセプトロンが二段重なった構造になっている。パーセプトロンとの違いは、ステップ関数ではなく、連続で非線形なシグモイド関数を用いる点である。連続関数を用いているため、パラメータに関して微分可能であり、高速な学習を可能としている。シグモイド関数の非線形領域を用いた場合のみ、ニューラルネットは万能の関数近似器になる。(シグモイド関数の真ん中ら辺は、線形領域なので、ただの線形変換しかしない。主成分分析のように特徴量が圧縮される(AutoEncoder)。逆に、隠れ層の素子数を、入出力次元数よりも大きくすると、スパースコーディングのように特徴量がスパースになる(SparseAutoEncoder)。やって学習するの?誤差関数は、次の式で与えられる。これをwを変化させることで最小化する。最急降下法を用いると、wの更新式は以下のようになる。これはすべてのデータを一度に使うバッチ学習というもので、ニューラルネットの学習にはふさわしくない。(計算オーダーが、後に紹介する最適化よりもはるかに大きい)そこで今回は、得られたデータごとに逐次、勾配降下法を行うこととする。その和が最終的な誤差関数となる。この誤差関数を最小化していくのが、オンライン勾配降下法である。(StochasticGradientDescent)と呼ばれている。分からんこと多すぎ要するに、上式のようなパラメータの更新をすれば良い。propagation上図のような関係を考える。よる微分は、以下のようになる。書くこととする)(導出は長いので最後に書いた)ちなみにNは層の総数。したがってパラメータの更新式は、以下のようになる。return(0)}飛ばしたBackPropagationの計算。次回はボルツマンマシンの話。fo...2014-03-08ゼロから始めるDeepLearning_その4_RestrictedボルツマンマシンとははじめにMNISTで全然うまく行かないことが発覚したので、最適化...2014-03-06ゼロから始めるDeepLearning_その3_ボルツマンマシンとははじめに学部四年生向け。ゼロから始めるDeepLearning_その1_ニ...2014-03-03ゼロから始めるDeepLearning_その2_ホップフィールドネットワークとははじめに学部四年生向け。(6)はてなブログをはじめよう!rishidaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。