タグ

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

  • 関連タグはありません

タグの絞り込みを解除

*algorithmとgraphとpythonに関するsh19910711のブックマーク (14)

  • グラフ向け深層学習ライブラリDeep Graph Library (DGL)の初歩の初歩 - Qiita

    グラフ向けの深層学習ライブラリDeep Graph Library(DGL)の基的な使い方について紹介します。公式ドキュメントに事例やAPIの説明が詳細に載っていたりチュートリアルも豊富にありますが、DGLの一番基的な動作(だと個人的に思っている)ノードの特徴量のmessageとreduceという2つの処理について、丁寧に説明している記事がなかったので説明してみます。 Deep Graph Library (DGL)とは? New York UniversityとAWSが開発しているPytorch-basedの(?)グラフと対象としたDeep Learningのライブラリです。 画像や言語など従来よく研究されているデータ構造ではTensorFlow, Pytorch, Chainerなど有名なライブラリがあり、CNNやRNNなどが1つの関数(公式ではbuilding-blocksと言っ

    グラフ向け深層学習ライブラリDeep Graph Library (DGL)の初歩の初歩 - Qiita
    sh19910711
    sh19910711 2024/06/20
    "DGL: New York UniversityとAWSが開発しているPytorch-basedの(?)グラフと対象としたDeep Learningのライブラリ / ちなみにDGLのリポジトリに結構最新のモデルも実装されているので使えそう" 2019
  • 【論文紹介】 Node2Vecでネットワークのベクトル埋め込みを学習する。 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 卒論のためにNode2Vecの論文を読んだので、この手法でネットワークの構造を学習する方法について解説します。数式を追わなくてもある程度理解できるようになっていると思います。 参考元 元論文: node2vec: Scalable Feature Learning for Networks PyTorch GeometricのNode2Vecモデル: torch_geometric.nn.models.Node2Vec 再現実装の際にPyTorch Geometric(PyG)のモデルを用いたので、論文に明記されていない学習方法などはこ

    【論文紹介】 Node2Vecでネットワークのベクトル埋め込みを学習する。 - Qiita
    sh19910711
    sh19910711 2024/04/20
    "参考元 PyTorch GeometricのNode2Vecモデル / Node2Vec: 半教師あり学習によって計算速度と精度を両立 / Negative Samplingの論文やNCE(Noise Contrastive Estimation)などについて調べてみると良い" 2023
  • Bluesky のフォロー推薦モデルを書いた - HackMD

    Social Network を活用するには自分の興味にあったアカウントをフォローすることが大事です.そのために重要な役割を果たすのが「おすすめユーザ推薦 (friend recommendation)」です.

    Bluesky のフォロー推薦モデルを書いた - HackMD
    sh19910711
    sh19910711 2024/01/21
    "次数が期待的に閾値以下になるようにサンプリング / GraphSage のサンプリングをデータセット生成時点で行っている / 与えられたグラフの (source_id, target_id) を正例,target_id をシャッフルしたものを負例 + TripletMarginLoss"
  • PyTorch-BigGraph: A Large Scale Graph Embedding System

    2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)

    PyTorch-BigGraph: A Large Scale Graph Embedding System
    sh19910711
    sh19910711 2022/12/30
    2019 / "PyTorch-BigGraph: Billion-Trillionサイズのエッジを持つグラフに対してGraph Embeddings / torch.distributed.{send/recv}を利用 / SysML 19: Adam Lerer, Pytorch-BigGraph: A Large Scale Graph Embedding System"
  • 1 つのグラフに対し、PyG の Sampler を利用してMini Batchによる学習を行う - Qiita

    1 つのグラフに対し、PyG の Sampler を利用してMini Batchによる学習を行う TL;DR 大きな構造のグラフをグラフニューラルネットワークで学習する場合、メモリに乗り切らない可能性があるため、サンプリングして学習する必要があります。 今回、PyG; pytorch-geometicsのSamplerを利用して、1つのグラフをサブグラフに分割し学習を行ってみました。使用するSamplerは以下の通りです。 NeighborSampler データセットはみんな大好きKarateClubを利用しています。ノードが所属するクラスを推論するタスクです。 データの準備 from torch_geometric.datasets import TUDataset, KarateClub # dataset = TUDataset(root='/tmp/ENZYMES', name='

    1 つのグラフに対し、PyG の Sampler を利用してMini Batchによる学習を行う - Qiita
    sh19910711
    sh19910711 2022/09/25
    "pytorch-geometicsのSamplerを利用して、1つのグラフをサブグラフに分割し学習を行ってみました / データセットはみんな大好きKarateClub / from torch_geometric.loader import NeighborSampler"
  • PyG (PyTorch Geometric) で MetaPath2Vec して Node2Vec と比較 - Qiita

    グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、MetaPath2Vec を使うことがテーマです。Node2Vecとの比較も行ないました。 PyG (PyTorch Geometric) インストール PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。 import os import torch torch.manual_seed(0) os.environ['TORCH'] = torch.

    PyG (PyTorch Geometric) で MetaPath2Vec して Node2Vec と比較 - Qiita
    sh19910711
    sh19910711 2022/08/12
    "自作ネットワークを作成して、MetaPath2Vec でノードを潜在空間にプロットしたり、 Node2Vec と比較したりしました / torch_geometric.data.HeteroData / from torch_geometric.nn import MetaPath2Vec / torch_geometric.nn.Node2Vec"
  • PyG (PyTorch Geometric) のデータセットを自作する - Qiita

    グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、PyG (PyTorch Geometric)のデータセットを自作することがテーマです。自作ではなくベンチマーク用に用意してあるデータを用いる場合は過去記事をご覧ください。 日地図のデータ 題材として日地図のデータを用います。日語を matplotlib で表示するための準備をします。 Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting japanize-matplotlib Downloading japanize-matplotlib-1.1.3.tar.gz (4.1

    PyG (PyTorch Geometric) のデータセットを自作する - Qiita
    sh19910711
    sh19910711 2022/07/22
    "日本地図のデータ: 各市町村から、何番目(top - 1 番目)に近い市町村までに辺(edge)を引いた / 座標データとネットワークの接続関係を入力として、その市町村が「何地方なのか」を予測"
  • Social NetworksのEDAとLink Prediction 備忘録 - Qiita

    概要 ソーシャルネット分析に含まれるLink Predictionについて、その精度がトポロジーに依存するだろうことを実験で確認する。 実施期間: 2022年3月 環境:Ubuntu20.04 LTS パケージ:scikit network, networkx 1. パケージ 使用するモデルにはDirected Graphを指定する。 ソーシャルネットは誰が誰をフォローしているだとか、どのサイトがどのサイトのリンクを張っているかだとか、どの論文がどの論文をciteしたか、方向があることが普通。 しかし馴染みのnetworkxや、いろんなアルゴリズムを実装したnetworkitはDirected Graphに対応していないAPIが多すぎて使えないので、ここではscikit networkで評価する。 importするパケージは下記となる。 import numpy as np import

    Social NetworksのEDAとLink Prediction 備忘録 - Qiita
    sh19910711
    sh19910711 2022/05/06
    "networksciencebook: Social-net界では重鎮のBarabasi先生が作成 / 講義は有名なStanfordのCS224Wと、最近公開されたロシア国立HSEが勉強になった。前者はGNNが最終目的で後者はGraph theory全般の講義"
  • グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita

    記事はNTTドコモR&Dアドベントカレンダー2021の8日目の記事です. こんにちは、NTTドコモの橋(@dcm_hashimotom)です. 業務ではレコメンド関連の技術開発・施策検討を行っており,主にPythonやBigQuery, Apache Sparkを触ってます. SNSなどで投稿したコンテンツの検索性を上げるためには,そのコンテンツへのタグ(またはハッシュタグ)の付与が重要です.Qiitaではタグは5つまで付与することができ,タグを指定した絞り込み検索や,マイページでのプロフィールに使われております.しかし,タグの付与はユーザ手動なものが多く(要出典),検索性が高いものを選択するためには,ドメイン知識が必要です.なので,タグを付ける際に「このタグがついた投稿では他にこんなタグもついてます」的なレコメンドがあれば有用そうです.また,レコメンドということですが,近年レコメンド

    グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita
    sh19910711
    sh19910711 2021/12/12
    "GNNを用いてQiitaタグをembeddingしたTech2Vecを作成 / DGLのチュートリアルに沿った形式で実装 / 「GNN」を入力してみましたが + 前処理で削られてしまって > もっとGNNの記事が必要"
  • Introducing TensorFlow Graph Neural Networks

    Posted by Sibon Li, Jan Pfeifer and Bryan Perozzi and Douglas Yarrington Today, we are excited to release TensorFlow Graph Neural Networks (GNNs), a library designed to make it easy to work with graph structured data using TensorFlow. We have used an earlier version of this library in production at Google in a variety of contexts (for example, spam and anomaly detection, traffic estimation, YouTub

    Introducing TensorFlow Graph Neural Networks
  • cuGraph でページランクを計算したら爆速だった - Taste of Tech Topics

    概要 こんにちは、機械学習エンジニアの古賀です。 最近、人の動きを時系列で解析するためにグラフデータを扱ったのですが、データ量が大きくなると解析に時間がかかってしまい、効率が悪いと感じることがありました。 そんな中、cuGraph という高速にグラフ分析ができるライブラリが あることを知ったので、どれくらい高速なのか、有名なページランクの計算を題材に他のライブラリと速度を比較してみました。 目次は以下です。 概要 グラフとは Python によるグラフデータの分析 cuGraphとは ページランクとは ページランク値の定義 ページランクとグラフ 検証 実行環境 cuGraph ライブラリのインストール ライブラリのインポート データセット 検証内容・結果 1. NetworkX のグラフ、NetworkX のアルゴリズムを用いてページランクを計算 2. NetworkX のグラフ、cuGr

    cuGraph でページランクを計算したら爆速だった - Taste of Tech Topics
    sh19910711
    sh19910711 2021/05/23
    Colab用のユーティリティが用意されてるのか
  • Python3.9の新機能(2) - Pythonで有向非巡回グラフのソートをする - Qiita

    はじめに 2020年10月にリリースが予定されているPython3.9で新たに加わる変更をPython3.9の新機能 (まとめ)という記事でまとめています。少し分量のありそうな話題を別記事にしていますが、これはその第二弾で、有向非巡回グラフのソートについてです。 有向非巡回グラフとトポロジカルソート まず、ここでいうグラフは折れ線グラフとか棒グラフとかデータを視覚的に表す図表のことではなく、グラフ理論のグラフです。グラフはデータ構造の一種で、ノード(頂点)とそれらを繋ぐエッジ(枝)で構成されています。ノードやエッジに何かしらの意味をもたせることによって、関連性を持つ情報を表すことができます。 グラフにもいくつか種類があり、その最初の分かれ道がエッジに方向があるかないか。方向があるものを有向グラフ(左側)、無いものを無向グラフ(右側)といいます。 エッジはノードを繋ぐものですが、繋がれたノー

    Python3.9の新機能(2) - Pythonで有向非巡回グラフのソートをする - Qiita
    sh19910711
    sh19910711 2020/10/19
    "from functools import TopologicalSorter"
  • KerasによるGraph Convolutional Networks

    Principal Curve 入門 (日, 29 9月 2019) >> 続きを読む Matplotlibで散布図をラスタライズしてpdf/svg形式で高速に表示できるようにする (Fri, 13 Sep 2019) >> 続きを読む RGBからXYZ, LMS色空間への変換 (Sun, 25 Aug 2019) >> 続きを読む 疫学基礎 (Thu, 25 Jul 2019) >> 続きを読む コンパートメントモデル(薬物動態)のシミュレーション (Mon, 08 Jul 2019) >> 続きを読む

    KerasによるGraph Convolutional Networks
    sh19910711
    sh19910711 2019/09/30
    "グラフに畳み込み演算適用できなくね→適用できるようなデータ空間に写像すればよくね→畳み込みした後、元のデータ空間に逆写像すればよくね→この一連の流れを「Graph Convolution」って呼ぼうぜ"
  • 【組み合わせ最適化入門】カンファレンスのタイムテーブル決めをマッチング問題としてGoogle OR-Tools/Pulp/munkresで解く - フリーランチ食べたい

    PyCon JPの運営メンバーとして自分は、昨年度のPyCon JP 2018のタイムテーブル決めに組み合わせ最適化問題を用いました。ちなみに最終的なタイムテーブルはアルゴリズムで算出された結果を人間がレビューして調整しています。 昨年度は時間の制約があり、いくつか反省点があったので今年は改善したいと考えています。 pyconjp.blogspot.com そういうわけで事前調査も兼ねて、カンファレンスのタイムテーブル決めを組み合わせ最適化問題として考え、それをPythonのライブラリを使って解く方法を書きたいと思います。 解きたい問題 カンファレンスのタイムテーブル決めでは下図のように部屋と時間が決まっていて、そこのトークを割り当てていくことが一般的です。 このとき、部屋の大きさ、時間帯やトークの内容が全く同一であれば何も考えずに隅から配置していけば良いのですが、現実には以下のような条件

    【組み合わせ最適化入門】カンファレンスのタイムテーブル決めをマッチング問題としてGoogle OR-Tools/Pulp/munkresで解く - フリーランチ食べたい
  • 1