データマイニング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

データマイニング英語: Data mining)とは、統計学パターン認識人工知能等のデータ解析の技法を大量のデータに網羅的に適用することで知識を取り出す技術。DMと略して呼ばれる事もある。通常のデータの扱い方からは想像が及びにくい、ヒューリスティク(heuristic、発見的)な知識獲得が可能であるという期待を含意していることが多い。とくにテキストを対象とするものをテキストマイニング、そのなかでもウェブページを対象にしたものをウェブマイニングと呼ぶ。英語では"Data mining"の語の直接の起源となった研究分野であるknowledge-discovery in databases(データベースからの知識発見)の頭文字をとってKDDとも呼ばれる。

定義[編集]

データマイニングの定義としては、「明示されておらず今まで知られていなかったが、役立つ可能性があり、かつ、自明でない情報をデータから抽出すること」[1]、「データの巨大集合やデータベースから有用な情報を抽出する技術体系」[2]などがある。 データマイニングは、通常はデータの解析に関する用語として用いられるが、人工知能という用語などと同様、包括的な用語であり、様々な文脈において多様な意味で用いられる。

歴史[編集]

概説[編集]

1989年に起きた"Knowledge Discovery in Databases"と呼ばれる研究分野の創出がデータマイニングという研究分野の直接の起源である。データマイニングの発展には、1990年以降の計算機の性能向上や大量のデータ蓄積が可能となったことが直接的に関係している。デジタル形式でのデータの収集は、コンピュータを用いてデータ解析をすることを念頭に置いて1960年代には既に行われつつあった。関係データベースとその操作用の言語SQLが1980年代に出現し、オンデマンドで動的なデータ解析が可能となった。1990年代に至り、データ量は爆発的に増大した。データウェアハウスがデータの蓄積に用いられ始めた。 これに伴い、データベースにおける大量データを処理するための手法としてデータマイニングの概念が現れ、統計解析の手法や人工知能分野での検索技術等が応用されるようになった。2010年代には膨大なデータを利用してデータマイニングを行うビッグデータ解析を用いた実用的なサービスが多数登場して提供されている。

1960年代[編集]

メインフレームが金融系のビジネスの基幹業務システムとして応用される。デジタルデータ収集と利用の試みが開始される。

1970年代[編集]

論文上で"Data mining"という語の使用が行われる。但し、語の定義は現在とは大きく異なっており、1970年代においては否定的なニュアンスで使用されている。

1980年代[編集]

現在の"Data mining"の定義と類似する"Knowledge Discovery in Databases"という語が出現する。リレーショナルデータベースシステムとその操作用言語であるSQLが出現する。

  • 1989年 - "IJCAI'89 Workshop on Knowledge Discovery in Databases"という名称のワークショップがアメリカのデトロイトにおいて開催される。ここで"Knowledge Discovery in Databases"という語が初めて現れている。"Data mining"の語は既にデータベースの関係者の間で否定的な意味で用いられており、商標にも類似していたため、このような名称となった。("IJCAI'89 Workshop on Knowledge Discovery in Databases"は、"Expert Database Systems, Scientific Discovery, Fuzzy Rules, Using Domain Knowledge, Learning from Relational (Structured) Data, Dealing with Text and other Complex Data, Discovery Tools, Better Presentation Methods, Integrated Systems, Privacy"の9分野の研究成果が発表された大規模なワークショップである。)

1990年代[編集]

1990年頃から始まった計算機の急激な性能向上により"Knowledge Discovery in Databases"の研究が大幅に加速される。

  • 1990年 - 1994年 - "Knowledge Discovery in Databases"の研究が推進される。この時点では研究者間でも同分野に対する認識は「データに対して何らかの演算を行って知識を発見する」といった程度のものであった。
  • 1995年 - モントリオール国際会議において"Knowledge Discovery in Databases"の語の公認がなされる。
  • 1996年 - "Knowledge Discovery and Data Mining: Towards a Unifying Framework."という論文が提出され、"Knowledge Discovery in Databases"と結び付けた形で"Data mining"の語の定義・基本機能・処理手順が提案される。同年より多数の研究者により本論文の引用が始まり、"Data mining"の語が論文上に頻出するようになる。この時点でデータマイニングという研究分野が明確に定義された。
  • 1999年 - 2010年代に大量の実世界データを収集・供給する基盤となるInternet of Things(IoT)の用語がKevin Ashtonにより初めて使用された。(この当時のIoTは、様々な物体にRFIDタグを貼り付け、RFIDに対応したセンサーを用いて物体からの情報収集を行い、収集した情報を活用することを指していた)

2000年代[編集]

インターネットへの常時接続が一般家庭にも普及する。インターネット上に蓄積されたデータが加速度的に増加する。後にデータの主要な供給源の1つとなる友人紹介型のソーシャル・ネットワーキング・サービスが2002年より相次いで提供され始める。コンピュータとインターネットの普及に着目し、ビジネスにおいて膨大に蓄積され活用しきれなくなったデータの分析を専門に行う企業も徐々に出現し始める。

  • 2000年 - "Knowledge discovery in databases: 10 years after"という論文が提出される。"Knowledge Discovery in Databases"の研究分野の創出より約10年後から"Knowledge Discovery in Databases"という研究分野の発展の歴史を振り返った内容となっている。

2010年代[編集]

コモディティ化によりコンピュータの計算能力が安価になり、データ分析のコストが下がり、ビッグデータ解析の応用が進むようになった。データサイエンティストという名称の職業が台頭し始めた。また、ビッグデータを用いたデータマイニングを応用したサービスが一般向けにも提供され始めた。コグニティブ・コンピューティング・システムが商用で実用化された。テレビ番組の紹介コーナーでも、インターネット上に存在するビッグデータの統計分析結果を元に流行のトレンドを紹介するようになった。

  • 2010年 - 英国"The Economist"誌において"big data"の語が初めて現れる。
  • 2011年2月16日 - データマイニングと推論を応用した質問応答システムである"IBM Watson"がアメリカのクイズ番組"Jeopady!"に出場して人間に勝利する。(後にコグニティブ・コンピューティング・システムとして初の商用の実用化を達成する。)
  • 2012年 - メーカー系大手ITベンダーのビッグデータを扱うソリューションの事業化への取り組みが活発化する。

解析手法[編集]

頻出パターン抽出[編集]

データ集合の中から,高頻度で発生する特徴的なパターンを見つける。

  • 相関ルール抽出
    • データベースに蓄積された大量のデータから、頻繁に同時に生起する事象同士を相関の強い事象の関係、すなわち相関ルールとして抽出する技術。POSEコマースの取引ログに含まれる購買履歴を利用したバスケット解析が著名である。
      • 例1:スーパーでビデオを買った人のうちガムテープを買う人が多い → 両者を同じ場所に置く。
      • 例2:本Aを買う人は、後に本Bを買うことが多い → 本Aの購入者に本Bを薦めるダイレクトメールを送る。
  • その他の頻出パターン
    • 時系列やグラフを対象としたものもある

クラス分類[編集]

クラス分類は与えられたデータに対応するカテゴリを予測する問題。

回帰分析[編集]

与えられたデータに対応する実数値を予測する問題

  • 代表的な手法:線形回帰、ロジスティック回帰、サポートベクトル回帰
    • 例:曜日、降水確率、今日の売上げなどのデータを元に、明日の売上げという実数値データを予測

クラスタリング[編集]

データの集合をクラスタと呼ぶグループに分ける。クラスタとは、同じクラスタのデータならば互いに似ていて、違うクラスタならば似ていないようなデータの集まり。

  • データ・クラスタリングを参照
    • 例:Webの閲覧パターンのデータから、類似したものをまとめることで、閲覧の傾向が同じ利用者のグループを発見する。

参考文献[編集]

  1. ^ W. Frawley and G. Piatetsky-Shapiro and C. Matheus, Knowledge Discovery in Databases: An Overview. AI Magazine, Fall 1992, pp. 213-228.
  2. ^ D. Hand, H. Mannila, P. Smyth: Principles of Data Mining. MIT Press, Cambridge, MA, 2001. ISBN 0-262-08290-X (各データマイニング手法の理論背景などが中心)
  • Jiawei Han and Micheline Kamber "Data Mining: Concepts and Techniques," Morgan Kaufmann, second edition, 2006, ISBN 978-1558609013 (何でも載っている百科事典的な本)
  • Ian H. Witten and Eibe Frank, "Data Mining: Practical Machine Learning Tools and Techniques," Elsevier, second edition, 2005, ISBN 978-0120884070 (いろいろな手法の利用法とフリーのツールWekaのチュートリアル)
  • 元田 浩, 津本 周作, 山口 高平, 沼尾 正行「データマイニングの基礎」オーム社, 2006, ISBN 978-4274203480 (初学者向けで全体を俯瞰できる本)
  • 福田剛志, 森本康彦, 徳山豪著 「データマイニング」共立出版, 2001.9, ISBN 4-320-12002-7 (相関ルール抽出について詳しい)

ソフトウェア[編集]

商業ソフトウェア[編集]

無償ソフトウェア[編集]

  • GNU R (r-project.org): S言語仕様をGNU GPL実装した汎用統計可視化環境。一般的に"R言語"や"R"とも呼ばれる。無償の貢献プログラムパッケージは6000を越え、Wekaを利用するRwekaやRandom forestなどもある。UIは、R GUIかターミナル経由のコマンドライン入力のみ。下記RED Rなどの援用でダイアグラム入力も出来る。R自体はインタプリタだが、速度が必要ならC言語Fortranのコードを直接記述してコンパイル実行でき、パッケージRcpp併用でC++も混在可能。信頼性に定評があり、米国FDA公認。マルチプラットフォーム。GNU GPLオープンソース。
  • Weka (waikato.ac.nz/ml/weka): ワイカト大学で開発された、javaベースのデータマイニングソフトウェア。ダイアグラムなど多様なグラフィカルインタフェースで高度なマイニング手法を視覚的に構築し駆使できる。連関規則ニューラルネットワークSVM、決定木などさまざまな分析手法があらかじめ数多くモジュールとして組み込まれており、コードを書く事なくモジュールをリンクで結んでいけば入力・分析・出力までの流れを構築できる。ゼロからコードを書いてモジュール登録もできる他、プラグインによる機能拡張も可能。ただデータマイニング研究用のツールとして産まれただけに、的確に使うには分析手法の専門的な評価知識が必要。GNU GPLオープンソース。
  • RapidMinerコミュニティ版 (rapid-i-partner.jp/product/miner): 上記商用エンタープライズ版からサポートサービスなどを除いたフリー版。オープンソース。内部にWekaを統合し、Weka同様にダイアグラム式の分析フローを構築できる。GNU Rへのインタフェースもある。
  • Julia (プログラミング言語) (julialang.org): 科学技術計算を主たる目的として設計された汎用高水準プログラミング言語とその実行環境。その開発動機として「R言語の柔軟性は良いが、処理速度に幻滅した」ことを上げ、高速処理を開発の最優先目標としている。公式ページには既に統計やマイニングに適用できる多数の分野別パッケージが公開されている。LLVMを利用しており、移植性にも優れる。MIT License オープンソース。
  • Orange (orange.biolab.si): グラフィカルデータマイニングソフトウェア。コードを書かなくともモジュールをダイアグラムで結んでいけば分析フローを構築できる。Pythonで書かれている。Windows,OSX,各種Linux対応のマルチプラットフォーム。GNU GPLオープンソース。
  • Red-R (red-r.org): GNU Rにダイアグラムインタフェースを統合できるソフトウェア。フロントエンドにOrangeを利用しているためOrangeと同一の感覚でRを使えるばかりか、GNU Rの既存のコードとダイアグラムを相互に変換できる。GNU GPLオープンソース。
  • R-Analitic Flow (ef-prime.com): GNU Rにダイアグラムインタフェースを統合できるソフトウェア。GNU Rの既存のコードとダイアグラムを相互に変換できる。RED Rに比べ、新規の分析フロー開発を重視した機能が充実している。日本の企業ef-primeが無料で配布しているので日本語マニュアルがあり、有償の法人サポートもある。RjpWikiにはユーザーコミュニーティがある。
  • D3.js (d3js.org): ブラウザを使って統計データを様々な表現で可視化するための JavaScriptライブラリ。
  • OpenCV: イメージや形状データの認識・抽出・予測処理を目的としたコンピュータビジョンライブラリであるが、パターン認識機械学習など汎用性ある関数が数多く収録され、データマイニングでの可用性も高い。インテルが開発。オープンソース。
  • Shogun toolbox (Shogun): マルチカーネル学習(MKL)などサポートベクターマシンを中心として最先端のアルゴリズムを網羅した機械学習ツールボックス。C++で実装され、MATLABGNU RGNU OctavePythonJavaLuaRubyC# から利用可能なインタフェースがある。GNU GPL3。

関連項目[編集]

外部リンク[編集]