じぶんメモ

プログラミングのメモ、日常のメモとか。

機械学習

n-gramによる文章の類似率を求める

N-gramとは、テキストで隣り合ったN文字のことを示す。 以下では2つ文章を指定された文字数で分割し、2つの文章間で分割した文字がどれだけマッチするかの頻度から、2つの文章の類似率を求める。 def ngram(str, num): res = [] slen = len(str) - num + 1 f…

TensorflowとKerasを用いてmnistのCNNを構築してみる

コードは以下の通り。 Tensorflow・Kerasを使ってmnistの訓練を行う from keras.models import Sequential from keras.datasets import mnist from keras.layers.convolutional import Conv2D from keras.layers.pooling import MaxPooling2D from keras.lay…

TensorflowとKerasを使ってmnistの訓練と評価をしてみる

Tensorflow・Kerasとは(ザックリ) Tensorflowはpythonで使える機械学習のためのライブラリ Kerasは更にラッパーライブラリで、Tensorflowだと数百行かかるコードが数十行で済んだりする。 インストール方法 とりあえずpipで入れてみる。 $ pip install -U te…

【ゼロから作るDeep Learning】要点まとめ 第7章

7章 - 畳み込みニューラルネットワーク CNN(Convolutional Neural Network)は、畳み込み層、プーリング層からなる学習方法 基本的にはconv→relu→conv→relu→...→pool→conv→relu→conv→relu→...→pool→affine→softmaxの流れ conv→relu or conv→relu→poolが隠れ層…

【ゼロから作るDeep Learning】要点まとめ 第6章

6章 - 学習に関するテクニック 勾配法の種類 勾配法の種類はSGD, Momentum, AdaGrad, Adamがある。(AdaGrad,Adamが学習スピードが早い) 重みパラメータと活性化関数での出力値 重みパラメータの初期値は小さくすることで過学習を防げるが、0にすると各層で…

【ゼロから作るDeep Learning】要点まとめ 第4章, 第5章

4章 - ニューラルネットワークの精度を高めるためには 損失関数 ニューラルネットワークで出力された結果に対して、損失関数を使ってニューラルネットワークの精度の悪さを求める。 損失関数の引数は、ニューラルネットワークの出力結果と、正解ラベル(教師…

【ゼロから作るDeep Learning】要点まとめ 第3章ニューラルネットワーク

最近オライリー社から出版されている「ゼロから作るDeep Learning」を読み始めた。 数学の知識がない僕には結構難しかったので、備忘録として要点をまとめていこうと思う。 1,2章に関してはpythonの話や、ANDゲート等の基本情報的な内容が多いので、ここでは…