俵言

しがない社会人が書く、勉強とかのこと。最近は機械学習や kaggle 関連がメイン。

Connehito Marché vol.6 〜機械学習・データ分析市〜 に参加しました。

以下の イベントに参加して来ました。

connehito.connpass.com

LT × 12本と、1つ1つの時間は短くても情報量の多いイベントです。最近ブログ書いてないなーと思ったので感想などを書くことにしました。

ちなみに Connehito Marché とは

Connehito Marché(コネヒトマルシェ)は"みんなの「知りたい」「知ってる」をおすそ分け!"をコンセプトにコネヒト株式会社が開催している参加者が主役の勉強会です。 普段の業務などで得た学びや苦労、何でもいいのでみんなにおすそ分けしてください!

という主旨の勉強会だそうで、今回は機械学習・データ分析がテーマですが過去には Android だったり web フロントエンドだったりサービスデザインだったりと結構色んなテーマで行われているみたいです。

とまあ、ここまでは実は参加する前に準備として書いていたわけですが、

はい。完全に先を越されました。いや当日の夜とか速すぎへん? こんだけ詳しかったらもう僕が書かなくて良くね...
でも途中まで準備してたし書きたいよなーと思いながら次の日帰宅してたら、

はい。完全に(以下略)
まあでもせっかくなんでめっちゃ軽い概要と感想だけ書くことにします。資料も全て公開されてるので詳細はそちらを(もしくは上記のブログを)参照ということで。

因みにイベントのトップ画(以下)なのですが、

これのモチーフは takapy さん曰く 「おさるのジョージ」 らしいです。 PRMLではない。

ちなみに、この物語に登場する人間たちはほとんどがジョージに対して寛大であり黄色い帽子のおじさんの知人たちが「やあ、ジョージ!」などと挨拶するのはもちろん、全く面識のない他人でさえもジョージに対しては人間の子供のように親しみを持って接している。ジョージがサルという理由で人間に驚かれたり、「こっちに来るな」などと拒絶されることはほとんどない。
-- wikipedia 『ひとまねこざる』より引用

ここらへんが Connehito Marché のコンセプトに合致しているそうな。

LT感想

データ分析コンペにおいて 特徴量管理に疲弊している全人類に伝えたい想い by takapy さん

資料: SpeakerDeck

概要

  • NoteBook でガリガリやってた時の話者の実体験: ちゃんと管理せず夢中で分析をしていると我に返ったときに痛い目を見る
  • 特徴量作成、学習・推論共に何をやったかちゃんと記録し再現性を担保する(あと取り回しをよくする)
  • 話者(時間切れ)からのまとめ:「いいぞ!」

感想

ずっと逃げてきたテーブルコンペに最近取り組み始めているので非常に参考になりました。ちゃんと何をやったか記録しておき後から再現できるようにしておくのは非常に大事。

script は一つの特徴量ごとに計算・保存する形式のように見えたので、複数テーブルを join して作る特徴量とか作成した特徴量を複数組み合わせて作る特徴量があると一から再現する際にちょい効率悪いのかもと思いました(もちろん作り直さないのであれば気にしなくて良い)。

SageMakerで構築する価格推定システム by Mizushima Keita さん

資料: SlideShare

概要

  • 上からの指示 「機械学習でなんかできない?単価とかあげられないかな?」
  • MLタスクとしては"依頼がいくらで成約するかを推定". 単価 up と顧客の意思決定コストの削減が目的.
  • この発表の主旨は方向性決め・アイデア出しから始まるリリース(発表当日に間に合わせたかったが無理だったそう) までの流れとアーキテクト関連の話.

感想

個人的には何の情報を使って推定しているのか結構気になりました。運用のしやすさを重視する的なことを言っていたのでシンプルなものにしてそう。
方向性決めからタスク設計、リリースまで一人でやっててすごい。

社内での円滑なデータ分析のために by yu-ya4 さん

資料: SpeakerDeck

概要

  • 1年半ほどデータサイエンティストとして推薦チームをリードしてきた中で必要と思ったポジティブな「社内政治」の話
  • (特に他チームと)お互いの仕事を理解し合えていないとデータ分析が円滑に行えなくなること多々(一番わかりやすいのは勝手にログの形式が変更されて学習モデルが壊れる話)
  • 直接関係なさそうなプロジェクトに関わったり、社内の人に向けた知見共有を積極的に行ったりなどといった、コミュニケーションに関する努力
  • 結果として社内・社外でのプレゼンスが向上し色々円滑に

感想

コミュニケーションをしっかり取るってのもそうなのですが、社内用にちゃんとアウトプットを行って知ってもらうって重要だよなと思いました。これをしないと「隣の部門が何をやっているか本当は良く知らない」が発生しがちなのとてもよくわかる。

初めての機械学習PJをやってみて得られた知見 by Yagi さん

資料: SpeakerDeck

概要

  • グロービスにおける、自社メディアからの学び放題サービスへの導線の改善
  • 従来はタグ一致でリンクを張っていたがコンテンツの類似度ベースにに置き換え、明確に改善された
  • いくつかの知見が得られた. kaggle は 実務でも役立つ(参考:カグルとジツム)

感想

やったこと自体はシンプルですが、おっしゃていた知見は重要に感じます。明らかにうまく行ってないルールベースをアルゴリズムベースに置き換えるのはデータ分析を社内に浸透させる初期プロジェクトとしても良さそう。

因みに yagi さんは kaggleもくもく会@麹町(前回のイベント) を主催してるのですが、

もくもく会というか勉強会あるあるだなーと。

SIGNATEの練習問題コンペで 57位までスコアを上げた話 by shnagai さん

資料: SpeakerDeck

概要

  • 機械学習を勉強してきてそろそろモデルを作りたくなった所、 takapy さんの導きで SIGNATE の練習問題(Jリーグコンペ)に取り組むことに。
  • 分析結果や天候、自身のJリーグドメイン知識から特徴量を作成 (教訓:やったことはちゃんとメモに残しておこう)
  • 終結果として 57位 / 1748 チーム となり自尊心を大いに満たした

感想

コンペはスコアという形でで結果が出るのでそれがモチベーションになるしスキルアップもできるし楽しい!!

完 全 同 意。
kaggler (takapy さん)が同僚(話者) をkaggle 沼に落とす行程を見てしまいました。

BigQueryで便利やなーと思った機能 => やっぱやめて => Azure Synapse の話 by YasutakaYamamoto さん

資料: SpeakerDeck

概要

  • BigQuery の話しようと思ってたのにそれより75倍速い(らしい) Azure Synapse が昨晩発表されたので急遽こちらを調査したという話
  • ベンチマークに対する比較ではAzure Synapse の方が速いかつコストも低い(ただし根本的に料金体系が異なる)
  • 結局のところ: 導入後のエンジニアによる運用コスト(チューニングなど)を考えると Big Query の方が色々楽なのでは

感想

データの運用面のこと全然やらないのですがタイムリーな話題を調べてLTしてくれたのがありがたい。話者も仰っていましたが、比較方法はあまり公平じゃないというか適切でない気がする。

日本語学習済みモデルについて by yamat さん

資料: GoogleDocs

概要

  • NLP でも Fine Tuning が当たり前になりつつある「今はBERT が微笑む時代なんだ!!」
  • 日本語のものは少ない. また、学習に使ってるデータの種類も性能に影響しそう
  • 今後日本語学習済みモデルごとに fine-tuning を行い、所要時間と文書分類の性能の比較結果をを Qiita に投稿予定

感想

もう BERT の話全然ついてけてないのですが、kaggle の Baseline にもなってるので少しは使えるようになりたいところ。 記事の公開が楽しみです。

Meta Kaggleを覗いてみた by ishizaki-yuko さん

資料: SpeakerDeck

概要

  • 「Kaggle って本当に流行ってるの?一部の人がハマってるだけでは?」=> 新規登録はかなり増えているがちゃんと submit している人はその中の一部
  • 「コンペの傾向って変化して行ってるの?」=> kaggle やってる人は良くわかっていると思うが画像やNLPが増えている
  • 「沼 に は ま ろ う」

感想

kaggle-ja slack もすごい勢いで人数増えているが、kaggle 全体としてもそうなんだなあと (そして submit まで至るのが一部なことも)。
しばらく沼から逃れていましたが僕もそろそろ沼に帰らないと...。

NGBoost論文読んでみた by taro_masuda さん

資料: SpeakerDeck

概要

  • GBDT の軽い復習から NGBoost を極限までかみ砕いて説明してくれた発表
  • 予測の不確実性を確率値として出力するのが特徴
  • 自然勾配はフィッシャー情報量の逆数をかけており、勾配による更新量を調整できる

感想

NGBoost 単体にも興味があったし、最近予測の不確実性に興味があって Uncertainty Quantification in Deep Learning を読んだりしていたので、この発表はとてもありがたかったです。

理論面の理解が怪しいし、家で埃を被っている PRML も読まないとなあと思います。

NLP Beginner BERT を試す by ktr さん

資料: SpeakerDeck

概要

  • BERT 発表後開催だがルール上使えなかった Quora Insincere Questions Classification にBERT を使って挑む
  • えいやで突っ込んだものは残念な結果に
  • 層毎の learning rate の調整などを加えることで良い結果が得られる雰囲気になった

感想

もうBERTの(以下略)。使えるようにはしときたいが...。 重さに関しては Distil BERT とか出てるので段々軽くなっていくと思いたい。

SQLベースのMLパイプライン by hatunina さん

資料: SpeakerDeck

概要

  • アドホックの分析の際のMLパイプラインをSQLベースで構築したという話
  • 使いまわしや引継ぎが非常に楽
  • ただ DB がボトルネックになることも

ちなみに話者の本当に求めていたことは以下

感想
いつもその場限りのコード書いちゃうことが多いので、SQLじゃなくてもいい感じに使いまわせるパイプライン作りたいなあと感じます。業務では無理でも kaggle では作るべきなのは分かってるのですが...

競艇の順位予想をしてみた by wakamezake さん

資料: GoogleDocs

概要

  • 実はまとまった量が公開されていたのに目を付けて競艇データを使ってみたが、テーブルデータに見せかけたテキストデータだった(地獄)
  • ランク学習がしてみたかったので lightgbm の LambdaRank を使った
  • 実際に券を買ってみたが大敗

感想

実際に券を買ってみるのはすごい楽しいそうでいいなあと思いました。外れたのは残念ですが。 validation の score があまり高くなかったらしいのでまだまだ改善の余地はあるらしい。

おわりに

結構事業会社で実際にやってて役立つ話を聞けて楽しかったし参考になりました。

何個かパイプライン系の話が出てきましたが、kaggle でいい加減テーブルコンペ用のパイプライン作ろうと思います。あと NGBoost は自分でもしっかり読み込んでまとめたいなあと思っています(いつになるかわかりませんが... )。

こういう軽いLT、何かやってみた系でそのうちやってみたいなあ...と思いつつ、とりあえず今は kaggle 沼に戻るのを優先して頑張ります。