総合情報サイト / AI活用事例・AI導入事例 / AI作成に必要なデータは量より質?データの量・質とAI構築例を解説

AI作成に必要なデータは量より質?データの量・質とAI構築例を解説

「機械学習のモデルを作るためにどれだけのデータが必要ですか」という質問についてよく聞かれます。 AI(人工知能)、機械学習や深層学習を構築する場合に、必ず学習データが必要になってきますが、一般的には「ビッグデータ」と呼ばれる量のデータは、どれくらいのデータ数が求められるのでしょうか? 実は学習においてはデータの量だけでなく、質も重要です。 どの程度の質で、どのくらいのデータを集めればいいのか?という疑問を持っている方も多いため、今回はそんな学習データについてまとめてみました。

  • 目次

    AI・機械学習を行うために必要なデータ量
    データが少ない場合のAI構築方法
    AIを簡単に、短時間で作って確かめる
    プログラミング不要でAI予測モデルが構築できる「MatrixFlow」

  • AI・機械学習を行うために必要なデータ量

    機械学習のデータについて語るとき、しばしば「ゴミを入れたら、ゴミしか出てこない」と言われることがあります。どのようなデータを学習させるかによって、コンピュータがどのようなパターンを抽出するかが決まり、未知の情報を入力したときの出力結果がこれにより変わってくるためです。

    データ・特徴量の質と量

    機械学習の際、データは数だけでなく、質の良いデータであることも重要です。
    この入力データの良し悪しを決める要因の1つが、特徴量です。
    特徴量とは、分析すべきデータや対象物の特徴・特性を定量的に表した数値です。
    説明変数とも言われます。

    特徴量について、簡単な例を使って説明します。 あなたが芸能プロダクションのスカウト担当になったとします。 多くの一般の人が好む芸能人の特徴はなにか、声には、髪型などの見た目にはどんな「特徴」があるか、性格にはどんな「特徴」があるか、などいろいろなポイントがあります。
    予測したいのは、「一般大衆が好む芸能人」という「人物モデル」です。
    今まで支持されてきた芸能人は世の中に沢山いますが、その芸能人像には、ある法則があるのではないか、その法則に「強く関係している」人物の特徴を数値化したものが特徴量と考えます。
    このような人物をスカウトすれば、一般大衆に好まれる芸能人をデビューさせることも夢ではないかもしれません。
    このように、ディープラーニングなどの機械学習による予測や判断の精度を高めるためには、必要のない特徴量を見極め、必要な特徴量のみを適切に選択することが重要となります。
    もちろん、特徴量自体の量が少ないと、コンピュータはやはり十分なパターンを学習ができませんが、ここで注意が必要なのは、特徴量の質が良くないと、せっかくデータを学習させても精度の高いモデルにはならず、見当違いの結果を出力することになってしまいます。
    特徴量の質は、どんな特徴量を選択するかはもちろん、特徴量自体のデータの形式がきちんと揃っていることなどによっても変わってきます。
    上記の芸能人モデルの構築で言えば、声や髪型などのいわゆる外見は確かに特徴量に関係してくるとしても、実際には独特の雰囲気やキャラクター性など、もっと多くの要因が関わって一般大衆が好むかどうかは決まるものです。
    闇雲に特徴量が多ければ良いというわけではありませんが、関連性の高いより多くの特徴量を組み合わせ、高次のデータを学習させることでAIの精度も上がっていきます。

    ノイズ除去と特徴量選択
    もう一つ重要な点は、学習用データのノイズが学習モデルの精度向上に関係ないばかりか、場合によっては精度を下げてしまうことがある点です。
    データのノイズを除去することにより、コンピュータが予測対象に関連のある特徴のみを学習できるようになるため、予測の精度の向上が期待できます。

    また適切な特徴量を選択することによって、モデルの予測精度の向上が期待できること以外にも下記の効果を見込むことができます。

    ・モデルの構造を単純化することで理解しやすくなる
    ・学習データ量を縮小することによって学習にかかる時間を短縮できる
    ・過学習を防ぐことができる

  • データが少ない場合のAI構築方法

    ある解決したい課題があったとき、AIを構築して課題解決を進めることがあります。
    その際、どんなアルゴリズムで解くか、そのために必要になってくるデータの量はどれぐらい集めればいいのか、どのように情報を取捨選択すれば良いのか、など検討すべきポイントはたくさんあります。

    このような場合は、まずは以下の点に注意しAIを構築してみましょう。

    1. どれぐらいのデータ量が必要だろうか。 まずは、あるデータで試してみましょう!試行錯誤がポイントです。
    2. データを訓練用とテスト用に分けて学習させて、まずモデルを作りましょう。
    3. 学習モデルができたら実際に動かして、その結果を見た上で、どれくらい正解しているかによってモデルの良し悪しを判断しましょう。
    4. もし結果があなたの期待以下であったなら、もっと他にデータはないか、新しいデータを集めてテストの値に満足いくまで、上記2と3を繰り返しましょう。

    あるデータサイエンティストの方によると、少ないクラスが100超えていたら、自身が関わる分野の分析で、まずチャレンジしてみるそうです。実際は、1000件あるとまずは安心というスタンスです。
    さらに、列数とのバランスも重要で、例えば1万行だとするとその10%以下である1000列が限界、1000行なら100列までしかどんなに頑張っても使えないなどという判断もしています。

    またビジネスやサイエンスにおいてAI活用するには、やはりドメイン知識に照らし合わせての何件くらいだとパターンが出やすいかといった要素も重要になります。
    対象が季節性がある現象であるのにも関わらず、半年分のデータしかないといった状況は避けなければいけません。
    また、逆に現象にシンプルな物理方程式が隠れているような場合は、少ないデータ数でもしっかりと傾向がわかったりします。

    実際にAIを構築して課題を解決する際、一番重要なのが、その結果によって最終的な目的が達成できるかを判断することになります。
    AIを構築して課題を解決する以上、ユーザーに対してのサービスを向上させたい、売上を上げたい、かかっている工数を削減したい、などの目的がまずはあるはずです。
    これをAIで解決できなければ、いくら精度の良いAIを作っても意味がなくなってしまいます。実際のところ、どれくらいのデータ量が必要かという問いに対しては、正解はありません。
    ただし、データが少なくても、最初は精度が悪いかもしれませんが、AIは作れます。まずはデータを集めないと・・・と言って闇雲にデータを集めて失敗されている会社様をたくさん見てきました。 まずは、少ないデータでも、目標を立てて、いかに早くスタートできるかが勝負です。
    まずはいったん形を作って、走りながら方向を修正していくということも、スピードが求められるビジネスには必須です。

  • AIを簡単に、短時間で作って確かめる

    まず無料で公開されているプロジェクトやデータセットを探しましょう。
    もちろん解決したい問題がどの分野に属するのかを認識することが重要です。
    そして、プログラミングせずにAIが作れる、MatrixFlowを使って実際にAIを作ってみましょう!

    MatrixFlowのお役立ち記事をご紹介します。

    故障すると予測される機械を分類するAIの作成方法

    今回の記事では、プログラミングを使わずにAIを作れるMatrixFlowを使って、トラックの「空気圧システム(APS)」の故障を予測します。
    APSはタイヤの空気圧をセンサーから取得することができます。
    しかし、そのセンサーに不具合や故障があると人命に関わる事故に起きるかもしれません。
    そのため、AIを使ってAPSの故障を予測することは、事故を未然に防ぐために重要なことです。

    ちなみに今回のAIでは分類という手法を用います。
    分類とは、予測対象のデータがどのグループに所属するのかを判断する手法です。
    この手法では、AIは分類アルゴリズムを用いて、特定のグループの共通点を識別します。
    そして、それらの共通点と予測対象のデータを比較し、特定のグループに属するかどうかを判断します。

    この結果によって、同じ傾向を持つグループへの施策を考えることができます。
    例えば、共通項を持つグループへのマーケティングを考えたり、故障しやすいグループへの改善策を考えたりすることができます。

    ノンプログラミングでAIを作成する流れは以下です。

    ここでは、AIを作成する全体的な流れを簡単に説明していきます。
    まず、AIを作成するにはデータセットが必要です。AIはデータセットのデータをもとに学習や予測をしていきます。
    次にどの列をAIに予測してもらいたいかを選択します。ここで選択しなかった列は、AIが予測をするときの判断材料となり、どのくらい重要な判断材料だったかを学習結果で比べることができます。
    そして、AIが利用できるデータの形にするために、データの前処理を行います。前処理では欠損値の修正や文字のデータの数値化をすることができます。
    データの準備ができれば、レシピの作成を行います。レシピは、AIが処理を行う手順を示すもので、MatrixFlowではブロックとブロックを結ぶだけで作成することができます。
    最後にAIに学習をさせます。

  • プログラミング不要でAI予測モデルが構築できる「MatrixFlow」

    MatrixFlowはプログラミング不要のAI構築プラットフォームです。
    AI構築の際のアルゴリズムの開発は、処理単位のブロックをドラッグ&ドロップし、繋ぐことで手軽に実現可能です。
    またデータの管理、作成したアルゴリズムの管理などのAI構築に関わるすべての工程をプラットフォーム上で一元管理することが特徴です。
    MatrixFlowを使用することで、AI開発においてはさらなる開発の早期化、開発費用の低減が期待されます。

    MatrixFlowは、あらゆる業種・業界のお客様に使用していただいており、お客様の声を元に開発を続けているため、開発ノウハウがレシピ、およびその組み合わせのテンプレートとしてプラットフォーム上に蓄積されています。
    また、MatrixFlowには、さまざまなタイプのすでに構築されたAIのテンプレートのご用意もありますので、お客様の課題にあったテンプレートでぜひ一度AI構築にトライしてみてはいかがでしょうか。
    ぜひ、詳細はお問い合わせください。

関連した事例