AI(人工知能)や機械学習に関する記事やニュースを読んでいて、「特徴量」や「次元」といった言葉はよく見かけます。しかし特に説明もなく文中で使われて、そのまま意味がわからないというモヤモヤした気持ちを持ちながら文章を読み進めていく、そんなことってありますよね。
「特徴量」や「次元」というこの言葉、なんとなく理解できそうだったり、雰囲気が掴めそうでわかった気になってしまいそうな言葉の一つに該当するでしょう。しかし、AI(人工知能)の理解を深めていくならば、こうした単語の意味を一つ一つ押さえておくことは非常に大切です。
そこで今回は、「特徴量」「次元」という言葉についてお伝えしていきます。
一言で言うと「特徴量」と「次元」とは・・・
特徴量の個数 = 次元の数
特徴量とは、求めたいものを特徴づけるもののことですが、これだけでは中々理解が難しいですよね。もっとわかりやすく言うと例えば、自分が飲食店で働いているとして過去の売上から未来の売上を予測したい場合、天気や気温、湿度等々売上に寄与する情報は、未来の売上げを予測するために必要な特徴量と言います。
また特徴量に似た言葉に「次元」がありますが特徴量の個数が「次元の数」に相当し、特徴量を減らすとは次元の数を減らすということです。
さらに一般的に上記の例のように、求めたい(予測したい)もの(売上)を目的変数、目的変数に寄与するもの、影響を与えるものを説明変数と言います。
ややこしくなってきたので、整理すると、
特徴量の個数 = 次元の数 = 説明変数の数
となります。特徴量に似た言葉に「属性」がありますが、属性はデータタイプ(上記の例では「気温」)を表すのに対して、特徴量は一般に属性と値(上記の例では「気温 + 30℃」)という二つの意味を含んで表す単語として使われます(ただし、特徴量は文脈次第で様々な意味に変化することもあるようです)。けれども、実際は属性と特徴量を同じ意味で使う人が多いことも確かなので注意しましょう。
ここまで特徴量を中心にお話ししてきましたが、機械学習モデルの訓練がうまく行われるためには、訓練データに求めたいものに作用する(関係のある)特徴量が十分に含まれ、無関係な特徴量が多すぎないことが必要です。
機械学習モデルの精度を高めるためには、モデルに学習させるための適切な特徴量を揃えることが重要です。こうした過程は特徴量エンジニアリングと呼ばれています。特徴量エンジニアリングについては下の記事でご紹介していますので興味のある方はどうぞ
まとめ
つまり、「特徴量」「次元」とは
・ scikit-learnとTensorFlowによる実践機械学習』
・Andreas C. Muller and Sarah Guido (2016). Introduction to Machine Learning with Python: A Guide for Data Scientists. O’Reilly Media, Inc. (アンドレアス・C・ミューラー、サラ・グイド 中田 秀基(訳)(2017). Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 株式会社オライリー・ジャパン)
・Sebastian Raschka(2015). Python Machine Learning. Packt Publishing. (株式会社クイープ、福島真太朗(訳)) (2016). 『Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)』
AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(実話)。
コメントをどうぞ