AIRS-Labの記念すべき初アドベントカレンダーを担当させていただきます!!
2021年8月に始まったAIに関するコミュニティAIRS-Labの運営のお手伝いをしているyamoriです。
普段はFlutterエンジニアをしているのですが、昨年末に、我妻さんがAIに関するコミュニティを始めるという話を聞き、始めるとき手伝います!という流れで、今年の夏に週1ミーティングをしながらいろいろ準備してきました。
この記事は、AI初心者・Kaggle初心者(中級者・上級者向けの記事は明日我妻さんが書いてくれるはず・・・!)に向けて書いています。
AIRS-Labの紹介
記事に入る前に、少しAIRS-Labの紹介をさせてください。
AIRS-Labは現在30名ほど在籍しており、普段はSlack上でAIに関連する情報交換を行なっております。
週に2回ほど、みんなでもくもく会を行い、それぞれテーマを決めて学習を行っているのですが、もくもく会の前後で話をする時間があるので、今詰まっているところを気軽に質問できる場になっています。
月に1回イベントを開催しており、先日はオフラインイベントを開催するなど、AIに興味がある人が交流できる場を目指しています。
Lab内には、普段はWEB開発・アプリ開発など他の領域で仕事をしていて、今後AI領域にも挑戦したい!という方が多い印象です。
つまり、まだまだAIについては初心者の方が多いので、気軽に参加してください。
AIRS-Labに入ろうか迷っている方は、yamoriまで気軽にご連絡ください。
Labにいるメンバーの半数ぐらいはこれからAIを学びたい!とモチベーションの高いメンバーです。
そこで、機械学習初心者がモチベーションを保ちながら勉強できる環境を作ることができないか、ということで、データ分析コンペKaggleの勉強会を11月から立ち上げました。(12月、1月は自習期間で2月から勉強会再開予定です)
今日は、11月の勉強会を通して、1からKaggleに挑戦してきた経緯を少し共有したいと思います。
Kaggleの挑戦① - タイタニック -
まず、例に漏れず、Kaggleのタイタニックをやってみました。
おそらくKaggleを始めた方でタイタニックのチュートリアルをやってない人はいないのでは?というぐらい有名なものです。
KaggleのtitanicページのYoutubeで説明している方も、この題材はKaggleを始めるのにベストなものと言っています。
機会があればこちらを解説する記事も書いてみます。
タイタニックのチュートリアルとは、タイタニック号沈没(初めての航海中の1912年4月14日深夜に氷山に衝突し、多くの方が犠牲になった痛ましい事故)を題材にしています。
お客さんの情報(年齢、性別、配偶者の有無、客室のランク・・etc)を分析し、その生死を予測するコンペです。
データは2種類に分けられていて用意されています。
- 訓練用データ(お客さんの情報+生死が与えられている)
- テスト用データ(お客さんの情報しか与えられていない)
が与えられており、基本的には1のデータを使ってモデルを作成し、そのモデルを2のデータに当てはめた時に、どの程度の割合で正解しているか、その精度を競うという課題です。
最初は、何でデータが2種類あるんだろう?という超初歩的な疑問を感じていました。(Kaggleが何をやるものなのかわかっていなかったのです。)
いろいろ調べた結果、問題と答えが与えられているセット(訓練用データ)を分析し、問題と答えの間に関係性を見出し、その関係性が未知の問題にどれだけ対応できるのか、その精度を競うということだとわかりました。
未知の入試問題を解くために、過去問の分析手法を高めていく感覚に近いのかな、と思いました。
さて、肝心のデータの前処理、加工、モデル構築ですが、もちろん自力でできるわけなく、Udemyの講座やYoutubeの動画を見てコピペをして動かすのが精一杯でした。
とにもかくにも、スタートから提出までいけたときは少し嬉しかったです。(カンニングしてますけども)
Kaggleの挑戦② - 何を勉強すれば良いか整理 -
Kaggleを提出したはよいけども、ある疑問がメンバーの中に(というか僕の中に)湧いてきました。
どこをどのように変更すると、結果が変わるんだ、と・・・・・
そこで、コミュニティ内で相談させてもらったり、ググったりして、データ分析には大きく2つの段階があり、それぞれの段階で学ぶことが異なる、というのが現状の僕の理解です。
やっていることをもう一度整理すると、
- 目的とするものに対して、関連しそうなデータを選び、加工する
- 加工したものに対して、アルゴリズムを当てはめて、モデルを構築する
ということでした。
こちらの動画がとてもわかりやすかったです。
1については、計算するデータとして扱いやすい型(数字)を選ぶ、とうことであったり、pandasやmatplotlibなどを使って、データを可視化したり加工したりすることを指していて、
2については、さまざまなアルゴリズム(ランダムフォレストとかロジスティック回帰とか)を適用してモデルを構築する、
上記1、2の段階でさまざまな手法を用いてデータと向き合い、予測したいものの精度を高めていく、という大枠は何となく掴めたような気がしています。
(とはいえ、自力で1と2を行うには、①それぞれの処理やアルゴリズムを理解し、②適切なタイミングで使うという2段階の難しさがあり、道は険しそうです。)
Kagglerになれるよう、一歩ずつ勉強していきたいです。
終わりに
少しでしたが、勉強会でやってきたことをまとめました。
2022年2月には、Kaggleのもう一つの有名なチュートリアルである住宅価格予測のデータ加工〜アルゴリズム選定までをそれぞれで行い、発表会をします。
ぜひ、AIを学びたいという方、今がAIRS-Labに入会するタイミングかもしれません。
一緒にAIを学びましょう。