タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

機械学習に関するplasma0713のブックマーク (3)

  • Pythonで特異値分解(SVD)を理解する - け日記

    以前の投稿( 論文メモ: Item2Vec: Neural Item Embedding for Collaborative Filtering - け日記 )で比較対象になっていた特異値分解(SVD)についてまとめ、Pythonで実装してみます。 SVDとは 特異値分解(singular value decomposition: SVD)は、数学的にはM×N(M行N列)の行列を分解する方法の一つです。 コンピュータサイエンスでは、行列で表現される特徴(情報検索の分野では、例えば文書毎の単語の出現頻度の行列など)を可能な限り損ねること無く次元を圧縮するために利用され、多次元の特徴を扱う画像処理、自然言語処理、検索や推薦に応用されています。 他の次元圧縮手法としては、主成分分析(PCA)や非負値行列因子分解(NMF)などがあります。 SVDで何ができるのか 任意のM×Nの行列Cは、以下の形に

  • kmeans++初期化のアルゴリズム(sklearn)を理解する - Qiita

    k-means++初期化の概要 k-means++でやりたいこと k-meansではデータ構造自体からデータをクラスタリングする。inputとして教師データは不要で、クラスタリングするクラス数と初期クラス中心点を指定する。 この初期クラス位置が重要で、k-meansアルゴリズムの性質上、そのとり方によって結果が変わってしまう。k-means++では初期値を良い感じに配置するためのアルゴリズムを与える。 一言でいうと、中心点が、データ点の集合のなかでいい感じに分散するようなアルゴリズムである。 k-means++の初期化についての概念と簡単な実装はPythonでの数値計算ライブラリNumPy徹底入門 - DeepAgeがとてもわかりやすい。 ここでは実際の実装(sklearn)におけるk-means++の初期化アルゴリズムを調べる。 初期化では何をしているのか? やりたいことは、外れ値に強く

    kmeans++初期化のアルゴリズム(sklearn)を理解する - Qiita
  • 【k-NN】k最近傍法をゼロから実装しながら理解する(Python)

    k最近傍法の概要 k最近傍法(k-Nearest Neighbor algorithm, k-NN)は、教師あり学習に分類される機械学習アルゴリズムである。分類問題に用いられる、非常にシンプルな手法である。 既にクラスが判明しているデータ点(訓練データ)が分布しているとき、新たなデータ点(テストデータ)が与えられることを考える。k最近傍法では、新たなデータ点から、最も近いk個の点を見て、それらの多数決によって、新たなデータ点のクラスを予測する。 簡単な例を用いてk最近傍法を理解しよう。まず、下図のように、青、橙、緑というクラスを持つ点が存在する。各点には、2次元空間上の座標が与えられている。そこに、クラスが分からない点(☆)が与えられる。この点は、どのクラスに分類されるだろうか。 まず、k=2、すなわち新たなデータ点から、最も近い2個の点を見て、それらの多数決によって、新たなデータ点のクラ

    【k-NN】k最近傍法をゼロから実装しながら理解する(Python)
  • 1