Search
Exact matches only
Search in title
Search in content
Search in comments
Search in excerpt
Search in posts
Search in pages
Search in groups
Search in users
Search in forums
Filter by Custom Post Type
Filter by Categories
総合
日記
マーケティング
SEO
プログラミング
ブログ
ソーシャル
Google
ご挨拶
OS
CentOS
CMS
WordPress
プラグイン
Plugin
{ "homeurl": "https://sociallabo.net/", "resultstype": "vertical", "resultsposition": "hover", "itemscount": 4, "imagewidth": 70, "imageheight": 70, "resultitemheight": "auto", "showauthor": 1, "showdate": 1, "showdescription": 1, "charcount": 1, "noresultstext": "No results!", "didyoumeantext": "Did you mean:", "defaultImage": "https://sociallabo.net/wp-content/plugins/ajax-search-pro/img/default.jpg", "highlight": 0, "highlightwholewords": 1, "openToBlank": 0, "scrollToResults": 0, "resultareaclickable": 1, "autocomplete": { "enabled": 1, "googleOnly": 0, "lang": "ja" }, "triggerontype": 1, "triggeronclick": 1, "triggeronreturn": 1, "triggerOnFacetChange": 0, "overridewpdefault": 0, "redirectonclick": 0, "redirectClickTo": "results_page", "redirect_on_enter": 0, "redirectEnterTo": "results_page", "redirect_url": "?s={phrase}", "more_redirect_url": "?s={phrase}", "settingsimagepos": "right", "settingsVisible": 0, "hresultanimation": "bounceIn", "vresultanimation": "rollIn", "hresulthidedesc": "1", "prescontainerheight": "400px", "pshowsubtitle": "0", "pshowdesc": "1", "closeOnDocClick": 1, "iifNoImage": "description", "iiRows": 2, "iitemsWidth": 200, "iitemsHeight": 200, "iishowOverlay": 1, "iiblurOverlay": 1, "iihideContent": 1, "iianimation": "bounceIn", "analytics": 0, "analyticsString": "", "aapl": { "on_click": 0, "on_magnifier": 0, "on_enter": 0, "on_typing": 0 }, "compact": { "enabled": 0, "width": "100%", "closeOnMagnifier": 1, "closeOnDocument": 0, "position": "static" } }
データマイニングで使われるトップ10アルゴリズム

データマイニングで使われるトップ10アルゴリズム


2125924

データマイニングで使われるトップ10アルゴリズム – ソーシャル ラボ は SEO SEM マーケティング に特化しつつ オープンソース などの 情報 も 配信しています。

データサイエンティスト+ビッグデータ=ビジネス価値を高める

こんな状況を想像してみてください。
あなたは生き残るために、物凄い価値のある黄金の塊を見つけなければなりません。

問題なのは、それがゴミの山の奥深くに埋められていることです。
あなたを助けられる人は、暗闇や誰も足を踏み入れない恐ろしい場所に隠された財宝を見つけ出す、卓越した技術を持った勇敢な探検家だけです。

現実世界に置き換えてみましょう。
あなたは、マーケティング・エグゼクティブです。ステイクホルダーのためにビジネス価値を高める、というクリティカルなミッション、すなわち、デジタルマーケティングの激しい荒波の中であなたの会社が生き残るためのミッションを課されています。

すなわち、目的達成のために、あなたはBig Dataと呼ばれるゴミの山を綺麗にしなければならないのです。
お助けが必要ですか? ご心配なく。データサイエンティストチーム(もしくはデータ探索チームといってもいいでしょう)があなたを助けてくれます。

データサイエンティスト

Facebookのアカウントにはユーザーの貴重な情報がつまっていることや、Googleが個人についてのあらゆる情報を把握したいと意図していることは知られていますが、昨今では小規模なスタートアップ起業であっても事業戦略に転用するために、さまざまなデータを収集しています。

しかし、多くの場合、企業が収集している生データは非常に乱雑なものです。不完全で整理されておらず、ちぐはぐに分類されていたり明らかに間違ったものが紛れ込んでいることも多いのです。それでも、そこには多くの貴重な情報があります。

データサイエンティストの仕事は、統計学、コンピュータサイエンス、データ分析を駆使して、膨大なデータを構造化しながら整理して、起業がデータを活用したアクションを起こすために必要な情報となるように、解析結果を導き出すというものです。

データマイニングで使われる10のアルゴリズム

2006年のデータマイニング学会、IEEE ICDMで選ばれた「データマイニングで使われるトップ10アルゴリズム」

This paper presents the top 10 data mining algorithms identified by the IEEE International Conference on Data Mining (ICDM) in December 2006: C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. These top 10 algorithms are among the most influential data mining algorithms in the research community.

With each algorithm, we provide a description of the algorithm, discuss the impact of the algorithm, and review current and further research on the algorithm. These 10 algorithms cover classification, clustering, statistical learning, association analysis, and link mining, which are all among the most important topics in data mining research and development.

1. C4.5

C4.5はCLSやID3といったアルゴリズムを改良してできたもので、決定木を使って分類器を作ります。決定木といえばCARTが良く使われますが、CARTとの違いは以下のとおりです。

・CARTは2分岐しかできないがC4.5は3分岐以上もできる
・CARTはジニ係数を分割の指標にするがC4.5は情報ベースの基準を使っている
・CARTは木の剪定をクロスバリデーションによって行うため時間がかかるがC4.5は二項信頼限界を使うため一方行でできる

C4.5は1997年に商用のSee5/C5.0に改善され、以下のような変更点がありました。
・ブースティングを組み込むことで精度が格段に上がった
・スケーラビリティが向上しているのでマルチコアCPUで有用

2. k-meansアルゴリズム

この画像の例では、2次元に分布しているデータを5つのクラスターに分けています。手法としては、次の2ステップを反復して計算します。

 Step 1. データの割り振り(一番近い中心に割りつける)

 Step 2. 平均値の計算(クラスター毎の平均値を計算する)

実用的には、「いくつのクラスターに分類するか」というkを事前に決定する必要があります。データから最適なkを推定する方法もいくつか提案されています(GAP推定量など)。

3. サポートベクターマシン(SVM)


2125924

簡単に言ってしまうと次のようなもの。

・データ群を2つのグループに分類するために使用される手法。
・2つのグループの境界(2次元なら境界線、3次元なら境界面)を決定して、個々のデータがどちらのグループに属するかを決定する。
・正解のわかっているデータを参考にして、境界を決める(学習する)。

4. アプリオリアルゴリズム

アソシエイションルールの分析によって、高頻度のトランザクションを見つける際に最も良く使われる手法です。「土曜はビールとおむつがペアで買われる」というアレですね。

アプリオリアルゴリズムは強力な結果を得ることができる割に、実装は他の手法に比べて難しくありません。

近年のアプリオリアルゴリズムの顕著な発展は、FP-growth(frequent pattern growth、頻出パターン成長)という手法です。以下のようにデータベースをスキャンすることでルールを作成できます。データベースを2回しかスキャンしないので、アプリオリアルゴリズムよりも格段に早い手法です。

 Step 1. データベースを、全ての重要な情報を持つFP-treeという構造に圧縮する

 Step 2. 圧縮されたデータベースを、高頻度セットに関連する条件付きデータベースに分割し、それぞれをマイニングする

他にも様々なトピックがあり、(1)分類学の組み込み、(2)インクレメンタルマイニング、(3)アイテムの連続変数の利用、(4)頻度ではない指標の利用、(5)アイテムセットよりリッチな表現(ツリーやグラフによる表現)、(5)閉じたアイテムセットなどがあります。

5. EMアルゴリズム

様々なモデルでパラメータ推定する際に使われるアルゴリズムです。モデル式が複雑になると数式展開では解を求めることができないので、EMアルゴリズムのような数値計算による最適化によってパラメータを求めます。論文では混合分布のモデルが紹介されています(なのでEMアルゴリズムというより混合モデルが良く使われるということでしょう)。

混合分布がいくつのクラスター(正規分布)から出来ているかを決める必要がありますが、この最適な数を推定する方法がいくつかあります。BICを利用したり、尤度比検定を行ったりします。BICを使った最適化を組み込んだものに、MFclust関数という手法があります(以前、この記事で紹介しました)。EMアルゴリズムの説明のときは、k-means法と混合分布の話が良く出てきます。未確認ですが、正規分布を仮定すると、k-means法は混合モデルに帰着するのかもしれません。

6. ページランク

ページランクは1998年にSergeyによって提案されたサーチランキングを付ける方法です。そのアルゴリズムを元にサーチエンジンを開発したGoogleは大成功を収めました。本質的には、ハイパーリンクを投票のように解釈しています。しかし単純に投票数だけを見ているのではなくて、投票元のページも分析し、重みを付けています。

7. アダブースト

1997年に提案された、アンサンブル学習と呼ばれる手法の1つです。いくつかの学習器を組み合わせることで、強力な予測性能を得ることができます。また実装も難しくありません(たった10行程度のコード)。

多くの研究によればアダブーストは過学習しにくいことがわかっています。つまり、訓練データでエラーが0であっても、テストデータのエラーも減少できるという結果が出ています。どうしてこのような現象が起こるのか、ということについての研究もされています。Schapireらはこの論文でマージンを基にした説明を試みており、この説明が成功するとアダブーストとSVMの関連性が見つかることになります。

8. k-近傍分類

全ての訓練データを記憶してクラスタリングを行う、「まる暗記」型の分類器です。あるデータを、最も近いk個のデータの最多数のクラスに分類します。実装も理解するのも簡単ですが、訓練データを全て記録しておかなくてはならないのでコストが大きく、計算にも時間がかかります。

分野によってはSVMのような高度な手法よりも性能が良いことがあります(遺伝子分野の論文)。進んだトピックとしては、精度を落とさないまま訓練データを減らす方法(condensing)、訓練データは減らすが精度が高くなる方法(editing)、近接グラフへの応用、ファジーアプローチなどがあります。

9. ナイーブベイズ

ナイーブベイズもクラスを予測するための手法です。構築するのが簡単で、パラメータ推定するために複雑な繰り返し計算が必要ありません。そのため大きなデータに対しても適用することができます。解釈もしやすく、性能もとても高いです。

ナイーブベイズは簡潔であり、エレガントであり、ロバストであることから様々な分野で応用されています。最も古い手法であり、形も単純であるに関わらず、性能はとても高いです。テキスト分類やスパムフィルタリングで広く利用されています。また統計、データマイニング、機械学習、パターン認識の分野で様々な応用や改良がされています。ベイジアンネットワーク、boostedナイーブベイズのように進んだトピックもあります。

10. CART

CART(Classification and Regression Trees、分類と回帰木)は2分岐の決定木によってクラス、連続値、生存時間を予測する手法です。欠測値もカテゴリとして扱うことで、欠測のあるデータをそのままアルゴリズムに突っ込むことができることも利点の一つです。


2125924