機械学習とその他

機械学習したいマン

2017年に作った食べ物を振り返る

2017年を食べ物で振り返る

一年の振り返りかたは色々あると思いますが、今年はたくさん食べ物(特にお菓子)を作ったので写真を添えて見ていくことで、一年を振り返りたいと思います。

 

  • 卵サンド
    レシピ見てたら作りたくなったので作りました。からしがきいてておいしい。f:id:looseleaf0727:20171231221448j:plain

  • フレンチトースト
    アルミホイルで簡単に作れるやつ。カラザをとったほうがおいしいかも。

    f:id:looseleaf0727:20171231221622j:plain

  • レアチーズケーキ
    底が抜けない型で作ったのと、クッキーがあまり固まらなかった。でもおいしかった。

    f:id:looseleaf0727:20171231221815j:plain

  • フォッカッチャ
    普通のパンより歯ごたえがありますよね。じゃがいも入ってるから腹持ちがよい。

    f:id:looseleaf0727:20171231221902j:plain

  • チョコレアチーズケーキ
    底が抜けない型使ったのでまた崩壊しました。味は普通においしい。

    f:id:looseleaf0727:20171231221930j:plain

  • 焼きチョコ
    友達が好きだったやつ。食感がガルボみたいにほろほろでおいしい。

    f:id:looseleaf0727:20171231222004j:plain

  • チョコチップスコーン
    チョコを刻んでいれた。おなかにたまる。

    f:id:looseleaf0727:20171231222034j:plain

  • ガトーショコラ
    粉糖かけたらそれっぽくみえた。けっこう重めだけどおいしい。

    f:id:looseleaf0727:20171231222143j:plain

  • 紅茶のスコーン
    アールグレイを入れたスコーン。香りが少しリッチ。

    f:id:looseleaf0727:20171231222240j:plain

  • クリームチーズのプリン
    普通のプリンよりリッチ。生クリームいれてるのでおいしい。

    f:id:looseleaf0727:20171231222607j:plain

  • 生チョコ
    完成後の写真がなかった。ブランデーを入れたことで風味がよくなった。

    f:id:looseleaf0727:20171231222707j:plain

  • チョコパイ
    冷凍パイ生地を使ったので簡単さくさく。

    f:id:looseleaf0727:20171231222818j:plain

  • パウンドケーキ
    しっとりしてる。発酵バターでリッチな風味に。

    f:id:looseleaf0727:20171231223031j:plain

  • クッキー
    ふつーにふつーなクッキー。作るの簡単でいいですね。

    f:id:looseleaf0727:20171231223607j:plain

  • スイートポテト
    裏ごしがまあまあめんどい。入れ物は100均で買うと便利。

    f:id:looseleaf0727:20171231223637j:plain

  • ウインナーパン
    卵黄を塗るときれいな色になるよ。皮付きのほうがぱりっとしておいしいかも。

    f:id:looseleaf0727:20171231223755j:plain

  • ちぎりパン
    練乳入れてるので甘め。発酵とかはめんどいけど作ってて楽しい。

    f:id:looseleaf0727:20171231224507j:plain

  • とうもろこしのかき揚げ
    甘くておいしい。お塩をつけると箸が進む。

    f:id:looseleaf0727:20171231224554j:plain

  • ガーリックラスク
    作った回数一番多いお菓子。バジルをかけるとそれらしくなるよ。

    f:id:looseleaf0727:20171231224645j:plain

  • ザッハトルテ
    見た目がしゃれおつスイーツ。作るの大変だし1000円くらいかかるけどリッチ。

    f:id:looseleaf0727:20171231224715j:plain

  • チョコラスク
    グラサージュの余ったチョコで作ったラスク。ふつー。

    f:id:looseleaf0727:20171231224832j:plain

  • チョコスコーン
    さっきのやつよりのっぺりしてる。焼いたら広がった。

    f:id:looseleaf0727:20171231225118j:plain

  • リコッタチーズのパンケーキ
    リコッタチーズを使ったパンケーキです。もう少しチーズ多くてもよかったかも。

    f:id:looseleaf0727:20171231225209j:plain

  • フォンダンショコラ
    砂糖100gの暴力的な甘さ。一個あたりのお腹にたまる感はすごい。

    f:id:looseleaf0727:20171231225302j:plain

  • 生クリームのプリン
    チョコ味とか色々つくった。わりとふつう。

    f:id:looseleaf0727:20171231230505j:plain

  • みかんカルピスの寒天ゼリー
    ヘルシー。味は無難。

    f:id:looseleaf0727:20171231230549j:plain

  • 食パン
    ホームベーカリーでせいっとしました。機械があるとお手軽~~~

    f:id:looseleaf0727:20171231230936j:plain

  • フランスパン
    なんかあんま膨らまなかった。そして固い。

    f:id:looseleaf0727:20171231231159j:plain

  • ラスク
    さっきのフランスパンで作った。これまた固い。

    f:id:looseleaf0727:20171231231229j:plain

  • チーズタルト
    市販のミニタルト型で作ったらとても簡単。そのままトレーにいれたままだと運びやすい。

    f:id:looseleaf0727:20171231231310j:plain

  • 豚肉の唐揚げ
    急におかずぽくなったけどおいしいですよこれ。おすすめです。

    f:id:looseleaf0727:20171231231345j:plain

  • カレーチャーハン
    カレー粉と肉とご飯を炒めるだけ。シンプルでおいしい。

    f:id:looseleaf0727:20171231231609j:plain

  • マフィン
    型を買ってみたのでおためしに。プレーンでおいしい。

    f:id:looseleaf0727:20171231231632j:plain

  • 豚肉とじゃがいものピリ辛炒め
    豆板醤おいしいですよね~。ご飯が進む。

    f:id:looseleaf0727:20171231231707j:plain

  • フランスパン二号
    さっきのよりおおきく膨らんだけど、クープが納得行かない。味はおいしい。

    f:id:looseleaf0727:20171231232221j:plain

  • フランスパン三号
    けっこうきれいになりました。粉とか酵母こだわると沼。

    f:id:looseleaf0727:20171231232237j:plain

  • チョコタルト
    膨らまさせすぎた。冷やして密度上げるとちょうどよくなります。

    f:id:looseleaf0727:20171231232334j:plain

  • ざくざくクッキー
    グラノーラを入れてざくざくに。食感が楽しいし味も面白い。

    f:id:looseleaf0727:20171231232350j:plain

  • 紅茶のクッキー
    少しもろもろしたけど、紅茶は安定感ありますよね。

    f:id:looseleaf0727:20171231232406j:plain

  • フロランタン
    材料が高い。アーモンドスライスが高い。天板一枚分できて味もおいしい。

    f:id:looseleaf0727:20171231232420j:plain

  • パウンドケーキ2号
    安い素材でチャレンジ。200円しないくらい。

    f:id:looseleaf0727:20171231232509j:plain

    f:id:looseleaf0727:20171231232451j:plain

  • スノーボールクッキー
    丸くなりにくいけどおいしいよ。冬らしいのも良い。
  • ザッハトルテ2号
    一番右のやつです。見た目も味もこだわった一品です。

    f:id:looseleaf0727:20171231232548j:plain

    f:id:looseleaf0727:20171231232529j:plain

  • レアチーズケーキ2号
    昔失敗したのが悔しかったのでリトライです。底のクッキーをチョコ味に変えたのがまたおいしいところです。レモン汁を3倍に増やしてさっぱりにしました。

    f:id:looseleaf0727:20171231232629j:plain

まとめ

なんだかんだたくさんお菓子をつくりましたね。2018年はもう少しおかずとか増やしたいところです。あとはお菓子の見た目も気合入れていきたい。

はてなブログのデザインについて

今日ははてなブログのデザインについて書いていきます。

好みのブログのデザインに変えることで、ブログを書くモチベーションにも繋がるので大切です。

テーマ選び

個人的には公式テーマの中から比較的好みのものを見つけるのがいいと思います。デザイン選びのページに飛んで考えてみましょう。

f:id:looseleaf0727:20171226120718p:plain

 

公式テーマはやはりよくも悪くも無難です。そのままでは同じデザインのブログをよく見かけるはずです。そこで背景などのカスタムが大事になると思います。

カスタマイズ

先程のページから背景画像や背景色などのテーマを変更できます。
ここをいじることで他人とかぶりにくいデザインの作成ができるかなと思います。

f:id:looseleaf0727:20171226120953p:plain

公式のテーマを何も変更せずに使うと、カテゴリの項目がなかったり、逆に必要のない要素がサイドバーにあるかもしれません。それもここのサイドバーから簡単に追加ができます。自分のサイドバーはこのようにしています。

f:id:looseleaf0727:20171226121333p:plain

まとめ

今回はデザインの変更について軽く触れました。デザインを変更することで書く人にも読む人にも良いものにできると思います。

アドベントカレンダーを終えて

アドベントカレンダー25日目です。 adventar.org

今日はアドベントカレンダーの総まとめをしたいと思います。

書いた内容一覧

一人アドベントカレンダーをしようと思ったきっかけ

このはてなブログを開設したときに、機械学習について書いていこうと思っていたのですが、実際に記事を投稿することはあまりなく、放置されているような状態でした。アウトプットをしたいと思っていたのにあまり出来ていない状態だったので、アドベントカレンダーをきっかけに、ある程度記事を書いていければいいかなと思ってはじめました。

アドベントカレンダーを始めて

実際にアウトプットをしてみて気づいたのは、きちんと理解していないと何も書けないということです。この一年間で色々やってきたとは思っていたのですが、中途半端な理解では書くことができず、下書きで見送る記事も多くありました。

一人アドベントの長所短所

一人アドベントは毎日アウトプットをするために新しくコードを書いたり、わからない部分を調べたりするので勉強にはなりました。ただし、毎日アウトプットという面に縛られて記事の品質は低下するときもありました。毎回当日投稿も厳しいので、一日遅れまでは特に気にせずにいきました。

まとめ

アドベントはみんながアウトプットを行うきっかけになっていいと思います。また、グループで行えば知見も溜まっていくのでいいこと尽くめです。アドベントが終わってもブログを書く習慣が残ればなと思います。

お疲れ様でした。

大学院について

アドベントカレンダー24日目です。

adventar.org

今日は少し毛色を変えて、本学の大学院について書いていきたいと思います。

大学院について

大学院入学までの流れ

内部進学であれば、推薦を出すだけでスッと終わります。支給されるタイプの奨学金が欲しい場合には書類が増えますが、それでもそこまで大変ではありません。4年の4,5月くらいまでに大学院に進学する意思を決めておけば大丈夫です。

大学院の講義

学部のときの講義に比べれば、座学だけではなく実際に手を動かす講義も多いのがいいところです。ソースコードをある程度書くような講義も多いのがいいところですね。悪い所としては、必要な単位数に対して全体の講義数はそこまで多くないので、ある程度は好きでもない講義を取る必要があるところです。大学院に進学してるくらいなのである程度専門に寄らせてほしい気持ちはありますね。

広義の意味で捉えるのであれば、人工知能に関する講義は多かったかもしれません。機械学習の授業、ニューラルネットワークの授業、統計などの授業、Rを用いた分析の授業などがあります。

大学院生の生活

これは完全に人によりけりです。ばりばり研究をしてるような人もいれば、開発をしてるような人もいるでしょうし、それ以外の活動に勤しんでいる人もいます。授業を大方取り終えてしまえば、4年生くらいの授業の少なさにはなるので、研究室に来る人も来ない人もいます。その関係か夜型の人が大半です。

大学院生の人数

うちの専攻はとても少なくて、同学年には30人くらいしかいません。同じ研究室に院生がいればラッキーくらいの感覚です。いない人はいい感じに後輩と仲良くするか、他の研究室の院生と仲良くしましょう。

大学院の卒業要件

学部のときと同じ部分として、一定単位数を取る必要があります。異なるところとしては、学会での発表が原則として必要になります。人気なのは情報処理学会ですね。

TAについて

SAは時給1000円ですが、TAは時給1600円、一コマ90分で3500円貰えます。実験は3コマあるので、1日実験のTAをすることで1万円がもらえることになります。

大学院進学の動機など

もともと大学院に行くことに決めていた、学部である程度就活がうまくいったので、院ならもっといいところにいけると思った、もっと研究がしたかったなど動機は様々です。大体どの人も直接聞けば教えてくれるので、大学院に興味がある人は聞いてみるといいと思います。

大学院に行くか迷っている人

内部進学であれば、5月くらいまでは何も考えずに就活をすることができるので、就活をしながら考えてみるといいと思います。企業で働いている人に相談してみたり、院生に相談してみるのもありだと思います。院には行きたいけど、お金がないから行かない、というのは少しもったいないのかもしれません。逆に、そこまで院に行きたくはないけどなんとなくでいくというのはそこそこ地獄かもしれません。

要注意事項

院に行くに従って、基本的に学部と同じ研究室に所属し続けることとなると思います。その際に、自分の卒業までその先生がいるのか、ちゃんと面倒を見てくれる人なのか、というのは重要な要素となると思います。院進学を考える4,5月くらいでは、まだ先生からきちんと指導をしてもらってないのでどんな人かはわからないと思います。3年生のうちから4年生や院生にどのような指導をしているか見ておけば参考になるかと思います。

まとめ

本学では進学は1割に満たない珍しい選択なので、家族や先輩、色んな人に相談した末に決めたほうがいいと思います。行くこと自体は全く悪いことではないですし、来てほしいですが、何らかの目的はあったほうがいいと思います。

よく使うコマンドについて

アドベントカレンダー23日目です。

adventar.org

今日はよく使うコマンドについて書いていきたいと思います。

よく使うコマンド

  • ls
    ディレクトリに何のファイルがあるか見れます。常に打ちます。

  • clear
    ターミナルのスクリーンを一度きれいにします。これも常に打ちます。

  • last
    ログイン履歴が見れます。使うサーバーに普段誰かログインしているのか確認するときなど。

  • who
    現在ログインしてる人を確認できます。作業前に大体使います。

  • nvidia-smi
    GPUの使用率などを確認できます。学習前や学習してる間に適宜確認します。

  • ps aux
    誰がどういうプロセスを動かしてるか確認できます。nvidia-smiで学習が回ってるのを確認したときに、誰が動かしてるか調べるのに使ったりします。

  • top
    CPU使用率やメモリ使用率を見れます。明らかに重いときに使います。

  • free -h
    メモリ使用率を比較的見やすい形で見れます。明らかにメモリを確保するプログラムを動かすときに使ってます。

  • dstat
    かっこいい形でCPU率などのデータが見れます。CPU使ってそうなときに使います。

  • du -m --max-depth=1
    容量確認ができます。モデルサイズが大きくて心配なときなど。

まとめ

サーバーの使用率を確認するようなコマンドばかりでしたね。ブラウザとかで統合して見れれば良さそうですが、サーバーには導入されてなくて使えないのが悲しいところです。

意識高い系お菓子作り

アドベントカレンダー22日目です。

adventar.org

今日はクリスマス会のためにザッハトルテを作ったのでその話を書いていきます。

作ろうと思ったきっかけ

クリスマス会の前日に後輩がケーキを持ってきてて、先輩もケーキ持ってくるから~という強めのフリを受けて、作らざるを得ない感じになってしまった。
そのケーキがガトーショコラとベイクドチーズケーキだったので、ある程度気合が入ったように見えるザッハトルテにしました。

ザッハトルテとは

チョコレート味のふんわりした生地を作り、その表面をグラサージュ(チョコレートでコーティング)したものです。よくあるものでは、2層みたいになっていたり、金粉が載っているものがイメージしやすいと思います。こんな感じのものです。 f:id:looseleaf0727:20171222233845j:plain

必要な材料

  • チョコレート 200g
  • ラニュー糖 70g
  • 粉砂糖 40g
  • 無塩バター 80g
  • 卵 4コ
  • 薄力粉 70g
  • ココアパウダー 10g
  • 生クリーム 100g

普段よりも材料が多めですね。チョコレート200gというのは、板チョコ4枚分に相当します。これがまあまあ値段かかるので、ダイソーのチョコを使うことで、チョコレートの費用を200円に抑えました。

無塩バターには、発酵バターを40g、ケーキ用マーガリンを40gの半々にしてみました。発酵バターは香りがいいけど若干高いバターです。

製作工程

まずは板チョコ100gを湯煎にかけます。この時期は寒いのでわりと時間のかかる工程になります。あと油断すると固まっていくので、常に湯煎してました。 f:id:looseleaf0727:20171222234343j:plain

別のボウルでバターを溶かしていきます。これも湯煎です。 f:id:looseleaf0727:20171222234346j:plain

溶けたら、卵黄を加えて混ぜます。4コです。 f:id:looseleaf0727:20171222234349j:plain

湯煎したチョコを加えて混ぜます。油断すると固まっていきます。 f:id:looseleaf0727:20171222234353j:plain

更に別のボウルで卵白4コを泡立てていきます。ハンドミキサーがないと死に至ります。泡の具合を見ながら、グラニュー糖を徐々に加えていきます。角がたったら終わりです。 f:id:looseleaf0727:20171222234351j:plain

うまくいくとこんな感じです。好みでメレンゲの固さも変えてもいいかも。 f:id:looseleaf0727:20171222234357j:plain

粉を振るいます。大変なので泡立て器で混ぜたままです。 f:id:looseleaf0727:20171222234403j:plain

メレンゲを加えます。これも徐々に、丁寧に混ぜていきます。メレンゲの泡を出来るだけ潰さないように心がけましたが、本来ならヘラで混ぜたほうが良いでしょう。 f:id:looseleaf0727:20171222234359j:plain

メレンゲを加え終えるとこんな感じです。前のボウルの画像と比べるとわかるかもしれませんが、だいぶ量が増えてます。 f:id:looseleaf0727:20171222234400j:plain

170度で予熱後、底が抜ける型にいれて焼きました。40分程度焼きます。 f:id:looseleaf0727:20171222234404j:plain

ここで一段落です。ただし、早めに型から抜かないとしぼんでしまうので、一度ケーキクーラーに出します。 f:id:looseleaf0727:20171222234406j:plain

クーラーがないので網に出しました。この時点でおいしそうですね。 f:id:looseleaf0727:20171222234407j:plain

二層構造にしたいので、半分に切りました。きれいに半分に切る方法なんかは、検索すると出てきます。 f:id:looseleaf0727:20171222234409j:plain

ガトーショコラと差別化するために、オレンジジャムを中間に塗りました。ぬった面同士を元通りくっつけます。少し汚く見えますが、くっつけたらいい感じになるはずです。 f:id:looseleaf0727:20171222234410j:plain

生クリームを沸騰させ、残りの100gの板チョコを入れて溶かします。これを上から勢いよく流しかけます。 f:id:looseleaf0727:20171222234415j:plain

こんな感じになります。ちょっと生クリームの温度をあげすぎたのか、表面が平らにならなかったのはややミスです。 f:id:looseleaf0727:20171222233845j:plain

モチベを高めるために、金粉をかけていきます。これがあるだけで見た目はだいぶそれぽくなります。 f:id:looseleaf0727:20171222234420j:plain

後は研究室に運びます。ダイソーで売ってたケーキ用の箱を使いましたが、中身が見えていい感じです。 f:id:looseleaf0727:20171222234423j:plain

他のケーキと3つ並べました。二層になっていてよかったです。 f:id:looseleaf0727:20171222234422j:plain

食べた感想

結構ボリュームがあるけれど、オレンジのおかげですこし爽やかでいい。
切ったときにも金粉があるとオシャレ度が高い。

まとめ

ザッハトルテ、まあまあめんどくさいけど見た目がきれいで味もおいしいのでみなさん挑戦してみてください。

kaggleの始め方

アドベントカレンダー21日目です。

adventar.org

今日はリクエストみたいなことされたので、kaggleの始め方について書きたいとおもいます。

kaggleとは

つい先日軽く触れたのでここを少し参照してください。

looseleaf0727.hatenablog.jp

コンペに参加

kaggleではいろんなコンペが開かれています。コンペの一覧はこちらから確認できます。 Competitions | Kaggle

練習用のものや、実際に賞金が出るもの、終わったコンペなどが見られます。 今回は入門用のTitanicに挑戦してみます。 https://www.kaggle.com/competitions f:id:looseleaf0727:20171222132549p:plain

コンペの概要

それぞれのコンペをクリックした先のページ、Overviewに書かれています。 どのような課題があるのか、どのようなデータが与えられるのか、何を予測してほしいのか、賞金についてなど色々ここに書かれています。

今回のTitanicの例では、有名なタイタニック号の沈没の話ですが、乗船していた客に生存者がいました。生存したか、チケットの等級、性別、年齢・・・など様々な情報が学習データとして与えられます。この学習データを元に、予測を行うモデルを作成します。最終的には、生存したかどうかが抜けている本番データを用いて、生存したかどうかを予測します。

与えられるデータの中身やその説明などはDataタブに書かれています。 OverviewのEvaluationには、提出するファイルのフォーマットが書かれています。このフォーマットに基づいたファイルを提出することで、精度などのスコアが計算され、自分の順位を確認できるようになります。

データのダウンロードと予測

今回コンペのデータとして、学習に使うtrain.csv,検証に使うtest.csv,あとgender_submission.csvの3つのファイルが与えられています。train.csvを使って、予測をしていきましょう。

環境はjupyter notebook、python3でいきます。 基本的にはpandasとかいうの使うと便利なのでそれでいきましょう。

csvを読み込んでpandasのDataFrameにしました。headを使うことで指定した分だけデータを見れます。表で見れるのがいいですね。

import pandas as pd
train = pd.read_csv("train.csv")

train.head(3)

f:id:looseleaf0727:20171222170008p:plain

dtypeを見ておきます。

train.dtypes

>>>
PassengerId      int64
Survived         int64
Pclass           int64
Name            object
Sex             object
Age            float64
SibSp            int64
Parch            int64
Ticket          object
Fare           float64
Cabin           object
Embarked        object
dtype: object

null値が入ってないか確認しましょう。

train.isnull().sum()

>>>
PassengerId      0
Survived         0
Pclass           0
Name             0
Sex              0
Age            177
SibSp            0
Parch            0
Ticket           0
Fare             0
Cabin          687
Embarked         2
dtype: int64

性別で生存率が違うのかなあって思ったので調べてみましょう。欠損もラッキーなことにありませんでした。まずは人数を調べます。

len(train[train.Sex == "male"])
>>> 577

len(train[train.Sex == "female"])
>>> 314

性別ごとの生存率を見てみましょう。1なら生存してます。

(train[train.Sex == "male"]["Survived"] == 1).mean()
>>> 0.18890814558058924

(train[train.Sex == "female"]["Survived"] == 1).mean()
>>> 0.7420382165605095

男性は19%しか生存してないけど、女性は74%も生存してますね。
何も考えずに、男性なら死亡、女性なら生存で予測するモデルということにしましょう。

本番データを読み込んで、欠損値の確認をします。

test = pd.read_csv("test.csv")
test.isnull().sum()

>>>
PassengerId      0
Pclass           0
Name             0
Sex              0
Age             86
SibSp            0
Parch            0
Ticket           0
Fare             1
Cabin          327
Embarked         0
dtype: int64

先程の条件で、性別のみで決定をしていきます。
あとは、提出するフォーマットに合わせるため、Idと予測でセットにします。
注意点としては、index=Falseにしておかないと提出したときにエラーを出します。

Survived = []

for i in test.Sex:
    if i == "male":
        Survived.append(0)
    else:
        Survived.append(1)

out = pd.DataFrame(test.PassengerId)
out["Survived"] = Survived
out.to_csv("submission1.csv", index=False)

あとは、出力されたcsvを提出します。
Submit Predictionから提出できます。 f:id:looseleaf0727:20171222171800p:plain

csvファイルをアップロードし、Optionalですが、Describeを記入してもいいです。 f:id:looseleaf0727:20171222171812p:plain

スコアはLeaderBoardから確認できます。自分のスコアや、正しく動作したかなどが表示されます。 f:id:looseleaf0727:20171222172058p:plain

コンペのトップページで再び戻ってみると、順位を確認できます。 f:id:looseleaf0727:20171222172238p:plain

機械学習を使う

機械学習を使う際にはscikit-learnを使うと非常に楽ができます。 * 学習データと検証データの分割 * F1値などの表示 * 学習と予測 * 最適なパラメータの探索 * 混合行列の作成

使うアルゴリズムの選定は、scikit-learnに選ぶときに参考になる画像があります。そちらを見て決めていきましょう。

今回は色々検証したりしたのですが、めちゃめちゃ書くと文量が多くなるので途中でやめておきます・・・。 ソースコードは貼り付けておくので見てみてください。