課題を解決するプログラムを開発するのではなく、解決するための方法を学習するプログラムを開発する。
機械学習が利用できるケース
- Recomendation
- ニュースのグループ化
- スパムメールの判別
Hadoopとの関連
- データが多くなると精度が高まる
- データが多くなると処理速度が遅くなる
新しい案件をスクラッチ開発する機会は減っている。 勝手に生成される機械学習に注目が集まっている。
次なる難問は,すべての商品の組み合わせに対してこうした判断を行う必要があるということです。 商品が1万点あれば,組み合わせは約5,000万通りにもなります。10万点あれば,約50億通り。 一緒に売れたことのある組み合わせのみ考えたとしても,膨大な件数になるでしょう。 サービスとして実現するには,これらを「現実的な時間で計算」できなければなりません。 機械学習はこれらを,具体的には以下のような問題を解決します。
- 一つ一つは人間には簡単。コンピュータには難しい
- 複雑すぎて,隠された規則性を見出せない
- データが多すぎて,処理が終わらない
中でも線形代数(行列)と解析(微積分) は必須です。 数学:物理を学び楽しむために
モデル
機械学習でもっとも重要なことは,「解決したい問題を数値化する方法」です。 これを「モデル」と言います。 「モデル」があって初めてコンピュータが問題を解く(判断する)ことができる状態になります。 そして,問題を解く精度や性能は,この「モデル」の良し悪しで大部分決まってしまいます。