機械学習システムの問題
システムは実際に運用するために作るものです。機械学習システムでも同じです。
前回の記事では色々なモデルを紹介しました。
実際、モデルの実装自体はあまり難しくないですし、色々なライブラリも存在しています。
では、どうして現在も大きな会社でしか機械学習をうまく利用できていないのでしょうか?
答えはデータです。要するに システムをそもそも動かせない、という問題です。
データの収集はとても難しいです。特に、機械学習システムでは品質の高いデータが大量に必要です。
データがないと、どんなに優秀なモデルを作っても良い結果は得られません。データがないと実際の運用は不可能です。
このため、機械学習システムを運用開始する前にデータ収集が必要になります。
ユーザの好みに基づいてレストランをリコメンドするシステムを例にすると、機械学習システムを実行中にユーザのデータを収集し、運用中に得られたデータを利用しながら、システムを訓練していきます。
では、もし最初にデータがなかった場合、どうなるでしょうか?
システムが出す結果があまりに使えないものになるため、それを利用するユーザのデータも収集できないです。
これが機械学習システムにとって、最大の問題です。
この問題に対しては、一般的に2つの方法があります。
1:別のデータソースを利用する
自分ではデータを持っていない場合でも、類似の他社で流用できそうなデータを持っているかもしれません。もしそういったデータを利用することができたら、機械学習システムを動かせるはずです。例えば、ホテルのリコメンドシステムを作る場合であれば、楽天トラベルのデータを参照するなどです。(もちろん法的な問題のないアプローチが必要です。)
2:手動でデータを作成する
人の経験はとても大事です。それは機械学習システムでも同じです。
だから、最初に人の経験からパラメータを設定して、システムを実行します。システムを実行したら、そのデータをゆっくり収集して、人が決めるパラメータをゆっくり変更します。
中国広東省出身、京都オフィス勤務のエンジニア。機械学習に興味がある。京都大学留学生として来日して以来、京都の住みやすさが気に入っている。