Laboro

Laboro.AIコラム

機械学習の鍵 「特徴量」。その重要性を考える

2020.12.25公開 2024.3.28更新

概 要

大量のデータを学習することでパターンや一貫性を見つけ出す機械学習では、データの中のどの部分を指標にするかという「特徴量」を考え抜くことが鍵を握ります。特徴量の概要や具体例を紹介します。

目 次

機械学習と特徴量
特徴量とは
 ・概要
 ・次元
 ・目的変数
 ・説明変数
特徴量が重要な理由
 ・特徴量の質と量
 ・ノイズ除去と特徴量選択
機械学習での特徴量の具体例
 ・売上予測
 ・画像認識
ディープラーニングと特徴量の関係
 ・特徴量選択の難しさ
 ・解決策としてのディープラーニング
 ・特徴量エンジニアリングという解決策も
AIの鍵を握る特徴量

機械学習と特徴量

コンピュータにデータを学習させ、未知のデータに対する予測や判断を可能にする技術が機械学習です。機械学習は、これまでは人間でしか行うことができなかったタスクをコンピュータに学習させることで機械化し、効率化し、自動化するための技術として期待され、AIと呼ばれる技術の中でも近年とくに活用が広がっている分野です。

しかし、機械学習ではただデータを用意すれば良いわけではなく、データの中のどの特徴に着目し、コンピュータに学習させれば良いかを人が指定する必要があります。この特徴それぞれのことを「特徴量」と言い、機械学習を用いるにあたってはとても重要な要素の一つになります。

特徴量とは

大量のデータをコンピュータに学習させる機械学習では、データのどの部分を参考にしてパターンを見つけ出せば良いかの指標となる特徴量を指定する必要があります。

概要

例えば人で考えてみると、その人を表す特徴として身長や体重、性別、年齢などが考えられます。そして私たちは、実際にその人の身長が何cmなのか、何歳なのか、その具体的な数値を知らなくても“背が高い人”や“若い人”といった判断ができます。

ですが、人のような感覚を持っていないコンピュータではそうはいかず、身長の高さや年齢を明確に数値として示すことで、コンピュータはその人の特徴を把握できるようになります。つまり、特徴量とは、対象となるデータの特徴を数値にして表したものです。

とはいえ、大人数のデータをコンピュータに読み込ませるとき、特徴量が色々とあり過ぎると、コンピュータはどれを参考にして良いかの判断がつきません。目的によって身長が重要なこともあれば、年齢が重要なこともあるはずです。

そのため機械学習では、コンピュータがそのパターンやルールを学習しやすいように、学習の指標となる特徴量を指定することが必要になります。

次元

一方で、私たちは、人の個性や人柄を身長だけで判断することはしないはずです。同じように、コンピュータに大量のデータを学習させて、そこに含まれるパターンや一貫性を抽出しようとするときも、特徴量が一つでは物足りないということは、容易に想像がつくかと思います。

そのため機械学習では、複数の特徴量からデータを学習させていきます。この特徴量の数を「次元」と言います。身長と体重、性別を特徴量にする場合は3次元、そこに年齢を入れる場合は4次元といった具合です。

目的変数と説明変数

データを分析する上で重要な特徴量を知るにあたっては、「目的変数」と「説明変数」の2種類のデータの違いについても理解を深める必要があります。

例えば、過去の数値傾向に基づいて次に起こることをAIで予測したい場合、予測対象の過去データを目的変数、予測のヒントとなるデータを説明変数といいます。そして、この説明変数が特徴量です。

少しわかりにくいので例で考えてみると、ある作物の収穫量をAIで予測したいというゴールがあったとします。コンピュータは、過去どれだけの収穫量があったかを学習することで未来の収穫量を予想できるようになるので、「過去の収穫量」が目的変数にあたります。

そして、この予測を正確に行うためには気温、湿度、土の状態、害虫の発生回数など、その予測の根拠となるデータ、説明変数(特徴量)が必要になるというわけです。説明変数の数が増えるほど、過去の収穫量がなぜその量だったのかをより客観的に説明できるようになっていきます。

特徴量が重要な理由

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

特徴量の質と量

データは数だけでなく、質の良いデータであることも重要です。この入力データの良し悪しを決める要因の一つが、やはり特徴量です。

特徴量の質が良くないと、せっかくデータを学習させても精度の高いモデルにはならず、見当違いの結果を出力してしまいます。特徴量の質は、どんな特徴量を選択するかはもちろん、データの形式がきちんと揃っていることなどでも変わってきます。

もちろん、特徴量自体の量が少ないと、コンピュータはやはり十分なパターンを学習ができません。上記の作物の収穫量予測で言えば、気温や湿度は確かに収穫量に関係してくるとしても、実際にはもっと多くの要因が関わって収穫量は決まるものです。闇雲に多ければ良いというわけではありませんが、関連性の高いより多くの特徴量を組み合わせ、高次元のデータを学習させることでAIの精度も上がっていきます。

ノイズ除去と特徴量選択

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

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

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

機械学習での特徴量の具体例

次に二つの例を挙げ、どのような特徴量が指定されるかを見ていきたいと思います。

需要・売上予測

需要・売上予測などの数値で表されるデータは、その予測を正確に行うことは難しいとしても、比較的特徴量を把握しやすい分野だと言えます。

需要・売上予測で目的変数となるのは、過去の売上です。そして説明変数となるのは、曜日や気温、店舗周辺のイベント、セールの実施の有無、広告費などが挙げられます。これらを特徴量としてデータを学習させ、次に翌日のこれらの変数を入力することで、コンピュータが翌日の売上を予測してくれるようになります。

需要・売上予測についてはこちらのLaboro.AIコラムもご覧ください。
需要予測AIよ、需要は予測するものでなく作るものだ。

画像認識

画像認識では、売上予測のような数値的に把握しやすいデータと比べると、特徴量の指定が難しくなります。人が見れば何が写っている画像かが明らかだとしても、コンピュータにとってみれば単なる画素(ピクセル)の集まりでしかないからです。

画像認識で特徴量を指定するには、一定のピクセルの集まりを特徴量に変換します。例えば、発疹の症例画像からどんな病名かを診断するAIを開発したい場合、それぞれのピクセルをRGB情報として読み込み、近い色をまとまりとして認識するなどの処理を行います。その後、患部の色や大きさなどを特徴量として設定し、パターンとして学習するなどが考えられます。

画像認識についてはこちらのLaboro.AIコラムもご覧ください。
画像認識AIの世界。その仕組みと活用事例

ディープラーニングと特徴量の関係

これまでご紹介してきたように、機械学習と特徴量は切っても切り離せない関係にあります。しかし、機械学習の1種であるディープラーニング(深層学習)においては、特徴量の指定というタスクから(ある程度)解放されるという大きなメリットがあります。

特徴量選択の難しさ

売上予測の例では曜日や気温、広告費などわかりやすい特徴量の例を出しましたが、実際には、どの特徴量を選択し、どの特徴量を選択しないかの判断はデータサイエンティストやエンジニアが手掛ける領域であり、簡単には行えません。特徴量を上手く選択しなければ良いデータとは言えず、大量に学習させても十分な精度のAIにはなりません。

また、人にとって判断の難しい題材では特徴量選択の難しさが、さらに増します。例えば感情分析では、表情や仕草からその人がどんな感情を抱いているのかを予測することが考えられますが、私たちは直感的に相手の感情を判断していることが多いため、その評価指標を明文化したり、数値化することは難しいはずです。こうしたケースでは、何が特徴量になるのかを判断することにかなり知恵を絞る必要性が出てきます。

さらに、特徴量はそこから得られる効果を意識しなければ、集計、数値変換、コード化などのさまざまな手法を適用したデータ変換の方法が数多く考えられてしまうことがあります。それにより、多くの特徴量を設定した場合に発生する計算時間・リソースが必要となってしまい、さらには大量に作成された特徴量から有用なものを絞り込むのが煩雑になってしまうこともあります。

出典:iMagazine「今あらためて考える特徴量エンジニアリング ~予測精度をあと一歩改善するテクニック

解決策としてのディープラーニング

ディープラーニングは、人間の神経回路を参考にした「ニューラルネットワーク」をベースにし機械学習技術の一つであり、第3次AIブームを引き起こすきっかけとなった技術でもあります。その最大の特徴は、「そのデータからどんな特徴量を参考に学習したら良いか」をコンピュータ自身が抽出できる点にあります。

ディープラーニングでは、その他の機械学習技術に比べても大量のデータが必要であることや、膨大な計算量に耐えられるマシンが必要という面もありますが、特徴量の選択をコンピュータ自身が行えることは、これまでに比べて大きな技術的進歩だと言えます。

参考:機械学習とディープラーニング(深層学習)の違いとは

特徴量エンジニアリングという解決策も

特徴量の選択に難しさがあることから、データから有用な特徴量を作成する技術の確立が目指され、それは「特徴量エンジニアリング」と呼ばれています。以下の五つのプロセスで進められると捉えることができます。

①データ理解
保持しているデータの内容、取得タイミング、データから読み取れる傾向を理解します。

②仮説立案
例えば、「ウェブサイトの滞在時間が長い人は、契約する可能性が高い」など、データから見えてきた仮説を立てます。どのデータが特徴量として有用かの見当を付けるプロセスとも言えます。

③クエリ実装
仮説に基づいて必要な数値をデータから抽出し、特徴量を生成するプログラムを実装します。

④特徴量リストの試作
③で開発したプログラムを用いて、機械学習に投入する特徴量リストを試作します。

⑤特徴量の評価
試作した特徴量リストを用いて、機械学習で分析し、その結果を評価します。

出典:NEC「特徴量とは?AI活用でなぜ必要なのか、なぜ重要なのか、基礎から解説

AIの鍵を握る特徴量

ご紹介してきたように、大量のデータを活かし、未知のデータに対して正確な予測や判断をAIで行うためには、特徴量について知り、最適な特徴量選択を行うことが非常に重要です。

ですが、概念はわかっても特徴量を含めた設計とエンジニアリングにはやはり専門的な知識とスキルが必要になってきます。また、AIを企業に導入する際には、実は、技術にも増してビジネス観点が非常に重要になります。というのも、そもそもその特徴量、目的変数、説明変数を用いることでビジネス成果に貢献する結果が得られるかどうか、この点をまずは念入りに検討しなければならないからです。

Laboro.AIではビジネスコンサルティングの視点を踏まえたAI導入をご支援しています。AI導入をご検討の企業様、導入したものの実運用で成果が出なかったなどでお困りの方、ぜひご相談ください。

その他のおすすめコンテンツ

事例から知る。機械学習の基礎と活用5ジャンル
AI開発の基礎。概要から開発の流れ、必要なものを解説

カスタムAIの導入に関する
ご相談はこちらから

お名前(必須)
御社名(必須)
部署名(必須)
役職名(任意)
メールアドレス(必須)
電話番号(任意)
件名(必須)
本文(必須)

(プライバシーポリシーはこちら