You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
クラスタリングアルゴリズムの一つであるDBSCANの概要や簡単なパラメータチューニングについて, 日本語記事でまとまっているものがないようでしたのでメモしました。 DBSCANの概要は,wikipediaの(雑な)和訳ですのでご容赦ください。 DBSCANとは Density-based spatial clustering of applications with noiseの略 クラスタリングアルゴリズムの一つ アルゴリズムの概要 1.点を3つに分類する Core点 : 半径ε以内に少なくともminPts個の隣接点を持つ点 Reachable点(border点):半径ε以内にminPts個ほどは隣接点がないが,半径ε以内にCore pointsを持つ点 Outlier : 半径ε以内に隣接点がない点 2.Core点の集まりからクラスタを作成し,Reachable点を各クラスタに割り当て
tslearnとは 時系列分析のための機械学習ツールを提供するPythonパッケージで、scikit-learnをベースとして作られているみたいです。 主な機能として、クラスタリング、教師ありの分類、複数の時系列を重ねた際の重心の計算ができたりします。 今回使用するに至った一番のモチベーションは、波形や振動などの時系列データに対してクラスタリングできるというところです。 tslearnインストール pipコマンドでインストールできます。 Kshapeというクラスタリング手法 今回tslearnで使用するモジュールとして、Kshapeというクラスタリング手法を時系列データに適用していきたいと思います。 Kshapeは2015年に下記の論文で提唱された方法で、以下の流れで実行されるアルゴリズムになります。 相互相関測定に基づいた距離尺度を使う(Shape-based distance: SBD
はじめに 機械学習の分野でDeep Learningがその地位を揺るがぬものにして久しくなりました。 今回はその性能と汎用性の高さから、様々な分野で応用が進んでいるDeep Metric Learningについて、簡単なまとめといくつかのデモを紹介していきたいと思います。 手書き文字認識と、手書き文字認識だけでは面白くないので異常検知もやります。 Deep Metric Learning Metric Learningとは「距離学習」と言われる手法で、入力データの特徴量空間から、データの類似度を反映した特徴量空間への変換(写像)を学習する手法です。 一言で言うと、 同じクラスに属するデータは近く 異なるクラスに属するデータは遠く なるような特徴量空間への変換を学習します。 クラス分類などにおいて、距離が近すぎて分類が困難なケースでも、同じクラスは距離が近く、違うクラスは距離が遠く」なるよう
TL;DR k-meansは計算が軽く、stacking用の特徴量生成なんかでも使える。 でもクラスタ数を決めるのが悩ましい。グリッドサーチ的なこともいいけど、どうやらクラスタ数を勝手に決めてくれるX-meansというものがあるらしいので試してみる。 また、K-meansの可視化でちらほら見かけるボロノイ図のPythonでの描画の仕方について試してみる。 まえおき 統計とか数学とか機械学習とかの専門家ではないので、勘違いやミスなどあるかもしれませんがご容赦ください(勉強目的の記事です) K-meansは計算が早く便利だけど・・ K-means自体はシンプルで計算が早く、またその値を別のシンプルなモデルでstackingさせることで、最終的なモデルをシンプルなものにして、ある程度の精度を維持しつつAPIなんかでの遂次での処理に役立てたりもできます。 教師無しでも扱えるという点も、使いやすいモ
これは単なる備忘録です。詳細を知りたいという方は、この記事の元ネタになった以下のid:sinhrksさんの記事をお読みください。 ここでの問題意識は非常にシンプルで「そもそも時系列クラスタリングをかなり膨大な行数のデータに対して実行する際にどれほど厳密にやるべきか?」というお話です。というのも、たかだか数百行ぐらいのデータならリンク先にもあるように動的時間伸縮法(Dynamic Time Warping: DTW)で距離行列を求めてhclust関数で動く階層的クラスタリングでやるのが正しいと思うのですが、これが1万行とか10万行とかになるとそもそもdiss関数やhclust関数が重過ぎて動かないわけです。 そういうケースで、例えば原理的には正しくないのを承知の上で単純なK-means(リンク先にあるような{flexclust} + DTWでやるのではなく)でやっても、それなりの精度が出せる
株式会社ジオロジック(本社:東京都渋谷区、代表取締役社長:野口航、以下「ジオロジック」)は、本日より居住地プロファイリングデータ「GeoGenome(ジオゲノム)」の提供を開始いたします。 「GeoGenome」は地域ごとのライフスタイルの特徴をデータ分析し、36のクラスターと呼ぶセグメントに分類したものです。例えば「超高級住宅地のエグゼクティブ」「子育てマイホーム」といったマーケティングに活用しやすいクラスターを用意しました。これをお客様の会員住所や位置情報と結びつけることで、CRM、DM、Webターゲティング広告やポスティングなどを高精度で行うことが可能となります。これまではベータ版でのみ提供を行っておりましたが、本日より販売および出荷を開始いたします。 ジオロジックは、アドテクノロジー業界において人々の膨大な行動ログを分析してきたビッグデータ解析技術を転用し、独自の技術で居住地データ
Rでシーケンスなクラスタリングをする必要がでてきたので勉強して、まとめておく。 用途としては状態があり、時間によって遷移するものをクラスタリング出来る。例としては、天気予報(前日に晴れ、今日は曇り)でいろんな地域をクラスタリングしたいといった用途やwebページの人の訪れをクラスタリング(LP→カテゴリー1→広告)に行くパターン等々・・・。 ・使うパッケージTraMineR・cluser library(TraMineR) library(cluster) # データの読み込み data("mvad") # 状態の定義 mvad_alphab <- c("employment", "FE", "HE", "joblessness","school", "training") # パターンフォーマット変換 mvad_seq <- seqdef(mvad, 17:86, xtstep = 6,
最近の自然言語処理では、単語の分散表現は当たり前のように使われています。 単語分散表現では、各単語が高次元ベクトル空間に配置され、加減乗除等の演算を行えるようになります。 これらのベクトルは、意味の近い単語に対しては同じようなベクトルになることがわかっています。 本記事では、単語分散表現のベクトルをクラスタリングし、意味が近い単語のクラスタを作ってみたいと思います。 これらのクラスタは、眺めて楽しむだけでなく、機械学習の素性として使うこともできます。 イメージ的には、以下のような感じで単語をクラスタにまとめます。 では、単語分散表現をクラスタリングして、単語のクラスタを作ってみましょう。 準備 まずは、作業用のディレクトリを作成しておきましょう。 また、必要に応じて Python の仮想環境も用意します。 以下のコマンドを実行することで、ディレクトリを用意します。 $ mkdir work
ハイパーパラメータは自由に設定する値です。 確率分布 $ \theta_{ik} $ などをまとめて$ {bf \Theta} $などと書くと、 ハイパーパラメータを$ {\bf \alpha}$, ${\bf \beta}$と設定したとき、 トピック混合率が$ {\bf \Theta} $で、単語生成率が$ {\bf \Phi} $で、各単語の背景トピックが$ {\bf Z} $であるような文章群$ {\bf W} $が得られる確率$P({\bf \Theta}, {\bf \Phi}, {\bf Z},{\bf W} |\alpha,\beta)$は以下のような図(グラフィカルモデル)によって表現され、 実体は、 $$ P({\bf \Theta}, {\bf \Phi}, {\bf Z},{\bf W} |\alpha,\beta) = \left( \frac{prod_{k}\G
2. Topic model Topic model 文書などのデータには、そこに現れる語に潜在的なトピック (話題) がある と考え、文書からトピックを推定するモデル トピックが分かると、類似する文書を分類 (クラスタリング) 可能に 個々の語ではなくトピックを単位として考えることで、類義語の集約が 可能に (eg. 「ネコ」と「猫」を同じ語とみなせる) 類義語を集約することで、処理精度が向上 (eg. 「ネコ」で検索したとき、「猫」を含むページを発見可能に) 類義語を集約することで、必要なメモリ・時間が少なく 2 / 35 3. 特異値分解 (SVD) Singular Value Decomposition(SVD) 任意の行列 A に対し r ∶= rank(A) としたとき、次の分解が可能 ∀ A ∈ M(m, n), ∃ U ∈ M(m, r), V ∈ M(r, n), 𝛴
先週、たまたま2日連続で似たようなテーマの議論というかChatをする機会あり。テーマは「日本にアメリカのシリコンバレーのような環境を作れるか」というもの。即ち、新たな技術・アイディアをTryしている人々が集い、それを様々な側面からサポートするエコシステムを日本に作ることが出来るか、というものである。 この命題は日本からお越しになる方と時々議論する機会があるが、議論の暗黙の前提として「日本国内で日本人主体」の「より良いベンチャー環境作り」をすることがイメージされているような気がする。当方としては、まずこの前提自体に問題があるのではないかと思う。まず大前提として、ここでRole Modelと想定しているシリコンバレーは極論すればアメリカではない。ここは、ある意味世界に開かれた無国籍の地。以前、月間ASCIIに寄稿した文章(6月28日付エントリ「月刊ASCII 8月号にシリコンバレー事情について
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く