【無料公開中】なぜ機械学習がうまくいかないのか - 1.機械学習でできることを理解していない
この記事を読むと得する人
・ 機械学習をやってみたい初心者
・ 知識はないけど仕事でやることになったマネージャ
読んでも意味がない人
・ 機械学習に知見がある人(熟練者には当たり前のことだと思います)
・ 英語を敬遠している人(海外サイトの引用が多いです)
AIの開発、機械学習はだんだんと簡単になっています。数年前から機械学習のライブラリは出ていますし、最近はDataRobotやGoogle Cloud AutoML自動で機械学習ができるようになっています。
しかし自動化されている、簡単に扱えるからといっても失敗している人はまだ多いです。
※記事が長くなりましたので、面倒な人は”ニュースで事例を探す”まで見てもらえれば参考になります
なぜ失敗するのか
機械学習のアルゴリズムは、データを用意して機械学習モデルにデータのパターンを覚えさせる(学習させる)ものとなっています。
図:機械学習のイメージ
しかし、とりあえずデータを用意すれば勝手にパターンを覚えてくれている訳ではありません。なかなか機械学習を学べる機会がないためか
・ 機械学習の基礎理論を知らない
・ ディープラーニングに拘るなど、得意不得意を知らない
・ 見当違いなデータを用意して失敗する
というケースも珍しくないです。
失敗しないためには
この記事では、失敗しないために
・ 過去の事例から機械学習ができることを学ぶ
・ データを見て使われ方一緒に学ぶ
方法を解説していきます
事例の勉強方法
・Google Colaboratoryでできることを確認する
・ニュースで事例を探す
・データセットを探す
・kaggle・SIGNATEで似た事例を探す
特に下二つはいきなり行うのは難しいと思いますので、技術者の人と一緒に見ることをおすすめします。
Google Colaboratoryでできることを確認する
GoogleはGoogle Colaboratoryというpython環境を提供しています。特徴としては
・ プログラミング言語pythonの環境
・ 無料
・ ブラウザで使える(環境構築なし)
・ GPU・TPUで計算を早くできる(GPU・TPUの説明は省略します)
・ seedbankで実際に出来上がった機械学習のコードに触れられる
特にseedbankでは曲の自動生成や写真の絵画風の変換など、既にできているものを体験できます。ここで機械学習AIの作り方やできることを勉強しておくといいでしょう。
seedbankを見るときは、紹介された技術で出来ることを意識して見ましょう
ニュースで事例を探す
AIブームが始まってから大分日が経ちました。既に行われているAIプロジェクトは沢山ありますので、参考にしない手はないでしょう。
事例が見れるサイトは
・ Ledge.ai
あたりがおすすめです。あなたの作りたいAIが実現可能かのヒントを与えてくれるでしょう。特にAI-SCHOLARは最先端のAI技術を中心に発信しています。
AIの進歩はとても速いのでAI-SCHOLARをチェックしない手はありません。最新技術を使いたい人にもおすすめですし、ある日作れないと思っていたAIが作れることを教えてくれるかもしれません。
読むときのポイントとしては
・どんな成果が出たか、どんな課題を解決したか
・どのような技術を使ったか、それは難しいか
・どのようなデータを使った、使ったデータの量はどれだけか
を意識することをお勧めします。
データセットを探す
海外だと大量のデータが公開されている場合があります。事例探しとしても参考になります。データを使ってみたレポートが公開されていることもありますので、レポートを探してセットで見ることをおすすめします。
データが公開されている場所
Awesome Public Datasets
現在はここがバリエーション豊かに紹介されていて一番のおすすめです。
Awesome Public Datasetsのページ
URL:https://github.com/awesomedata/awesome-public-datasets
・農業
・生物学
・ヘルスケア
・地理
・経済
・スポーツ
などさまざまなデータをダウンロードして閲覧できます
探すポイント
データを探すときは以下の視点で探しましょう
・ データセットを作った背景は?AIに学ばせたいことと一致しているか?
・ 仕事で扱うデータと似ているか?
・ データを使った事例はあるか?レポートがあるなら、どんなことがデータからわかったか?
kaggle・SIGNATEで似た事例を探す
kaggleは自分で作った機械学習アルゴリズムの性能を競い合うコンペティションです。様々なデータが公開され日々競われています。また、日本版のSIGNATEというサイトもあります。
図:kaggleのトップページ
kaggleやSIGNATEのコンペの事例がデータと一緒に見るのも勉強になります。
コンペはたくさんあるので、先ほど紹介した3つのポイント
・ データセットを作った背景は?AIに学ばせたいことと一致しているか?
・ 仕事で扱うデータと似ているか?
・ データを使った事例はあるか?レポートがあるなら、どんなことがデータからわかったか?
の観点で見てみましょう。特に終了したコンペを見るのがおすすめです。
例:信用スコアをAIで作りたいけど知識がなかったら・・・?
例えば、LINEスコアが発表されて、スコアに応じてLINEでお金を借りやすくなると言われています。もしあなたも同じようにお金の貸し借りをAIで任せたい!って思った場合、kaggleが役に立つこともあります。
実際にHome Credit Default Riskというローン審査の機械学習コンペが過去に開催されたり、Default of Credit Card Clients Datasetという過去に借金を踏み倒したパターンのデータセットがあります。
勉強方法1:どんなデータを使っているか?
Home Credit Default Riskを例に説明しましょう。英語ですが、コンペのデータの説明を見ることができます。こちらの場合は一般向けへの融資のデータなので
・ 学歴
・ 仕事
・ 結婚しているか
・ 車を持っているか
などの経済状況を予想できるデータが含まれています。経済状況からお金を返せるかを判断するためのデータセットということがわかります。これで踏み倒す人の傾向を学べるでしょう。
また、kernelという議論の場を見ると、データを可視化してわかったことや、技術的なレポートが見られます。
勉強方法2:どれだけいい結果が出せるのか?
このデータでどれだけ性能のいいAIが作れるかは以下が参考になります
- 成績優秀者の公式インタビュー(インタビュー一覧リンク)
- コンペの参加レポートを見る
特に、コンペ名でググると、参加者のレポートが検索に出たりもします。
図:「Home Credit Default Risk」のGoogle検索結果(2番目以降)
これらには、どうやって解いたか専門技術が書いてあります。受注先やプロジェクトメンバーのデータサイエンティストと一緒に見てみましょう。
レポートが見れないコンペもありますが試しにググったら出るかもしれません。
図:「JSAI Cup 2018 レポート」で検索した結果
まとめ
「AIがすごそう」と思ってとりあえず手を出すと基本失敗します。まずは事例から何ができるかの肌感覚を使うことをお勧めします。具体的には
実例から学ぶ(初心者お勧め)
・Google Colaboratory と seed bankから
・ TechCrunch, Ledge.ai, AI-SCHOLARなどAIに関するメディアから
データから学ぶ(専門家と一緒に読みましょう)
・Awesome Public Datasetsから
・kaggle・SIGNATEのコンペティションから
学ぶ際に注目するポイントは
・どんな成果を出したか、どんな課題を解決したか
・どのような技術を使ったか、難しい技術か
・どんなデータを使ったか、データの量はどれぐらいか
・データの分析結果は公開されているか、どのようなことがわかったか
・データを分析したら、どんなことがわかったか
となります。
わからない項目もあると思いますが、できるだけ意識しましょう。
この記事を見たあなたが次にやるべきこと
特に後半のデータを見た方がいいという話で、データをそのまま見るのは大変です。例えばAI Academyでデータの統計可視化を勉強すると、自分でデータを見れるようになります。もしくは専門家にお願いしてデータからわかる知見をもらいましょう。
それでも困ったら
コメントで疑問点など質問をいただければ、お答えして更新します!
この記事が気に入ったらサポートをしてみませんか?