未来を創る、テックコミュニティー

6/9 代表勉強通信~「Building Machine Learning Powered Applications」④

草場代表
2020/06/09

こんばんは。代表の草場です。

引き続き、「Building Machine Learning Powered Applications: Going from Idea to Product 1st Edition」を読んでいます。

さて、一旦4章の話です。4章は、初期のデータセット取得の話です。製品のニーズを解決する計画を立て、初期プロトタイプを構築して、提案したワークフローとモデルを検証したら、データセットを深く掘り下げます。データをよく理解することで、パフォーマンスの改善につながります。4章では、データセットの品質を効率的に判断する方法、データをベクトル化する方法、ベクトル化された表現を使用してデータセットのラベル付けと検査を効率的に行う方法について説明されています。最後に、この検査がどのようにして特徴生成戦略の指針となるかを説明されています。

データセット取得に関しても、反復処理が必要です。データセット自体は、モデルの成功の核となる部分のため、データ収集、準備、ラベリングは、反復的なプロセスと考えるべきです。すぐに収集できるシンプルなデータセットから始め、学んだことに基づいてそれを改善します。

「機械学習の問題では、データが多ければ多いほどより良いモデルが得られる可能性が高いですが、小さなデータセットであればデータを簡単に調べて理解することができるため、作業しやすい初期のデータセットを目指すべき」、とのことです。
新しいデータセットを最初に扱う際に検討すべき点は何か?それぞれのデータセットには独自の偏りや奇妙さがあり、それを理解するためにはさまざまなツールを必要です。

1.まずはフォーマット
データセットは、入力と出力が明確になるようにすでにフォーマットされているか、それとも追加の前処理とラベル付けが必要か。

2.次にデータの品質
データは、欠落していたり、不正確であったり、破損していたりすることもあります。その品質を正確に把握することで、どのレベルのパフォーマンスが妥当かを推定できるだけでなく、使用する可能性のある機能やモデルを簡単に選択できるようになります。

3.データ量と特徴量の分布
データが十分にあるかどうか、特徴量が妥当な範囲内にあるかどうか?データセットが少なすぎたり、いくつかのクラスが十分に表現されていなかったりすると、学習するモデルもデータと同じように偏ったものになってしまう危険性があります。

ここから、実際のデータを使ってデータ処理をするワークに入ります。
使うのは、Data Dumpです。xmlファイルがあります。xmlファイルの処理とか全然知らず、勉強して3日が立ちました。。。頑張ろう。

それではまた次回。

この記事を書いた人
草場代表
エディター