Presentation is loading. Please wait.

Presentation is loading. Please wait.

SlothLib.LinearAlgebra.FeatureVector 特徴ベクトル. SlothLib.LinearAlgebra.FeatureVector でできること ► 特徴ベクトル  次元は可変に増やすことができる  次元としてあらゆるデータ型が利用可能 ► string 型がよく使われる=文書の特徴ベクトル.

Similar presentations


Presentation on theme: "SlothLib.LinearAlgebra.FeatureVector 特徴ベクトル. SlothLib.LinearAlgebra.FeatureVector でできること ► 特徴ベクトル  次元は可変に増やすことができる  次元としてあらゆるデータ型が利用可能 ► string 型がよく使われる=文書の特徴ベクトル."— Presentation transcript:

1 SlothLib.LinearAlgebra.FeatureVector 特徴ベクトル

2 SlothLib.LinearAlgebra.FeatureVector でできること ► 特徴ベクトル  次元は可変に増やすことができる  次元としてあらゆるデータ型が利用可能 ► string 型がよく使われる=文書の特徴ベクトル ► 特徴ベクトルの作成  配列を与えて出現回数を数える ► 特徴ベクトルの計算  特徴ベクトルの足し算、掛け算、 log の計算など  コサイン類似度、ユークリッド距離計算など

3 特徴ベクトルのインターフェー ス ► IVector ► IVector  全ての特徴ベクトルクラスのインタフェース ► IVector ► IVector  次元が文字列の特徴ベクトル  double this[string key] ► 次元 key のベクトルの重み  string[] GetSortedKeyList() ► 重みが大きい順にソートされた次元の配列を取得

4 BasicVector クラス ► 基本となる特徴ベクトルのクラス ► 0 ベクトルを作るコンストラクタ  IVector v = new BasicVector (); ► ある次元に値を設定  v[ “ 京都大学 ” ] = 5.0; ► ある次元の値を取得  double val = v[ “ 京都大学 ” ]; ► ベクトルのコピーを行うコンストラクタ  IVector v2 = new BasicVector (v);

5 FrequencyVector クラス ► BasicVector を継承するクラス ► コンストラクタで配列を受け取り出現回数を数え る  string[] array = { “ 京都 ”, “ 京都 ”, “ 東京 ”, “ 大阪 ” };  IVector v = new FrequencyVector (array); ► 「京都」は配列に 2 度出現  Console.Write(v[ “ 京都 ” ].ToString()); // 2 と表示 ► 「神戸」は配列に 2 度出現  Console.Write(v[ “ 神戸 ” ].ToString()); // 0 と表示

6 ベクトルの計算 ► 足し算 : AddVector クラス  IVector va = new AddVector (v1, v2);  IVector vb = new AddVector (v1, v2, v3); ► 掛け算 : MultiplyVector クラス  IVector vc = new MultiplyVector (v1, v2);  IVector vd = new MultiplyVector (5, v2, v3); ► 対数 : LogVector クラス  IVector ve = new LogVector (v1);

7 ベクトルの正規化 ► 長さを 1 : CosNormVector クラス  IVector vf = new CosNormVector (v1); ► 最大の重みを 1 : MaxNormVector クラス  IVector vg = new MaxNormVector (v1); ► 重みの合計を 1 : SumNormVector クラ ス  IVector vh = new SumNormVector (v1); ► 最大の重みを 1 、最小の重みを 0.5 : AugNormVector クラス  IVector vi = new AugNormVector (v1);

8 DocumentFrequencyVector<T> ► 要するに文書頻度 (DF) を求める  IDocumentFrequencyVector インターフェース ► VectorCount プロパティ : もとのベクトル数 ► IDF ベクトルの作成法  IDocumentFrequencyVector df = new DocumentFrequencyVector (vecList);  IVector idf = new InverseDFVector(df); ► TF-IDF ベクトルの作成  IVector tfidf = new MultiplyVector(tf, idf);

9 距離や類似度 ► VectorOperator クラス  各種計算用のクラス ► GetEuclideanDistance : ユークリッド距離 ► GetCosine : コサイン類似度 ► その他  p- ノルム、 Max ノルム  内積、マンハッタン距離、 Jaccard 係数、 Dice 係数、  ベクトルの和、ベクトルの差  負  ベクトルの整数倍


Download ppt "SlothLib.LinearAlgebra.FeatureVector 特徴ベクトル. SlothLib.LinearAlgebra.FeatureVector でできること ► 特徴ベクトル  次元は可変に増やすことができる  次元としてあらゆるデータ型が利用可能 ► string 型がよく使われる=文書の特徴ベクトル."

Similar presentations


Ads by Google