最終更新日:
機械学習を行う際、学習に合わせたさまざまなデータセットが使われています。
画像、動画、音声、テキストなど、多くのデータセットが存在しており、機械学習の精度を上げるため、機械学習にとってデータセットは無くてはならない存在です。
では、どうすればこれらのデータセットを作れるのでしょうか。
本記事では、データセットの作り方やフリーで使えるデータセットの紹介、データセット作成時の注意点を紹介しています。
目次
機械学習におけるデータセットの必要性
データセットとは、機械学習をするために必要なデータの集合体です。
機械学習はコンピュータが大量のデータから学習することで成り立ちます。さらに、データの質や量によって、学習結果の精密度も変わるため、データセットの質を重視する必要があります。
また、データセットの中で「ネガティブサンプル」も活用する必要があります。 ネガティブサンプルとは、対象物と対象物以外を明確に検出できるようにするサンプルのことです。
以上から、機械学習においてデータセットの量と質は非常に重要であると言えるでしょう。
▼関連記事
・機械学習とは?定義から学習手法・5つのアルゴリズム・活用事例までわかりやすく解説>>
・機械学習におけるデータの重要性とは?基礎から実用化まで徹底解説!>>
・機械学習に欠かせない、特徴量とその選択手法とは>>
機械学習に質のいいデータセットを使うメリット
質のいいデータセットを使うことで具体的にどのようなメリットがあるのかを紹介します。
そもそも質のいいデータセットとは何でしょうか。
世の中には大量のデータが存在いていますが、全てのデータが使えるものであるわけではありません。大量のデータの中から、誤ったラベリングやノイズ、偏りのないデータを選びましょう。
正解データのパターンやルールを学習する「教師あり学習」は、AI学習データの量と質どちらも予測および分析の精度が向上するために必要とされます。AI学習データの性能は、データセットの量と質に直結するため、高精度の予測や分析の実現には欠かせない条件です。
また、質のいいデータセットを使うことで、アノテーションが可能になります。アノテーションとは、あるデータに対して関連する情報を注釈として付与することです。近年はアノテーションの需要も高まっています。
データセットの種類
次はデータセットの種類を紹介します。主に以下の3種類に分けられます。
トレーニングセット
機械学習でのトレーニングとは、機械学習アルゴリズムを活用して、機械学習モデルのパラメーター(ニューラルネットワークであればネットワークの重みやバイアスなど)を「自動的に調整していく」ことです。機械学習において重要な工程になります。
そしてトレーニングセットとは、1番最初に利用される、最も規模が大きいデータセットとなります。モデル学習はこのトレーニングセットを基に行われます。
バリデーションセット
バリエーションセットは、トレーニングセットで訓練した後、ハイパーパラメーターをチューニングするために利用されます。
ハイパーパラメーターとは、機械学習アルゴリズムの動きを制御する分類器のことです。
ハイパーパラメーターをトレーニングセットによって訓練した後、バリデーションセットを利用した上で最もパフォーマンスが優れているものを採用します。
テストセット
テストセットとは、モデルの精度を確認するためのデータセットです。データの精度を検証する場面で最終段階にのみ使われることが多く、パフォーマンステストをするために用いられます。
テストデータセットを用意することで、正当な精度検証ができるようになります。
▶機械学習におけるデータの重要性とは?基礎から実用化まで徹底解説!>>
機械学習の精度を上げるデータセットの作り方と流れ
機械学習の精度を上げるためのデータセットの作り方と、作り方の流れを紹介します。簡単に3つの段階に分けて行われます。
モデルの課題を明確化し、設定する
最初に、モデルの課題を明確化し、設定します。
モデルの課題には、機械学習の導入により何を目的としたいのか、解決すべき問題は何かなどさまざまなものがあります。具体的に決めるといいでしょう。大まかな課題だけでは、的確なデータセットの作成は困難です。課題を明確にすることで、プロジェクトの方向性が定めやすくなるでしょう。
データの収集
モデルの課題を設定した後は、データを収集します。
データの質と量は機械学習で最も重要です。 学習の際データの量が足りない場合、「オーバーフィッティング」と呼ばれる現象が起きる場合があります。
オーバーフィッティングは 「学習データには適合するが、新たなデータを予測することができないモデルが出来てしまうこと」を指します。オーバーフィッティングを防ぐため、少しずつデータ量を増やす必要があります。
データにアノテーションを付与する
最後にデータにアノテーションを付与します。アノテーションとは「物事の特徴について人間が機械に教えること」です。
データのルールやパターンを精密に覚えるための手法として、アノテーションを行います。
また著作権についても、AI開発の目的で利用する場合は、一定条件のもとで著作物の利用が可能とされているため、画像データの利用が可能です。
▼関連記事
・アノテーションとはーAI・機械学習に必須の知識を解説>>
・【掲載数64】AIアノテーションカオスマップ2020が公開!>>
フリーで使えるデータセット
フリーでの使用が可能なデータセットを画像、動画、音声、テキスト、経済・金融に分けてそれぞれいくつか紹介します。
▶【保存版】オープンデータ・データセット100選 -膨大なデータを活用しよう!>>
画像
セマンティックセグメンテーションのためのアノテーション付きデータセット。
ワシントン大学で行われている顔認識アルゴリズムの公開競技で用いられる、ノイズデータを混ぜた顔認識と大規模なデータセット。
機械学習初心者が最初に使うとも言われる手書き数字画像のデータセット。
動画
Google研究チームが公開する、4800件のナレッジグラフのエンティティでタグ付けされた800万本ものYouTube動画のデータセットです。1000クラスの約237Kセグメントで人間が検証したラベルを収集しています。
こちらは動画にバウンディングボックスがラベリングされたの大規模なデータセットです。 データセットは、24万のさまざまな一般公開のYouTubeビデオから抽出された約380,000の15-20のビデオセグメントで構成され、編集や後処理を行わずに自然な設定でオブジェクトを自動的に選択することができます。
Deep Mindが公開している、約65万もの動画に楽器の演奏などの人間とオブジェクトの相互作用、握手など行動にラベルが付与されている動画データセットです。
音声
スタンフォード大学のポストドクターが公開する、自動音楽構成システムを構築するためのデータセットです。 397タイトルの計5278曲が含まれています。
redditで公開されているMIDIデータを収集した大規模なデータセットです。
オープンソースの研究プロジェクトMagentaが公開する、1,006もの楽器による単音が30万ほど収録されているデータセットです。
テキスト
京都大学の黒橋・河原・村脇研究室が公開しており、自然言語処理用のツールやデータセットの情報をまとめています。
著作権が消滅した作品や著者が許諾した作品のデータを公開しています。
青空文庫の作品に対し、形態素解析を行ったCSVデータを取得できます。
経済・金融
さまざまな各種金融・経済データセットを取得することがきます。Pythonでのデータ取得記事も多いです。
Kaggleで公開されている2012年1月から2019年8月までの1分間隔のビットコインデータです。
世界銀行のデータを簡単に検索、ダウンロードすることができます。
データセット作成時に注意すべきこと6選
データセットを作成するときにも注意しなければならないことがいくつかあります。ここでは6つにわけてわかりやすく紹介します。
- ExcelはXlsx形式ではなくcsvファイルで作成する
- ファイル名のルールを決める
- 変数名のルールを決める
- 空のセルは意味を統一する
- サンプル名と特徴量名はそれぞれ異なるものにする
- セルを統合しない
①ExcelはXlsx形式ではなくcsvファイルで作成する
1つ目はExcelはXlsx形式ではなくcsvファイルで作成することです。
データセットをまとめるときExcelを使うでしょう。まとめたあとにファイルを保存するとき、デフォルトのファイル形式はxlsx形式です。しかし、データ解析・機械学習をするとき、このファイル形式を使うとエクセルに由来する余計な情報も入ってしまい、扱いにくくなってしまいます。
扱いやすく、データセットの確認や修正もしやすいのはcsv形式になります。そのため、ExcelはXlsx形式ではなくcsvファイルで作成しましょう。
②ファイル名のルールを決める
2つ目はファイル名のルールを決めておくことです。
データを作成していくにつれてファイルの数も増えていきます。このときファイル名を無作為に決めているとデータの管理が困難になってしまいます。
そのため、ファイル名にルールを決めておくとデータ抽出にかかる時間を短縮できるでしょう。
③変数名のルールを決める
3つ目は変数名のルールを決めておくことです。
変数の名前の付け方にもルールが定められており、ルールに従わない場合、計算エラーが起こる可能性があります。また、できるだけ内容が分かる名前にすることが重要です。
日本語を入力すると、変数の名称を提案してくれるサイトがあります。迷ったときには使ってみるといいでしょう。
④空のセルは意味を統一する
4つ目は空のセルの意味を統一することです。
データセットを入力していくと、何も入力していない空白のセルが発生します。
空白のセル自体は問題ありませんが、空白となっているセルの項目が、測定を行っていないのか、それとも測定した結果がゼロだったのか、どちらを意味するのかを統一しなくてはいけません。空白のセルが何を意味しているのか、意味を1つに定めましょう。
⑤サンプル名と特徴量名はそれぞれ異なるものにする
5つ目はサンプル名と特徴量名をそれぞれ異なるものにすることです。
異なるサンプルにもかかわらずサンプル名が同じであったり、異なる特徴量にもかかわらず特徴量名が同じであったりすると、データセットを解析するときに不具合が起きる可能性があります。
すべてのサンプルと特徴量を、それぞれ異なるサンプル名と特徴量名にしましょう。
⑥セルを統合しない
6つ目はセルをそれぞれ独立したものにしておくことです。
エクセルの機能でセルの統合機能があります。データセットをまとめるときにこれを使うとデータの読み込みができなくなってしまいます。
サンプル名や特徴量名のところでもセルを統合すると同様の問題が発生します。セルは、すべて統合しないようにしましょう。
まとめ
本記事では機械学習でデータセットを活用するメリットやデータセットの種類、データセットを使う場合の注意点を紹介しました。
実際にフリーで使えるデータセットもいくつか紹介しています。機械学習でデータセットを利用した作り方を知りたい人は、ぜひこの記事を参考にしてみてください。