pei’s blog

情報科学を学ぶ大学4年生。主にプログラミング(機械学習寄り)の話題を書いていきます。

エッセンシャル思考を読みました。

エッセンシャル思考という本を読んだので紹介します。仕事術・自己啓発本のようなジャンルの本です。どんな本? ざっくりいうと広く浅くではなく、狭く深くで質を高めようという内容です。選ぶ・捨てる・手放す・削るのような言葉がキーワードです。 それを…

SQLのWHERE句の書き方による実行速度の違い

今回はSQLの書き方によって実行速度がどのくらい変わるのか簡単な実験をします。 最近バイトでSQLを書いている時、よく「WHERE句の記述の順序を変えたらどのくらいパフォーマンスが変わるのだろう?」と思っていたのでやってみました。 目次 準備 実験内容 …

参考書レビュー 詳解ディープラーニング

今回は詳解ディープラーニングのレビューについて書きます。※私個人の感想です。 ざっくり言うとどんな本?ニューラルネットワークの道具としての使い方がわかり、なおかつ仕組みについても詳しくわかる本です。目次 前提知識 内容 特徴 他の参考書との違い …

Python pickle化できないときの解決策(dill)

今回はPythonのオブジェクトをシリアライズするライブラリのdillについて書きます。 pythonのシリアライズはpickleを使っている人が多いと思いますが、pickleだと特定の条件での関数オブジェクトをシリアライズできないなどの制約があります。こんなコード…

Pythonでドキュメントの重み付け(Okapi BM25)

今回はOkapi BM25での文書の重み付けを実装します。目次 Okapi BM25とは 実装 導入してみた Okapi BM25とは TF-IDFに似た文書の重み付けの方法です。wikipedia(英語) 以下の式で表されます。 Dはドキュメント、Qは検索したい単語の集合、はQ中の単語、|D|は…

pythonで機械学習(kerasのOneHotレイヤーの作り方)

今回はkerasで学習時にOneHotベクトル化するレイヤーの作り方を書きます。テキスト分類などでは、学習の前に特徴ベクトル化するとメモリを大量に消費してしまい、PCのスペックが高くないとメモリ不足で動かなくなることがあります。それなら学習前はOneHotベ…

IT系就活についての話

私と友達の話や経験を元にIT系(主に独立系SIer、Web企業)の就活に向けてやっておくといいことをまとめてみました。目次 この記事の対象とする人 軽く自己紹介 なにをしておくといい? まとめ この記事の対象とする人 この記事は 独立系SIer、もしくはweb企…

Pythonでテキストの機械学習(相互情報量を使った特徴ベクトル選定)

今回は、ドキュメント群から生成したベクトルから、機械学習で重要な特徴ベクトルを抽出する内容です。テキストをベクトル化したものは何万次元にもなりますが、中には10000個あるドキュメントの中で1回しか出てこない単語など学習に必要のないデータが大量…

Pythonでsklearn+janomeを使って特徴ベクトル抽出

機械学習において入力データの形式はとても大事です。分類手法以上に大事かもしれないですね。今回はその重要な入力データの作り方(加工の仕方)についてです。テキストから機械学習に適した形の入力データに加工します。ライブラリを使うことで短く簡潔に…

Pythonでワードクラウド作ってみた

今回はPythonでワードクラウドを作ってみました。ワードクラウドとは 追記:英語のみ対応です。ライブラリ(pytagcloud)が日本語に対応していないので...。日本語に対応させたいなら描画のところは自前で書く必要がありますね(^^; 全体の流れは 1.ドキュメン…