「AIでカフェを助けよう!機械学習体験ワークショップ!」を開催しました!

2018.07.10

こんにちは。根津です。
7/1(日)に山形市の遊学館にて「AIでカフェを助けよう!機械学習体験ワークショップ!」を開催しました!

icho cafeの協力の得て、実際の売上データを用いてフレンチトーストの売れ数を予測するAIを作ってみよう、という趣旨で行われたイベントでした。
大学の教授や学生、社会人まで様々な背景を持った方々にご参加いただきました。

 

icho cafeの店長、大垣さんの「カフェを助けてください!」という依頼から始まった本イベント。自らをイケメン店長と紹介する大垣さん。

フレンチトーストは日持ちがせず、かつ漬け込み時間も長いため、売れなかった時の損失も売り切れてしまった時の機会損失も大きい商品だとのこと。そこで、フレンチトーストが売れる数を予測できるAIを作って、仕入れを最適化しicho cafeの経営を助けよう! となったわけです。

まずはAIを作る前に、「予測する」とは一体どういうことなのか、AIと機械学習の概要、機械学習のフローについての説明を30分ほどかけて行いました。

座学の後は、Aチーム、Iチーム、Mチーム、Yチームの4つに分かれて、実際に売れる数を予測するAIの作成に取り掛かりました。本イベントではブラウザで機械学習を行うことができる「Microsoft Azure Machine Learning Studio」というサービスを利用しました。

まずはデモンストレーションに倣って基本的なモデルを組み、そこから説明変数に何を選ぶか、どのアルゴリズムを使うかなどをチームごとに話し合い、試行錯誤しながらAIの精度向上を図りました。

昼食休憩等をはさみながら、3時間程度実践をしていただきました。各チームまだまだやれるといった状況でしたが、時間切れとなりチームごとに成果を発表していただきました。

【Aチーム】
説明変数を選択する際に、売上データをExcelに放り込んで、相関行列を求め、その結果を基準としていたようでした。最終的にはアルゴリズムにランダムフォレストを用いて、平均絶対誤差2.1ほどの精度のモデルを作りあげました。

【Iチーム】
様々な変数とアルゴリズムの組み合わせを試していましたが、決定係数がマイナスになってしまったり苦労されたようでした。最終的には平均絶対誤差2前半、決定係数が0.24ほどの精度のモデルを作り上げました。また、月齢と売れ数の相関関係について注目するなど、非常に面白い着眼点を持ったチームでした。

【Mチーム】
まずは全項目を説明変数に選択してモデルを作り上げ、そこから項目の取捨選択を行うという進め方でモデルを作ったようでした。全項目を選択したときは誤差が非常に大きかったのですが、最終的には線形回帰を用いて、平均絶対誤差2.4ほどまで精度を向上させました。

【Yチーム】
Mチームと同じような方針でモデルを作っていたのですが、Yチームは線形回帰を用いた学習結果の各重みの値を、項目選択の指標として進めていました。最終的には線形回帰を用いて、平均絶対誤差2.2ほどの精度のモデルを作り、最も寄与の大きい変数は「曜日」であるという結論を出していました。

 

店長の大垣さんからは「お店としてはこのくらいの誤差で予測してくれるとかなり助かる!」といったお言葉をいただきましたが、もう少し精度は向上できたかなといった印象でした。しかしながら、各チームが様々なやり方・方針でAIの作成に臨み、活発に議論し試行錯誤している姿から、参加者の皆さんの論理的でクリエイティブ、かつユニークな考えをたくさん感じることができました!

 

本イベントの目的は、前述したように「フレンチトーストが売れる数を予測できるAIを作る」というものでしたが、AIMYという団体としての目的が別で存在しました。その目的とは「機械学習の敷居の低さを感じていただくこと」です。この目的を達成するために、アルゴリズムなど数学・統計学の深い知識を持っていなくても、ある程度の精度のAIが実際に作れること体験していただこうと、本イベントを企画したという経緯があります。

座学とAIの実装を通して、AIや機械学習・ディープラーニングについての情報やテクノロジー・サービスはどんどん民主化されていて、学んだり使ったりする障壁が低くなっていることは感じてもらえたのではないかと思います(最低限、機械学習については)。

しかし、精度が中々上がらず達成感をあまり感じることができなかったのではないかとも思いました。ファシリテータがチームに入っていれば変わったかもしれないですし、座学の内容も、もう少しアルゴリズムの特徴や選択する説明変数についての注意点など、もう少し詳細まで盛り込むべきだったか、など改善すべき点は多くあります。

一方、データの整形についてや評価方法、汎化性能についてなど掘り下げたい内容はたくさんあるのですが、イベントという形式上、すべてを説明して理解してもらうのは困難だということも承知しています。そういったことを踏まえた上でイベントの目的や落とし所を再考する必要があるかもしれません。

その他にもネットワーク不調時の対応や発表資料の結合漏れなど、反省すべき点が多く見つかりました。今回の反省点を活かして、より達成感を味わいつつ、しっかりと目的を理解してもらえるようなイベントに昇華させていきたいです!

 

イベントにご参加くださった皆さま、本当にありがとうございました! また別のイベントや勉強会にもご参加いただけると嬉しいです。もちろん、今回参加できなかったという方も、是非いらっしゃってください。
では。