2017-01-01から1年間の記事一覧

rnnlmを作ってみる その2 誤差について

入力された単語に対して何が出力されるのか、ということは前回やりました。 今回は、rnnlmの学習でどのような誤差を評価するかについてです。 早速ですが、tensorflowのチュートリアル Recurrent Neural Networks | TensorFlow では下記のように書かれていま…

rnnlmを作ってみる その1 定義とか

深層学習による自然言語処理 の本によれば、 "言語モデル(Language model: LM)あるいは確率的言語モデル (probabilistic language model)とは、人間が扱う自然言語で書かれた文や文書が生成される確率をモデル化したものです" となっています。 例えば、"今…

引っ越しました

はてなダイアリーからはてなブログへ引っ越しました

juman++を利用して分かち書き

ひとまずの目標がrnnlmを作ってみることなので、その準備として日本語の文書を渡してそれを形態素ごとに区切って出力するやつを作っておきたいです。環境を汚したくないのでdocker内にjuman++をインストールします FROM ubuntu:17.10 RUN apt-get update RUN…

batch, epochについて学ぶ

1回のパラメータ更新のために利用するデータの数をbatch_size, データを何周するかをepochと呼ぶみたいです前回は簡単のためbatch_size = 1, epochs = 1 としましたが、現実的には両方1というのはあまりないと思うので前回のプログラムを修正してbatch_size…

dynamic_rnn を使ってみる

dynamic_rnn は前回のinference相当の事をやってくれるらしいです。 In [47]: def inference(x, max_len): ...: state = initial_state ...: for i in range(max_len): ...: (output, state) = rnn_cell(x[i], state) ...: return tf.squeeze(output) あと、…

tensorflow で rnn を動かしてみる

tensorflow の rnn のチュートリアルはちょっと複雑で何をやってるのかパッとはわからないので、簡単なやつを作って動かしてみたい そもそもRNNとは? 出力をまた入力に使うらしい。よくこんな図を見るけど具体的に何が起きているのか?深層学習による自然言…

tensorflowの初歩の初歩

tensorのshape/dimension 一般的には m行n列の行列は m×n行列 と表記すると思うけど m = tf.Variable([2,3]) とかしたときは2行3列なのか??とかちゃんとわかってないので確認したいconstantで確認する In [12]: c1 = tf.constant([[1,2,3], [2,3,4]]) In […

面白いバラエティ番組に共通しているスタッフが作っている番組もきっと面白いんじゃないかと思って調べた

お笑い番組がすごく好きで昔からよく見ていたのですが、最近、"タレント☆名鑑も水曜日のダウンタウンも藤井健太郎という人がつくっているのか!"、とか、"ゴットタンでもキングちゃんでも佐久間Pが出てきてるな〜"、とか思うことがあったので、"出演者よりも…

ScalaTest がよくわからなかったので調べた

Scalaの勉強をしていて下記のようなコードが出てきたhttps://dwango.github.io/scala_text/test.html#fn_3 import org.scalatest._ class CalcSpec extends FlatSpec with DiagrammedAssertions { val calc = new Calc "sum関数" should "整数の配列を取得し…

Google Python Style Guide を読んだ時のメモ

https://google.github.io/styleguide/pyguide.html を読んだ時のメモ Imports パッケージかモジュール単位でのみimportをする Packages モジュールはフルパスを指定してインポートする # Reference in code with complete name. import sound.effects.echo …

pandasの使い方とか

普段pythonもpandasもscikit-learnも使ってないのでチートシート的にまとめておきたい随時更新していく ファイルの読み込み train = pd.read_csv('train.csv') 欠損値の確認 total = train.isnull().sum().sort_values(ascending=False) ratio = total / tra…

Stackingについて

https://mlwave.com/kaggle-ensembling-guide/を読んでも意味がわからなかったけど、やっとわかったのでメモとして残す。意味がわからなかったのは、Stacked generalizationの部分で、 ・Split the train set in 2 parts: train_a and train_b ・Fit a first…