cha_kabuのNotebooks

個人的な機械学習関連勉強のアウトプット置き場です。素人の勉強録なので、こちらに辿り着いた稀有な方、情報はあまり信じない方が身のためです。

MOAとスパムメール判別とsolafuneとatmacup参戦記

はじめに 怒涛(甘い?)のコンペラッシュが終わりしばらく経ちました。あまりコミットできなかったコンペもありますがせっかくなのでざっくりと記録を残しておきます。細かいところはnotebookを見れば思い出せるはず…それぞれの結果は以下の通りでした。 MO…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑫ステップ55~58

はじめに 以下の記事シリーズの続きです。 cha-kabu.hatenablog.com 本編 ステップ55-56 CNNのメカニズム ほとんどコードは無く、CNN自体の説明です。実装についてはステップ57でまとめて行われるので、特に苦手なところだけまとめておきます。 出力サイズの…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑪ステップ52~54

はじめに 以下の記事シリーズの続きです。 cha-kabu.hatenablog.com 本編 ステップ52 GPU対応 このステップは…スルーします!他ライブラリ使う時はお決まりのお作法(GPU使用可能確認してオブジェクトをGPUに投げる)をしておけばとりあえずできますし、自分…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑩ステップ49~51

はじめに こちらの記事シリーズの続きです。 cha-kabu.hatenablog.com 本編 ステップ49 Datasetクラスと前処理 他のライブラリはあまり詳しくありませんが、PytorchではおなじみのDatasetクラスを定義します。カスタムデータセットを作成するときに継承する…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑨ステップ46~48

はじめに 以下のシリーズ記事の続きです。 cha-kabu.hatenablog.com 本編 ステップ46 Optimizerによるパラメター更新 最適化手法の基底クラスとなるOptimizerクラスを作成し、それを継承してSGDとMomentumを実装します。 基底クラスのOptimizerクラスの実装…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑧ステップ42~45

はじめに 以下のシリーズ記事の続きです。 cha-kabu.hatenablog.com 本編 ステップ42 線形回帰の理論 ここまでのステップの内容理解&線形回帰について知っていれば難しくありません。全体の計算グラフは以下の様な形です。 やも計算グラフの一員ですが、値…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑦ステップ41

はじめに シリーズ記事の続編で前記事はこちら↓です。 cha-kabu.hatenablog.com ですが、今回の内容的にはこちら↓の記事との情報の関連性が高いです。 cha-kabu.hatenablog.com ステップ41 行列の積 行列積を計算するMatMulクラス、そしてそのインスタンス化…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑥ステップ38~40

はじめに シリーズ記事の続きです。前記事は↓。 cha-kabu.hatenablog.com 本題 ステップ38 形状を変える関数 DeZeroにnumpyのreshape/transpose関数と同じ挙動をする関数を実装します。関数の実装までは今まで同様にFunctionを継承した関数クラスを作成→イン…

ゼロから作るDeep Learning3 フレームワーク編を読む その⑤ステップ37

はじめに 以下の記事シリーズの続きです。今までは複数ステップで一記事にしていたのですが、今回大いにつまずいたので1ステップで1記事使います。 cha-kabu.hatenablog.com 「ステップ37 テンソルを扱う」の概要 これまで作成してきたDeZeroが、スカラだけ…

ゼロから作るDeep Learning3 フレームワーク編を読む その④ステップ25~36

はじめに 以下のシリーズの続きです。 cha-kabu.hatenablog.com cha-kabu.hatenablog.com cha-kabu.hatenablog.com 本編 ステップ25~26 ステップ25では計算グラフを可視化するためにGraphvizを使ってDOT言語でグラフを記述する練習を行い、ステップ26でDeZer…

ゼロから作るDeep Learning3 フレームワーク編を読む その③ステップ15~24

はじめに 以下の記事の続編です。 cha-kabu.hatenablog.com cha-kabu.hatenablog.com 本編 ステップ15 複雑な計算グラフ(理論編) これまで扱ってきたのは一直線の計算グラフですが、各層のノード数が複数になると逆伝播がうまくいかないことを説明するステ…

ゼロから作るDeep Learning3 フレームワーク編を読む その②ステップ8~14

はじめに こちらの記事の続きのシリーズです。 本編 ステップ8 再帰からループへ ステップ7でbackwardを自動実行する際、再帰的な実装を行いましたがそれをループに修正します。つまずきは無いものの現段階では実装の必要性がわかりません。しかしステップ15…

ゼロから作るDeep Learning3 フレームワーク編を読む その①ステップ1~7

はじめに ゼロから作るDeep Learningの①と②を読み終えて(=写経した≠理解した)、Pytorchやtensorflowといったライブラリを使って開催中のいくつかのコンペにチャレンジしています。 一応各種ライブラリは使うことはできてコンペにsubmissionファイルを提出…

特異値分解について勉強する(ざっくり理解する編)

はじめに Probspaceのスパムメール判別コンペで初の自然言語処理にチャレンジ中で、これを機に「ゼロから作るDeep Learning②自然言語処理編」(以降、ゼロ作)も読み進めているのですが、2章の特異値分解のところで早速躓いたのでまとめることにしました。た…

RankGaussについて勉強する

はじめに 現在参加中の某コンペで、「RankGaussが効く!」とされているのですが、慣れない手法なのでちゃんと調べてみました。kaggle本でもちゃんと紹介されているのですが、普段ニューラルネットから逃げているので全然頭に入っていませんでした… 素人が調…

ProbSpace 対戦ゲームデータ分析甲子園 振り返り(最終10位)

はじめに 2020/8/19~2020/10/18の間実施されていた、ProbSpaceの対戦ゲームデータ分析甲子園(通称スプラコンペ、イカコンペ)に参加しました。 splatoonはプレイしたことはありませんでしたが、多くの攻略サイトやプレイ動画があるのでデータの理解もしやす…