おかねはだいじ

家計簿ときどき日常

りせっとです(66200円)

5/25は給料日なのでリセットです。

 

5/25 

本を買いました。

Javaサーブレットとかの本です。

いきなり3000円です。

これを最後の参考書にします。

朝食はおにぎり100円

昼食は吉野家で500円

夕食は大戸屋で850円

電車賃で150円程度

 

計4600円の出費。

あいたたた。

 

5/26

朝はおにぎりで100円

お昼は社食で600円

夜は飲み会で2600円

電車賃で300円

計3600円でやっぱりいたたた。

 

あとはdmm英会話の分を4月と5月のをここで計算しちゃいます。

5000円×2くらいで10000円です。

 

あとネット代で4000円。

 

22200円!!!

 

家賃で40000円!

 

66200円なり〜

 

ぐぬぬ

 

がいさんします(157800円)

どうやら5/16を最後に家計簿をつけていないようです。

光陰矢の如し。

 

とりあえず給料日前日である5/24までの家計簿を考えたいと思います。

 

 まず参考書が2冊です。

離散数学と日本語入力技術者の本で1200と1500円で2700円くらいです。

 

あとは1日あたり平均1200円くらい使っていました。

なので5/17〜5/24の8日間で9600円とします。

 

トータル12300円です。

 

かなり使ってしまいました。

反省。

ごーるでんうぃーく4(ぷらいすれす)

前回のゴールデンウィークの日記から1週間は経ってしまいました。

あっという間に時間が過ぎていきます。

驚きです。

 

さてさて。

ゴールデンウィーク4日目(5月6日土曜日)の話なのでうろ覚えな点もあるのですが、振り返ってみたいと思います。

 

朝は何時頃に起きたか思い出せません。

ただ、シュタインズゲートを2話程度みた記憶があります。

結局、前日夕方あたりからで14話くらいみれたのではないかと思います。

 

アニメを見終わったあとは彼女は帰る支度です。

新幹線なので東京駅に向かう必要があるとのこと。

悲しいものです。

 

お昼ご飯はサイゼリヤです。

そこで彼女の化粧について言及しました。

僕は実のところ化粧が苦手なのです。

すっぴんのほうが良いと思うのですが、周囲の目や多くの女性が持っているであろう共通認識なるものがそれを許さないようです。

むむむです。

 

そういえば、僕はいろいろな面でマイノリティなところがあるのです。

東京駅に向かう電車では冠婚葬祭のあり方を議論したりもしました。

僕の方がなかなかうるさくなってしまいました。

はたから見たら口喧嘩に見えなくもありません。

サイゼリヤでもそんな感じだったと思います。

反省しないとです。

 

いやはや。

彼女の東京滞在最終日は楽しい思い出より微妙な思い出の方が多いかもです。

次回のテーマは、大人しく慎ましく、です。

今決めました。

 

そろそろ締めです。

振り返ってみれば、彼女と過ごした4日間はとても充実してました。

とはいうものの僕自身は基本的に僕のやりたいこと(数学とプログラミング)をやっていたので、もてなしの精神はかなり欠落してました。

今後どう改善していくか必見ですね。

 

 

ちなみに。

5日目の内容はあれです。

お昼に起きました。

んでゴールデンウィーク中にちょこちょこ進めてたLSTMっていうニューラルネットワークの一種の実装がひと段落。

実際は修正点だらけでその後数日かけてまともなものになりましたとさ。

 

ちゃんちゃん。

さんこうしょがほしくなる(145500円)

買ったけど読めてない参考書がいくつかあります。

内容が古くなる前に読破しておきたいものです。

 

お金については

月曜日

朝はおにぎりで100円

昼は吉野家、夜はすき家で1000円

火曜日

月曜日と全く同じで1100円

 

あと最適化数学の入門書が3300円でした。

 

先日購入したベイズ統計の本も2000円くらいです。

高いですね。

 

あとデータベースの入門書を買って、グループ開発研修にのぞみたいと思っていたり。

 

勉強がんばります。

すうがくめも3(numpyとネガティブサンプリング)

今回は数学というよりプログラミングな要素を含んだメモ。

はじめにnumpyでzeroベクトル(もしくは行列)について。

zeroベクトルはfor文の中で初期化した方が、ループごとに*=0するより速い可能性あり。

つまり、

for _ in range(10000):
    z_mat = np.zeros((1, 100000))

の方が↓より速い!!!

z_mat = np.zeros((1, 100000))
for _ in range(10000):
    z_mat *= 0

次にネガティブサンプリングの実装について。
まずはこれから登場する各文字たち。
V: 語彙数
H: 中間層の次元数
K: サンプル数 input_weight: (V, H) の行列
output_weight: (H, V) の行列

  1. 語彙idからinput_weightに直接アクセスして単語分散表現を抽出(注意: 内積をとるのではなく直接アクセスすること)
  2. 単語分散表現(1, H)とoutput_weightの内積を取る→ output_vec(1, V)
  3. output_vecから正解の単語idとサンプリングした単語idに対応した値をもったベクトルを用意 → sampled_vec(1, K)
    これは、長さがサンプル数+1のzeroベクトル
tmp_zero = np.zeros((1, k+1))

sampled_num = np.random.randint(0, V, K)

を用意して

sampled_vec = output_vec[(tmp_zero, sample_num)]

すればおけ
これは下記と異なり、sampled_vec = のように別の変数に代入してもよい。
4. 同様にoutput_weight(H, V)からも 正解の単語idとサンプリングした単語idに対応した場所にアクセスする
→ output_weightの[ [正解id, sample_id1, sample_id2, … ,sample_idK ] ]: 次元数は(H, K)次元

(ここで超要注意!!!

tmp = output_weight[[正解id, sample_1, sample2.,,,]] 

とすると、スライスされたことになりディープコピーになるので tmp に加算してもoutput_weightは更新されない!!!
5. 中間層の誤差は 出力層の誤差ベクトル(1, k)とoutput_weight [ [正解id, sampled_1, …] ]の転置行列(k, H) の内積をとる


h_err = np.dot(誤差ベクトル, sampled_vec)

こんな感じ。
でもこれ(ネガティブサンプリング)、実は構想の段階。

というのも、今日学んだのがたとえzeroベクトル(もしくは行列)の掛け合わせ、つまり非常にスパースなものでもその次元数が大きくなれば演算に非常に時間がかかるということ。
最初は下記のようなスパースなsampled_vecを取得しようとした。

k = 5

myvec = np.arange(100000).reshape(1,100000)

for _ in range(300000):
    z_mat = np.zeros((1, 100000)) 
    z_vec = np.zeros(k, dtype=np.int64) 
    sample_vec = np.random.randint(0, 100000, k)
    z_mat[(z_vec, sample_vec)] = 1
    sampled_vec = myvec * z_mat # ここが凄まじく時間かかってた
    z_mat = np.zeros((1, 100000))
    #a = softmax(myvec) # これは比較用

sampled_vecはoutput_vecから正解+サンプル数のところだけ1にして残り0になっているもの。
このコードでは、softmaxの8倍程度しか速度が出なかった。
(実はここでzeroベクトルの *=0 による初期化が遅いことも発覚した)  

まだまだ勉強しなければならないことはたくさんあります。

さぼりぎみです(140000円)

むむ。

雑な家計簿になりつつあります。

というかなっています。

どうやら火曜日からつけていないみたいです。

これはいけません。

日付が近い順に遡ってみたいと思います。

 

土曜日:

電車代330円

昼食500円(たくさんの菓子パン)

夕食500円(すき家)

 

金曜日

朝食100円(おにぎり)

昼食700円(ラーメンとチョコあんぱんとかいうお菓子)

夕食4000円(飲み会3500円とマジシャンに払った500円)

 

木曜日(この辺から曖昧です)

朝食100円(おにぎり)

昼食500円(吉野家)

夕食500円(すき家)

 

水曜日

木曜日と同じ感じ

 

火曜日

木曜日と同じ感じ

 

ってなわけで端数は切り上げして9500円です。

計算は間違ってしまっているかもしれませんが気にしないことにします。

あと電気代とガス代で合わせて5000円くらいでした。

 

買いたい参考書もあります。

まだまだ道は険しいです。

 

 

 

 

ごーるでんうぃーく3(ぷらいすれす)

3日目: エル・プサイ・コングルー

 

前日はけんかしてしまいました。

悲しいことです。

ですが、けんかするほど仲がいいとか言ったりもします。

なので仲がいいんです。

 

お昼あたりに起きました。

洗濯をしました。

僕はプログラミングをしたりもしてました。

そんなこんなで2時とか3時です。

お腹はぺこぺこ。

大戸屋という唐揚げ定食がおいしいお店に行きました。

満腹です。

 

帰ってからは彼女と一緒にシュタインズゲートをみました。

僕はだいぶ前にみていたのですが、やはりおもしろいですね。

大まかな流れは覚えていたのですが、ところどころの小ネタは新鮮な気持ちで楽しめました。

彼女は笑ったり怖がったりと表情ゆたか。

まるです。

 

そんなこんなで夕食を食べたりもしていたら、夜中の3時過ぎです。

あっという間です。

 

続く。