Kaggle
Kaggle Advent Calender 2023
Weekly Kaggle News
Kagglerを求めて三千里
Kagglerに役立つ情報まとめ
「画像コンペとは」
Carvana Image Masking Chal;engeでは自動車の画像のセグメンテーション
GPUは必須であると思う
Kaggle KernelのGPU、GCP、AWS
どれだけデータと向き合って重要な性質を発見して機械学習アルゴリズムに入力できるかが肝となる

早くベンチマークを作り、その後の試行錯誤をやりやすくすることが重要
論文と過去コンペの調査が大切
「Kaggleコンペ解説など」
衛生画像による海氷と船舶の識別の解説
「Weekly Kaggle News」
「Kaggle Memo」
短径回帰→キーポイント検出→アフィン変換による整列処理→分類が基本
pre-trainedモデルのアンサンブルが定石
BaggingやAveragingの効果が大きい
Data Augmentation
ImageDataGenerator使え
semi-supervised learningも有効
テストデータに対するpseudo-labelingを行うことも
動画のキャプチャを課題に用いる場合、kNNで静止画から動画に復元可能
denoising autoencoderによる事前学習もよく知られている
ReLUが一般的
dropout、batch normalization、early_stopping、正則化などで対処すること。
予測時にテストデータに対してRandom 10 croppingを行い、Averagingすると良い。その際にmulti-scaleにするとより効果的である。
「Kaggleとセマンティックセグメンテーション」
基本的に古い
「winning solutions」
「past solutions」
「phalanxの日記」
「医用画像における機械学習」
アノテーションに専門的な知識が必要
データセットの少なさ
Data Augmentation
転移学習
アンサンブル学習
LadderNet:U-Netを2つつなげた
Probablistic U-Net:セグメンテーションの生成分布を学習する
クラスのimbalanceさがやばい
損失関数の工夫
病変ぶいの誤差の重みをつける
病変セグメンテーションではlocalな情報とglobalな情報を組み合わせる必要がある
「データセット」
「セマンティックセグメンテーションSurvey」
「なぜセグメンテーションの評価指標がAccuracyではダメなのか」
普通はmIOUやDice係数を使う
クラスが不均衡なデータだと正確りつでは正しく評価できない
「セマンティックセグメンテーションにおけるSKip Connect手法の比較」
「F値とIoUどちらを使えば良い」
誤検知を評価したい場合はPrecision
見逃しを評価したい場合はRecall
F値:検知したいものが検知されているかどうか評価痛い場合
IoU:輪郭の漏れや若干のはみ出しを厳密に評価したい場合
「コンピュータビジョンの最新論文調査」
「Crvana Image Masking Challenge」
「Severstal: Steel Defect Detection」
「Open Images 2019」
「Pneumothorax segmentation」
「iMaterialist2019」
「Kaggleコンペリスト」
「KerasのLearningRateSchedulerを使って学習率を途中で変化せる」
「Cyclic Learning Rate」
fastai
「公式」
Quick start
・Create appropriate DetaLoaders
・Create a Learner
・Call a fit method
・Make predictions or view results
「fastaiでDeepLearningを勉強しよう」
Jeremy が実践の中で取得したノウハウ、ツールの便利な使い方等を教えてくれたりするので、本では学べない内容だと思います。
授業での使用はlinuxですが、自前のWindows10のPCで環境構築を行います。
「fast.aiの勧め」
日本語で解説してくれている
style-transferをやってみる
へえ〜
「fast.ai初心者目線の道案内」
fastaiを用いると最新のテクニックをしようしてニューラルネットのトレーニングを簡潔に記述できる
path = untar_data(URLs.MNIST_SAMPLE)
data = ImageDataBunch.from_folder(path)
learn = cnn_learner(data, models.resnet18, metrics=accuracy)
learn.lr_find()
learn.recorder.plot()
learn.fit_one_cycle(1, max_lr=3e-2)
learn.unfreeze()
learn.fit_one_cycle(1, max_lr=slice(1e-6, 1e-4))
「Kaggleチュートリアル」
1.Kaggleについて
Kaggleはデータサイエンスの大会が開かれているサイトである
2.コンペのページの翻訳
・Kaggle Learn
ほとんどデータサイエンスのトピックについてハンズオンのコースを提供している
プロジェクトを構築する重要なアイデアを迅速に提供している
-Taitanic Data Science Solutions Python Notebook
-An interactive Data Science Tutorial
-Machine Learning from Start to Finish with Scikit-Learn
-XGBoost Exmple
-An Introduction to Ensembling/Stacking in Python
Kernelsとは、再現性のある共同分析を可能にするクラウドコンピューティング環境
棒グラフの表示されているカーネルは可視化のコードが含まれている
エクセルの表のような絵が表示されているカーネルはデータのアウトプットがある
ノートのようなやつは、ノートブック形式であることを表している
Discussion
ディスカッションは参加者がそのコンペでの分析手法などについて議論をする場所です
カーネルと異なり、downvoteできる
コンペ終了後にはコンペ上位の方が、○位の解法としてディスカッションを投稿することがあるが、この投稿は最上位のデータサイエンティストが数ヶ月取り組んだ結果なので、とても参考になる
Leaderboard
PublicLeaderboardとPrivateLeaderboardがあり、Publicではその時点の順位が確認できる
Kernel欄があるものをカーネルが登録されているものである
3.まずはサブミットしてみる
サブミットするデータの作成はカーネル環境orローカル
カーネル環境は、Script or Notebook
ノートブックでサブミットする手順
1.提出データを作成するコードをカーネル環境のノートブックにおく
2.commitをクリックしコードを実行
3.outputタブのsubmit to competitionをクリックし提出
スクリプトの場合も同様
4.タイタニックのデータの概要
カーネル環境ではあらかじめinputフォルダに入っている
df.head()
df.shape
df.columns
df.info()
df.isnull().sum()
df.describe()
pd.concat()
df.describe(include = ‘O’)
seaborn.countplot
value_counts()
pd.crosstab
plt.legend()
display
sns.distplot
dropna()
pd.cut()
plt.legend()
plt.title
plt.show()
set
pd.qcut()
groupby
collections.Counter
5.識別器を学習させて予測する
前処理とは、与えられたデータについてアルゴリズムを用いて予測ができる形にするまでの処理をいう
欠損値への対応、外れ値の検出・処理、ダミー変数の作成、連続データの離散化、特徴量選択などを行う
fillna()
map()
pandas_profiling.PrifileReportと1行のコードを書くだけで概要などを表示してくれる
regonn&curryを聞くのが良い
Kaggle-ja Wikiもある
「Kaggle Master」が勾配ブースティングを解説
「Kaggle Memo」
「結局、Kagglerは何を必死にやっているのか?」
「Kaggle コード遺産」
時系列予測のコンペまとめ
Kaggle初心者のためのコンペガイド
Machine learning competitions are often a good indicator of what techniques actually work well in practice on new datasets.
Kaggle Expertになるまでやったこと
Winning solutions of kaggle competitions
Kaggleの画像コンペでかっこよく勝ちたい話
Kaggleに学ぶデータ分析の技術
1章 分析コンペとは
2章 タスクと評価指標
3章 特徴量の作成
4章 モデルの作成
5章 モデルの評価
6章 モデルのチューニング
7章 アンサンブル
Kaggleに挑む深層学習プログラミングの極意
1章 機械学習コンテストの基礎知識
2章 探索的データ分析とモデルの作成・検証・性能向上
3章 画像分類入門
4章 画像検索入門
5章 テキスト分類入門
Pythonで始めるKaggleスタートブック