機器學習Erdos?Renyi隨機圖生成方法及特性
1 隨機圖生成簡介
1.1Gnp和Gnm

1.2 生成方法

1.3 兩種方法比較

2 Gnp隨機圖
2.1 只用n和p夠嗎?
n和p并不能完全決定一個圖。我們發(fā)現(xiàn)即使給定n和p,圖也有許多實現(xiàn)形式。如當n=10,p=1/6時,就可能產生如下的圖:

2.2 Gnp的圖屬性

二項分布的離散分布圖像如下圖所示:

當n足夠大時,二項分布可以用正態(tài)分布去近似。
- 聚類系數(shù)
我們設

- 連通分量
圖Gnp的圖結構會隨著p變化,如下圖所示:



根據(jù)模擬實驗,在Gnp中,平均度大于1時,巨大連通分量恰好出現(xiàn)。
- 平均最短路徑長度
Erdos-Renyi隨機圖即使擴展到很大,仍然可以保證節(jié)點之間只有幾跳(hops)的距離,如下所示為圖的平均最短路徑長度h¯h¯隨節(jié)點數(shù)量變化的關系圖:

可以看到平均最短路徑長度h¯隨著節(jié)點數(shù)量n增長并滿足O(logn)的增長階。
2.3真實網絡和Gnp的對比
相似點: 存在大的連通分量,平均最短路徑長度
不同點: 聚類系數(shù),度分布
在實際應用中,隨機圖模型可能有以下問題:
- 度分布可能和真實網絡不同,畢竟真實網絡不是隨機的。
- 真實網絡中巨大連通分量的出現(xiàn)可能不具有規(guī)律性。
- 可能不存在局部的聚類結構,以致聚類系數(shù)太小。
3 代碼庫
NetworkX中內置了Erdos-Renyi隨機圖的生成函數(shù),包括Gnp和Gnm。就是需要注意Gnp的API[6]是
erdos_renyi_graph(n, p, seed=None, directed=False)
該API與nx.binomial_graph、nx.gnp_random_graph作用是相同的。
而GnmGnm的API[7]是
nm_random_graph(n, m, seed=seed, directed=False)
故大家在實際使用中要注意區(qū)分。
參考
[1]http://web.stanford.edu/class/cs224w/
[2]
Mitzenmacher M, Upfal E. Probability and computing: Randomization and probabilistic techniques in algorithms and data analysis[M]. Cambridge university press, 2017.
[3]https://zh.m.wikipedia.org/zh-hans/隨機圖
[4]
Erd?s P, Rényi A. On the evolution of random graphs[J]. Publ. Math. Inst. Hung. Acad. Sci, 1960, 5(1): 17-60.
[5]
Gilbert E N. Random graphs[J]. The Annals of Mathematical Statistics, 1959, 30(4): 1141-1144.
[7]https://networkx.org/documentation/stable/auto_examples/graph/plot_erdos_renyi.html?highlight=renyi
以上就是機器學習Erdos Renyi隨機圖生成方法及特性的詳細內容,更多關于機器學習Erdos Renyi隨機圖的資料請關注腳本之家其它相關文章!
相關文章
Python數(shù)據(jù)可視化Pyecharts庫的使用教程
pyecharts是一個用于生成echarts圖表的類庫。echarts是百度開源的一個數(shù)據(jù)可視化庫,用echarts生成的圖可視化效果非常棒。使用pyechart庫可以在python中生成echarts數(shù)據(jù)圖。本文將詳細介紹一下Pyecharts庫的使用,需要的可以參考一下2022-02-02
Python+OpenCV實現(xiàn)圖像融合的原理及代碼
這篇文章主要介紹了Python+OpenCV實現(xiàn)圖像融合的原理及代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12
解決Python 中JSONDecodeError: Expecting value:&n
這篇文章主要介紹了解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯誤問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
解決安裝torch后,torch.cuda.is_available()結果為false的問題
這篇文章主要介紹了解決安裝torch后,torch.cuda.is_available()結果為false的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Python數(shù)據(jù)可視化Pyecharts庫實現(xiàn)桑葚圖效果
這篇文章主要介紹了Python數(shù)據(jù)可視化如何使用Pyecharts庫來實現(xiàn)桑葚圖效果圖,文中給出實現(xiàn)的示例代碼,有需要的朋友可以借鑒參考想,希望能夠有所幫助2021-09-09
python中關于CIFAR10數(shù)據(jù)集的使用
這篇文章主要介紹了python中關于CIFAR10數(shù)據(jù)集的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
這篇文章主要介紹了在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程,Debian系統(tǒng)和Nginx服務器皆是高性能的選擇,需要的朋友可以參考下2015-04-04

