忍者ブログ

研究の掃溜ノオト

since 2011/2/13 知能ロボ研究の合間に思ったこととか書いてます。

カテゴリー「手法」の記事一覧

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

VB資料

思えば一ヶ月近く放置していたので軽く更新_(:3」 ∠)_
PR

・・・つづきはこちら

テンソル因子化法について

 ちょっと最近テンソル因子化について調べていたのでここにまとめておこうと思います.
 二つの添字(例えば時間と空間)を持ったデータを行列として扱うことは古くから行われ, 多変量解析の分野で活躍してきました. 特にデータ行列を低ランクの行列の積として分解することは行列分解として知られ様々な手法(主成分分析・正準相関分析・非負値行列分解・k-means法 etc)がこれにより記述できることが知られています. しかし三つ以上の添字を持ったようなデータに行列分解をそのまま適用することはできません. そのため今まではデータを適当に並べ換えて無理やり二つの添字で表すことにより行列分解を適用してきました.
 そこで三つ以上の添字を持った量を直接扱うためにそれをテンソルとみなす方法が考えられました. そして行列分解の時と同じようにそれをより低ランクのテンソルの積として分解してやろうというのです. これがテンソル因子化法と呼ばれる手法です. ただし行列に比べて自由度が増えた分テンソルを分解する方法は色々考えられます. ここでは代表的な二つの因子化法について解説した後、非負値や確率的拡張について触れたいと思います.

I want to sum up here about "Tensor Decomposition", since I have surveyed it at last.
In multivariate analysis, data which has two indices, for example, space and time, are conservatively treated as a matrix. Especially, the method for factorizing the matrix into lower rank matrices is called "Matrix Factorization (MF)" and many methods which have used in multivariate analysis,for example, Principal Component Analysis, Canonical Correlation Analysis, Non-Negative Matrix Factorization, and K-means method, are able to be interpreted as extension of MF. However MF is unable to directly apply to the data which has three (or more) indices. That is why such data is represented as the data which has two indices by sorting properly by force.
Therefore the way in which the data is considered as a tensor has increasingly come to be used because we can regard a tensor as the data which have three (or more) indices. Then the method for factorizing a tensor into lower rank tensor like as MF is born and is called "Tensor Decomposition". In this regard, there are many ways of factorization because Tensor Decomposition has higher degrees of freedom than MF. Here I explane the two typical way of Tensor Decomposition and run over extensions to non-negative and probabilistic.

・・・つづきはこちら

PCAの主成分を高速に求める方法について

主成分分析(PCA)はデータの圧縮手法の一つです.PCAを用いることでデータを拘束している高次元空間中の部分空間を取り出すことができます. 部分空間の基底を求める方法は一般には共分散行列の固有値問題に帰着されますが, 固有値問題は計算時間のオーダーがO(n^3)であるので次元が高いデータに対しては時間がかかりすぎてしまいます.しかしこれはすべての固有値・固有ベクトルを求める時の話であって, PCAに於いては値の大きい方から数個の固有値及び対応する固有ベクトルしか必要ないという場合が多々あるので真面目に固有値問題を解くのは効率がよくありません.
今回は数値計算の授業中に思いついたデータの主成分を効率よく必要な数だけ取ってくるアルゴリズムを紹介します. このアルゴリズムは大きい方から固有値及び対応する固有ベクトルを必要なだけ取ってくるアルゴリズムであるのでKPCAやCCA, KCCA などに応用することもできます. あとで調べて分かったのですがこの方法はGoogle がPagerank を求める時にも用いているそうです. 残念←

Principal Component Analysis (PCA) is one of the method of data compression. We can bring out the subspace in high dimension space which constrains data. Generally the method of calculate basis of the subspace is the eigenvalue problem of covariance matrix. However this method takes too long time for high dimension data because the eigenvalue problem takes time O(n^3). If you need not all eigenvalues and eigenvectors of covariance matrix and only need several these from the lager one, it is not efficient to solve the eigenvalue problem straight (in particular PCA).
In this item, I introduce the algorithm to calculate principal value of data efficiently as needed(I came up with this algorithm at the time of the lecture of numerical computation). This algorithm can be also applied to KPCA, CCA and KCCA because it calculate eigenvalues and eigenvectors of covariance matrix from the larger one as needed. Afterwards, I found this algorithm has already used by Google to calculate Pagerank.

・・・つづきはこちら

プロフィール

HN: 相馬 豊
所属:KU
連絡先(Twitter): @i-horse
インタビューはこちら

カレンダー

04 2017/05 06
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Twitter

アンケート

マクロミルへ登録

Google Adsence

アクセス解析

リンク

Copyright ©  -- 研究の掃溜ノオト --  All Rights Reserved

Design by CriCri / Photo by momo111 / powered by NINJA TOOLS / 忍者ブログ / [PR]