俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

2020年8月~9月の振り返り(ProbSpace不動産コンペからSIGNATE3連戦、そしてkaggle鳥コンペへ)

今年の8月~9月は、とても濃い2カ月だったので、自身の記録としてまとめていきたいと思います。

ProbSpaceで初のチームマージあり、8月末締め切りのSIGNATE関連の3つのコンペあり、そしてkaggleの鳥コンペでの苦い経験ありのジェットコースターのような2カ月でした。では、振り返っていきたいと思います。

【目次】

1.ProbSpace Re:不動産コンペ(2020年8月11日終了)

f:id:kanriyou_h004:20200926175908p:plain

このコンペは、6月から取り組んでいたのですが、arenzero(masay)さんにお声がけいただき、初めてチームで参加させていただきました。

8月11日の深夜の締め切りギリギリまで、一緒に取り組ませていただき、日付が変わった瞬間に、順位確認のために、ProbSpaceのサイトにアクセスしたときの興奮は今もわすれられません。

PublicLBでは、1位だっただけに、Shake downで3位になってしまったのは、非常に悔しい結果でしたが、初めてチームを組ませていただいて、順位としてもこれまでの最高順位となることができ、とても学びの多い有意義なコンペでした。

コンペでの取組内容の詳細は、以下もご参照ください。

oregin-ai.hatenablog.com

2.SIGNATE3連戦その1:AI Quest アセスメント(2020年8月30日終了)

8月に募集が開始された経済産業省が実施しているAI Quest 2020|SIGNATEに応募し、受講資格の選考にあたってアセスメントに取り組みました。

signate.jp

超短期間かつ他のコンペと同時並行作業だったので、5回しか提出できなかったのですが、何とか841人の参加者中90位に入り、受講資格を得ることができました!

AI Questは、10月より開始されるのですが、従来の講師が一方的にカリキュラムを教える形式ではなく、企業の実際の課題に基づくケーススタディを中心とした「実践的な学びの場」が設定されるとのこと。
参加者同士がお互いにアイデアを試し、学びあいながら、一人一人がそれぞれの体験として、AIを活用した企業の課題解決方法を身に着けられる形式なので、今から受講が楽しみです。

3.SIGNATE3連戦その2:【第1回_Beginner限定コンペ】銀行の顧客ターゲティング(2020年8月31日終了)

これまで、登録はしていたのですが、コンペには参加できていなかったSIGNATEより、Beginner限定で、閾値となる精度を超えれば昇格できるコンペが開催されるということで、短期決戦で挑みました。

こちらは、顧客属性データおよび、過去のキャンペーンでの接触情報に基づいて口座を開設したかを予測するモデルを構築するコンペでした。

評価関数「AUC(Area Under the Curve)」でした。

前処理としては、分布に偏りがある特徴量については、対数変換したり、年齢別の特徴量、月毎の特徴量を作成しました。

モデルとしては、ランダムフォレストとLightGBMの結果のアンサンブル(単純平均)するモデルを作成しました。

この出力で、閾値を超えることができて、1つ上の称号であるIntermidiateに昇格することができました。

f:id:kanriyou_h004:20200926200658p:plain

4.SIGNATE3連戦その3:CDLEハッカソン2020予測性能部門 「画像データに基づく気象予測」(2020年8月31日終了)

SIGNATE3連戦の最後は、CDLEハッカソン2020予測性能部門 「画像データに基づく気象予測」(SIGNATE開催)に参加しました。

f:id:kanriyou_h004:20200926175529p:plain

最後の最後まであきらめずに取り組み、評価指標の順位では2位の成績を残せました!今回は、PublicLB、PrivateLBともに2位で、Shakeなしでした。

最終的に確定した順位は、10月17日に開催される表彰式にて発表されるとのことで、今からたのしみです。

このコンペの解法は以下でも紹介していますので、ご参照ください。

oregin-ai.hatenablog.com

また、1位の解法を、@pometa0507さんが公開してくださいました。

lotti.info

5.kaggle鳥コンペ「Cornell Birdcall Identification」(2020年9月16日(日本時間)終了)

9月のイベントとしては、6月から継続的に取り組んできた「Cornell Birdcall Identification」コンペ(通称「鳥コンペ」)が終了しました。

鳥コンペは、鳴き声から鳥の種類を推定する音声処理タスクでした。

最初のころは、どのように対応したらよいかわからかったのですが、Tawaraさんが公開してくださったベースラインを参考にさせていただき、何とか最後までと組むことができました。

www.kaggle.com

なかなかベースラインを超えられず長らく停滞していたのですが、終了直前で、学習時に入力する音声データの周波数帯のバリエーションを複数用意して、アンサンブルをとることで、ベースラインのスコアを超えて銅メダル圏内に入ることができました。

最終日の朝は、これまでKaggleではPublicスコアでもメダル圏内で終了できたことがなかったので、ドキドキでした。

結果としては、PrivateスコアでShakeDownして268位となり、初のメダル獲得はならずでした。

しかしながら、Publicスコアでも銅圏内でフィニッシュできたのは初めてだったので、一歩前進できたと思います。

今回のコンペでは、入力のバリエーションだけでなく、モデルについても、いろいろなパターンを試して、取り組んだのですが、結果的にはベースラインのモデルを超えることができませんでした。

まだまだ、理論的なところの理解が十分ではなく、いろんなパターンを試してみるという実験的なアプローチでしか精度を上げてこれていないので、理論的なアプローチもしていきたいと思います。

まずは、本日開催された、鳥コンペ反省会で発表された皆さんの資料が公開されているので、拝見させていただきながら、理解を深めていきたいと思います。 

f:id:kanriyou_h004:20200926210519p:plain

6.おわりに

以上が、8月~9月の振り返りになります。

現在、ProbSpaceのスプラトゥーンコンペと、SIGNATEの海岸線コンペ、Kaggleの肺コンペに挑戦中です。

また、10月はAIQuestも始まるので、インプットもしっかり取り組んでいきたいと思います。

 

【これまでの道のり】

oregin-ai.hatenablog.com