タグ

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

  • 関連タグはありません

タグの絞り込みを解除

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

  • グラフ向け深層学習ライブラリ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
  • Bluesky のフォロー推薦モデルを書いた - HackMD

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

    Bluesky のフォロー推薦モデルを書いた - HackMD
    sh19910711
    sh19910711 2024/01/21
    "次数が期待的に閾値以下になるようにサンプリング / GraphSage のサンプリングをデータセット生成時点で行っている / 与えられたグラフの (source_id, target_id) を正例,target_id をシャッフルしたものを負例 + TripletMarginLoss"
  • メタゲノムのイケてるネットワーク解析手法、WGCNA解説 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? メタゲノム解析でいけてる手法としてWGCNA(Weighted Gene Correlation Network Analysis)によるネットワーク解析がある 海洋微生物学だとDeLongのチームがよく使っている 例: https://www.nature.com/articles/s41564-017-0008-3 元々はマイクロアレイデータとかを念頭として作られたが、最近メタゲノム分野への応用が増えてきてる印象 論文 R実装について: https://bmcbioinformatics.biomedcentral.com/arti

    メタゲノムのイケてるネットワーク解析手法、WGCNA解説 - Qiita
    sh19910711
    sh19910711 2023/02/17
    2019 / "WGCNA: 遺伝子発現のデータやメタゲノムデータをクラスタリングする手法の一つ(ネットワーク解析の手法としても + 重み付けした相関ネットワークに基づきクラスタリング + サンプル数が多い時はかなり強力な手法"
  • 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"
  • RでERGMを実装したかった(が、失敗した) - SNAGeek

    このエントリは、Sansan Advent Calendar 2019 21日目の記事です。 adventar.org 基的にタイトルの通りですが、この記事では統計的ネットワーク分析のデファクトスタンダードとなっているERGMをRで実装していきます。 {igraph}以外のパッケージは使わずにできるだけスクラッチで開発します。 前もって断っておきますが、正しくパラメータ推定できるような実装には至ることができませんでした。 ERGMとは ERGM = Exponential Random Graph Model 日語では「指数ランダムグラフモデル」と訳されることが多いです。 略称は「あーぐむ」と読むようです。 概要については以下の記事で紹介されています。 qiita.com ERGMを使うと何が嬉しいのか 観測されたネットワークが、どのような構造的なメカニズムによって生成されたのかを知る

    sh19910711
    sh19910711 2022/12/27
    2019 / "ERGM: 観測されたネットワークが、どのような構造的なメカニズムによって生成されたのかを知る + ネットワーク内生的な効果を推定 / 全部入りの{statnet}というパッケージスイートがあり、こちらを導入するのが便利"
  • 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
  • 複雑ネットワークの基本 - 名前はまだない

    はじめに ネットワーク分析に興味をもち過去にこちらの書籍を読み、 ネットワーク分析 第2版 (Rで学ぶデータサイエンス) 作者:努, 鈴木発売日: 2017/05/24メディア: 単行 以下のような記事を書いていました。 qiita.com qiita.com 複雑ネットワークについてだけ勉強していなかったので、書籍の続きを読みまとめます。 コードの詳細等は書籍を確認してください。 複雑ネットワークとは 複雑ネットワークとは、現実世界に存在する巨大で複雑なネットワークの性質について研究する学問です。 例えば、WEBサイトのリンク構造やSNSでのフォロー関係などのネットワーク構造について着目するような取り組みが挙げられます。 複雑ネットワークでは各頂点の指標について議論することは少なく、ネットワーク全体の構造を捉えるための指標はよく用いられると考えています。 ここでは代表的な指標をあげます

    複雑ネットワークの基本 - 名前はまだない
    sh19910711
    sh19910711 2021/08/29
    "複雑ネットワークでは各頂点の指標について議論することは少なくネットワーク全体の構造を捉える / Watts-Strogatzモデル: スモールワールド性をうまく表現 / 次数相関: 次数の大きさが同じようなもの同士が結びつきやすい"
  • 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」って呼ぼうぜ"
  • Alloyで次数が一定のグラフを探す - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ソフトウェアの抽象モデリングとは、なーんか趣旨と方向性が違うんですが、Alloyを“有限構造の検索装置”として使って遊んでます。 エイトクイーンのような問題だと、Alloy付属の標準ビジュアライザーの表示はあまり役に立ちません。ビジュアラザーの表示がそのまま使える例題は何かな? と考えて、グラフの検索問題ならハマるだろうと。 ループ辺(同じ頂点に戻る辺)を許さない無向グラフのなかで、すべての頂点の次数(その頂点と接続している辺の数)が同じようなグラフを探すことにします。グラフの定義はAlloyと相性が良いので簡単に書けます。 -- 次数が一定のグラフ module uniform_graph -- グラフ(空グラフを除く) some sig Graph { -- お隣さん(adjacent nodes)の集合 adj: set Graph } -- お隣さんの制約 fact { { --

    Alloyで次数が一定のグラフを探す - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 【組み合わせ最適化入門】カンファレンスのタイムテーブル決めをマッチング問題としてGoogle OR-Tools/Pulp/munkresで解く - フリーランチ食べたい

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

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

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • GitHub - gonum/graph: Graph packages for the Go language [DEPRECATED]

  • Rのanimationパッケージでクラスカル法のシミュレーション - ぬいぐるみライフ?

    Rでクラスカル法を実装してみた.ついでに最小全域木を求める過程をアニメーションで表示させてみた. クラスカル法についてはこちら. 最小全域木問題(クラスカル法とプリム法) 閉路を作らないように気を付けつつ重みが小さい辺から選んでいく様子が分かる. ソースは以下の通り. library(igraph) library(animation) # 戻り値はUnion Find用の関数 unite_set <- function(n) { p <- rep(-1, n) root <- function(x) { if (p[x] < 0) { return(x) } else { return(p[x] <<- root(p[x])) } } function(x, y) { x <- root(x) y <- root(y) if (x != y) { if (x > y) { t <- x

    Rのanimationパッケージでクラスカル法のシミュレーション - ぬいぐるみライフ?
  • graph/example at master · boost-cmake/graph · GitHub