タグ

行列に関するsh19910711のブックマーク (8)

  • Matrix Factorizationとレコメンドと私 - Qiita

    レコメンドにおける次元削減手法の一つであるMatrix Factorizationについてまとめた自分用メモ的なものです。 なおタイトルは「部屋とYシャツと私」にちなんだだけで、ちなんだ意味はありません。 1. レコメンドシステムにおける次元削減 1.1 レコメンドの設定と協調フィルタリング すでにレコメンドをたくさんされている方にとってはとても当たり前の話かもしれませんが一応前提をば。 今回考えるデータセットはMovieLens100kのように「ユーザ×アイテム」の行列でできているもので、例えば以下のような形のものを想定しています。 レコメンドでおなじみの協調フィルタリング1では相関係数やコサイン類似度を用いてユーザ(orアイテム)同士の類似度を出し、それを用いた評価の予測値に基づきレコメンドをするという趣旨のものでした。 この協調フィルタリングのようなレコメンド手法のことを近傍ベースア

    Matrix Factorizationとレコメンドと私 - Qiita
    sh19910711
    sh19910711 2024/05/27
    "synonymy: 赤い缶のコーラを買う人と青い缶のコーラを買う人はそれぞれ別の色のコーラを買わないと思われ + 通常の協調フィルタではこの赤い缶ユーザと青い缶ユーザの類似性をうまく捉えることができません" 2019
  • 行列の積演算で openBLAS cuBLAS を体感する - Qiita

    Basic Linear Algebra Subprograms (BLAS) の 行列の積 演算が、C の for 文で率直に書いたルーチンに比べ、どれ程のものか体感してみる。 背景 深層学習の実装を理解していくにあたり、行列の積演算を高速に行いたくなった。 BLASは 行列の積演算が速いとの話を目にするが、実際に使ってみたことはなかった。 → 今回 BLAS の性能を体感してみる。 BLAS について 下記Webサイトを参考にしています。 ・Basic Linear Algebra Subprograms(Wikipedia) ・BLASの簡単な使い方 ・CUDA Toolkit cuBLAS ・インテル(R) 数値演算ライブラリ(MKL) リファレンス・マニュアル(PDF)

    行列の積演算で openBLAS cuBLAS を体感する - Qiita
    sh19910711
    sh19910711 2024/05/22
    "深層学習の実装を理解していくにあたり、行列の積演算を高速に行いたくなった / cuBLAS: NVIDIA のグラフィックカードのGPU上で並列演算 / gefoce1050ti な 15K円位のボードでも 率直C版に比べ 500倍以上の差" 2017
  • 【推薦システム】レコメンドアルゴリズムまとめ①【入門/協調フィルタリング/NMF】 - Qiita

    一言で表すと、ユーザーの行動履歴に基づいた推薦アルゴリズム。 メモリベースの手法とモデルベースの手法の二種類があります。 メモリベース手法 ユーザ間の類似性やアイテム間の類似性に着目して推薦を生成する手法です。 このうち、さらにユーザーベースの手法とアイテムベースの手法に分類されます。 特徴 ドメイン知識を必要としない(商品の内容を知らなくてもレコメンドできる) 異なるジャンルをまたいだ推薦ができる 利用者が多い場合に有利 推定の都度全データに対して計算を行う(類似度を計算する)アプローチをとるのでデータのサイズに比例して計算コストが高くなる。 ユーザーベース 対象となるユーザーと類似した嗜好を持つユーザーのグループを調べることによって、各ユーザーに適したレコメンデーションを提供する手法です。 メリット アルゴリズムがシンプル、データセットが頻繁に変更されても対応できる。 デメリット 巨大

    【推薦システム】レコメンドアルゴリズムまとめ①【入門/協調フィルタリング/NMF】 - Qiita
    sh19910711
    sh19910711 2024/05/21
    "Cold Start問題: 嗜好に関するデータがある程度集まらないと有意な推薦ができない / NMF: 元行列Vと分解したW,Hの要素の値がすべて非負値 + 基底ベクトルと係数を非負に限定することで、係数が疎になりやすく" 2021
  • ArmのScalable Matrix Extension (SME)を試す

    最近のCPUには行列乗算に役立つ命令が載っていることがあります。IntelのAdvanced Matrix Extensions (AMX)、AppleのAMX、IBM PowerのMatrix-Multiply Assist (MMA),そしてここで取り上げるArmのScalable Matrix Extension (SME)です。 SMEはここ数年(2021年ごろから?)話は聞きますが、実物の話は聞かないという状況でした(私の中では)。それが最近発表されたApple M4に実装されているという噂を聞いて、俄然興味が出てきました。Apple M4の実物は私は持っていませんが、QEMUを使うとSMEの動作確認ができるようです。やってみましょう。 環境構築とベクトル長 Ubuntu 24.04上のGCC 14/Clang 18とQEMU 8.2で動作確認します。Ubuntuはx86_64で

    ArmのScalable Matrix Extension (SME)を試す
    sh19910711
    sh19910711 2024/05/20
    "SME; Scalable Matrix Extension: 行列乗算に役立つ + 最近発表されたApple M4に実装されているという噂 + QEMUを使うとSMEの動作確認ができる / Macに搭載されれば個人のパソコンでSMEプログラミングができる"
  • Collective Matrix Factorization - 自然言語データのエレガントなデータ探索法 - - Qiita

    データ解析を行う上でデータの性質を知ることは欠かせません.データの性質を知ること自体が価値を持つこともありますし,正しい前処理の方法やモデルを選択する為にもデータの性質を知らなければいけません. カテゴリー型の変数なら分布や従属変数との関係などの簡単な統計量を調べるだけでも多くのことがわかります. しかし自然言語データの場合は全く同じ文章が2度現れることはまずありません.文章を単語単位に分解して考えようとしても,単語の種類が膨大なため,データ探索は一筋縄ではいきません. 自然言語データの探索法は色々ありますが,今回の記事ではその中でも - 教師ありデータと相性が良い - 間違った解釈に至りづらい - 数学的にエレガントな 探索法であるCollective Matrix Factorization (CMF)について紹介します. 要約 自然言語データは高次元なので,次元を削減することが解釈の

    Collective Matrix Factorization - 自然言語データのエレガントなデータ探索法 - - Qiita
    sh19910711
    sh19910711 2024/04/10
    "CMF; Collective Matrix Factorization: 教師データを活用しながらトピックを抽出 / 文章と教師ラベルを格納する行列 + 文章のトピックの分布を表す行列と各トピックの目的変数への寄与を持つ重み行列の積で近似できるはず" 2018
  • 行列式を行列のべき乗のトレースたちの多項式として表すこと

    物理のを読んでいたら、 行列についての次のような公式が出てきた: 気になってネットで調べると, 行列のとき、次の関係式が成り立つのだそうだ: 一般の の場合はどうなるのか気になって考えた. 一般に, 次正方行列 は(適当に取った)ユニタリ行列 によって,対角成分が の固有値であるような上三角行列に変換できる: ユニタリ行列の性質から,任意の自然数 に対して 固有多項式はユニタリ変換で不変なので,その 次の項を比較することで次を得る: よって,行列のべき乗のトレースが固有値のニュートン多項式になっていることがわかる.ここで, 変数の 次ニュートン多項式 さて, 変数の 次基対称式 は次のように定義されるのだった: 特に, となることに注意する.行列式もトレースも,ユニタリ変換で上三角化した行列の対角成分だけで決まる.このことから「行列式を行列のべき乗のトレースたちの関数として表す問題」は

    行列式を行列のべき乗のトレースたちの多項式として表すこと
  • Determinant Versus Permanent

  • 疎行列の格納方式メモ - Negative/Positive Thinking

    はじめに 巨大だけどほとんどの要素がゼロであるような疎行列は、そのまま保持するより、要素がゼロじゃないところだけをうまく保持する事でメモリや計算量を減らせたりする。 扱う行列のタイプによって、効率のよい形式がいくつかあるようなので代表的なものをメモしておく。 Coodinate(COO) Format 非ゼロ要素の(row indices, column indices, value)を要素数分持たせる形式 非ゼロ要素が散らばっている場合に有利 0 4 0 0 2 0 0 0 1 を row 0 1 2 column 1 1 2 value 4 2 1 のように保持する。 compressed sparse row(CSR) Format / compressed sparse column(CSC) Format Coodinate Formatにおいて、左から右、上から下へ順番に要素を

    疎行列の格納方式メモ - Negative/Positive Thinking
  • 1