ざっくばらんメモ_15:kaggle, deepnetの特性解析, 既約性メモ

kaggle recruit

Recruit Restaurant Visitor Forcasting Challengeをスタート.

コード

レストランの将来訪問者数を予測するタスク.

分析はすでにやられていて参考になる

https://www.kaggle.com/headsortails/be-my-guest-recruit-restaurant-eda

ひとまずkernelにあるスターターを参考にxgboostを実装.

ー結果:0.516

sklearnのgridsearchCVで適当にパラメータをふってチューニングしたところ

ー結果:0.512

あまりうまくないので他のkernelのパラメータも参考にしつつ手動チューニングも 取り入れたところ

ー結果:0.500

でまあまあな感じに.

他にもlightgbmも試しに適用してみたところほぼデフォルトのパラメータで

ー結果:0.493

でxgboostよりも良い感じに.今回のタスクはlightgbmが相性が良い?

現在ランク:171/707

Failure of Gradient-Based Deep Learning

この論文を読んだ際に気になった事として, 最適化の収束速度,sample complexityなどの観点からdeep learningモデルの性能を改めて評価している点がある.

例えばEnd-to-Endモデルは複数に分解して別々に学習するよりもはるかに収束速度が遅くなるから 良くないなどとしている.

通常の論文などはとりあえず一般的の指標でSOTA出せばOKな風潮がだいぶ根付いてきたが, 改めて多面的な評価、あるいはモデルの特性の理解、の重要性を訴えている感じがする.

実用面だとただ性能が良いだけでは結局モデルの一側面でしかないので, モデルの特性解析を理論抜きでやるはめになり,イレギュラー対応など頻繁に発生して 保守が難しい面があると感じる.

irreducabilityとintegral domain

あるvariety Xが与えられた時、それが非ゼロでXそのものでない 二つのvariety X_1, X_2で表せる時,Xはreducibleと言い、 そうでない場合はirreducibleであるという。

Xがirreducibleな時のみにおいて、そのcoordinate ring Γ(X)は整域(integral domain)となる.

つまりXがreducibleな場合、X上に定義される非ゼロ関数が2つあって, その積がゼロ関数になるものが存在する.

例:Xはx2+y2=1の解集合とする.Γ(X)=C[x,y]/(x2+y2-1)なので、f=x-y, g=x+yとおけば これらはΓ(X)上でゼロ関数でないがfgはゼロ関数である.つまりΓ(X)は聖域でなくreducible.