{"id":367422,"date":"2024-05-21T03:20:42","date_gmt":"2024-05-21T03:20:42","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=367422"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=367422","title":{"rendered":"<span>\u0414\u0432\u0430 \u0441\u0430\u043f\u043e\u0433\u0430\u00a0\u2014\u00a0\u043f\u0430\u0440\u0430, \u0430 \u0442\u0440\u0438 \u2014 \u0443\u0436\u0435 community: \u043a\u0430\u043a \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0418\u0432\u0430\u043d \u0410\u043d\u0442\u0438\u043f\u043e\u0432, \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c ML \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0430 Ozon. \u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u044d\u043a\u043e\u043d\u043e\u043c\u044f \u0432\u0440\u0435\u043c\u044f \u0438 \u0434\u0435\u043d\u044c\u0433\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/054\/a4c\/36e\/054a4c36e59c71da1d9a8c1fa35a6a6d.png\" width=\"1920\" height=\"1080\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/054\/a4c\/36e\/054a4c36e59c71da1d9a8c1fa35a6a6d.png\"\/><\/figure>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445, \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432, \u0440\u0430\u0441\u043f\u0430\u0434 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430, self-supervised \u0438 unsupervised \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0438 \u043a\u0430\u043a \u0432\u0441\u0451 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u043e\u043c.<\/p>\n<h3>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043c\u0430\u0442\u0447\u0438\u043d\u0433 \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d?<\/h3>\n<p>\u041f\u043e\u0434 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u043e\u043c (matching) \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0441\u0445\u043e\u0436\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u0432\u0430\u0440\u043e\u0432) \u0441 \u0446\u0435\u043b\u044c\u044e \u043d\u0430\u0439\u0442\u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b\u0435. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u0430\u0442\u0447\u0438 \u0438\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u044b-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043e\u0431\u0449\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430\u043c\u0438.<\/p>\n<p>\u041c\u0430\u0442\u0447\u0438\u043d\u0433 \u0432 e-commerce \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0442 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043e \u0446\u0435\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044e \u043c\u0430\u0442\u0447\u0438\u043d\u0433 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0442\u043e\u0432\u0430\u0440 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u043e\u0432 \u043f\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u043c \u0446\u0435\u043d\u0430\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e1b\/fdf\/50b\/e1bfdf50b7d7c60ffb145e1185030fa4.png\" width=\"2000\" height=\"1053\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e1b\/fdf\/50b\/e1bfdf50b7d7c60ffb145e1185030fa4.png\"\/><\/figure>\n<h3>\u041c\u0430\u0442\u0447\u0438\u043d\u0433 \u043d\u0430 \u043f\u0430\u043b\u044c\u0446\u0430\u0445<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/60d\/b69\/7ee\/60db697eec519b7c99f42a7df48d3f76.png\" width=\"2000\" height=\"1037\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/60d\/b69\/7ee\/60db697eec519b7c99f42a7df48d3f76.png\"\/><\/figure>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043f\u043e\u0438\u0441\u043a\u0430 \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u0442\u0430\u043f\u043e\u0432: \u043f\u043e\u0434\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440 \u043c\u043e\u0434\u0435\u043b\u044c\u044e. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <strong>KNN<\/strong> (\u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0442\u043e\u0432\u0430\u0440\u0443 \u0438\u0449\u0435\u043c \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u0443), \u043d\u043e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <strong>ANN<\/strong> (HNSW, IVF, LSH \u0438 \u0434\u0440.). ANN \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a \u0442\u043e\u0447\u043d\u043e, \u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440. \u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u044b \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0440 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0438\u0445 (\u0422\u0430\u0431\u043b\u0438\u0446\u0430 1):<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>product_id1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>product_id2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>is_duplicate<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">False<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">False<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0423 \u0442\u043e\u0432\u0430\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430, \u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432 \u043e\u0434\u043d\u0443 \u0433\u0440\u0443\u043f\u043f\u0443, \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?<\/p>\n<h2>Baseline<\/h2>\n<h3>\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434<\/h3>\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u0438 \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435, \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438 \u043f\u0430\u0440\u044b [1, 2], [2, 4] \u0438 [4, 3], \u0442\u043e \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 [1, 2, 3, 4]. \u041d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0442\u0435\u043e\u0440\u0438\u0438 \u0433\u0440\u0430\u0444\u043e\u0432 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d8e\/8bc\/330\/d8e8bc330b42f4fd4e963e0459f9d0a8.png\" alt=\"\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432.\" title=\"\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432.\" width=\"2000\" height=\"1233\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d8e\/8bc\/330\/d8e8bc330b42f4fd4e963e0459f9d0a8.png\"\/><\/p>\n<div><figcaption>\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438\u043c\u0435\u044e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0448\u0438\u0431\u043e\u043a. \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0430\u0436\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 <abbr class=\"habraabbr\" title=\"\u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0430\u0437\u0432\u0430\u043b\u0430 \u043f\u0430\u0440\u0443 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u043c\" data-title=\"&lt;p>\u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0430\u0437\u0432\u0430\u043b\u0430 \u043f\u0430\u0440\u0443 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u043c&lt;\/p>&#187; data-abbr=&#187;False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439&#187;>False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439<\/abbr> \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043c\u0443\u0441\u043e\u0440\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0438\u0442\u0441\u044f.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432: [1-8], \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 iPhone 14, \u0438 [9-16] \u0441 iPhone 15 Plus. \u041f\u0443\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0438\u043b\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u043e\u0432\u0430\u0440 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 (True Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f). \u0412\u0441\u0435\u0433\u043e \u0442\u0430\u043a\u0438\u0445 True Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439: <code>TP = 2 * 8 * (8 - 1) \/ 2 = 56<\/code>. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u0441\u043c\u0430\u0442\u0447\u0438\u043b\u0430 \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u0430 \u2014 [3, 15] (False Positive). \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430 56 True Positive \u0432 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 [1-16] \u0438\u0437 \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/438\/680\/3ee\/4386803eeccd3e79744f06246e7f5221.png\" width=\"2000\" height=\"699\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/438\/680\/3ee\/4386803eeccd3e79744f06246e7f5221.png\"\/><\/figure>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0433\u0434\u0430 \u0432\u0438\u0434\u0438\u0448\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 iPhone<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c06\/c60\/939\/c06c60939eb7854cc65039f748eee2bf.png\" width=\"2000\" height=\"1120\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c06\/c60\/939\/c06c60939eb7854cc65039f748eee2bf.png\"\/><\/figure>\n<\/p>\n<\/div>\n<\/details>\n<h3>\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <abbr class=\"habraabbr\" title=\"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 (\u043e\u0442 embedding) \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.\" data-title=\"&lt;p>\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 (\u043e\u0442 embedding) \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.&lt;\/p>&#187; data-abbr=&#187;\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438&#187;>\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438<\/abbr> \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u0445 \u0442\u043e\u0432\u0430\u0440\u0430.<\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430?<\/p>\n<ol>\n<li>\n<p><strong>\u041f\u043e\u0434\u0431\u043e\u0440 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<\/strong>. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0431\u043e\u0440\u0435 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 \u0438 \u0442. \u0434.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c<\/strong>. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0438\u0437\u043a\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u0447\u043d\u044b\u0445 \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430\u0445<\/strong>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0431\u043e\u0440\u0435 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u0433\u0434\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u043e\u043b\u043d\u043e\u0442\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u0440 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u00ab\u043c\u0435\u0442\u0430\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438\u00bb \u043e \u0442\u043e\u0432\u0430\u0440\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u042d\u0442\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0430\u0436\u043d\u0430 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u0435 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ol>\n<h2>\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432. Community Detection<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b1f\/2b5\/a0f\/b1f2b5a0f389bfb785fcf334a74095c0.png\" width=\"1920\" height=\"1080\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b1f\/2b5\/a0f\/b1f2b5a0f389bfb785fcf334a74095c0.png\"\/><\/figure>\n<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 (community detection) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445.<\/p>\n<p>\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c?<\/p>\n<ol>\n<li>\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0432\u044f\u0437\u0435\u0439 (\u0440\u0451\u0431\u0435\u0440) \u043c\u043d\u043e\u0433\u043e, \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043f\u043b\u043e\u0442\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u044f\u0437\u0435\u0439, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u043c\u0430\u043b\u043e.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Social_graph\">\u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0430<\/a> \u2014 \u0433\u0440\u0430\u0444\u0430, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043b\u044e\u0434\u044c\u043c\u0438.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Zachary's_karate_club\">\u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431 \u0417\u0430\u043a\u0430\u0440\u0438<\/a>. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444, \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430, \u0430 \u0440\u0451\u0431\u0440\u0430 \u2014 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432\u043d\u0435 \u043a\u043b\u0443\u0431\u0430. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u0432 \u043a\u043b\u0443\u0431\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0451\u043b \u0440\u0430\u0441\u043a\u043e\u043b \u0438\u0437-\u0437\u0430 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c \u043a\u043b\u0443\u0431\u0430 \u0438 \u0442\u0440\u0435\u043d\u0435\u0440\u043e\u043c. \u0412\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043e\u0434\u043d\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0443\u0431, \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u0442\u0430\u0440\u043e\u043c. \u0417\u0430\u0434\u0430\u0447\u0430 community detection <strong>\u2014<\/strong> \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0441\u0432\u044f\u0437\u044f\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u043b\u0443\u0431\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u043f\u0440\u0438\u043c\u043a\u043d\u0443\u043b \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043a\u043e\u043b\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cc4\/3a0\/a53\/cc43a0a538da6b3be07c0655eb078838.png\" alt=\"\u0413\u0440\u0430\u0444, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 34 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430. \u041d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u0443, \u0446\u0432\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.\" title=\"\u0413\u0440\u0430\u0444, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 34 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430. \u041d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u0443, \u0446\u0432\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.\" width=\"2000\" height=\"1108\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cc4\/3a0\/a53\/cc43a0a538da6b3be07c0655eb078838.png\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 34 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430. \u041d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u0443, \u0446\u0432\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.<\/figcaption><\/div>\n<\/figure>\n<h3>Community Detection \u0432 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0435<\/h3>\n<p>\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u0444, \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u0432\u0430\u0440\u044b, \u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0431\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044e \u043c\u043e\u0434\u0435\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u2014 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0451 \u043c\u0435\u0442\u043a\u043e\u0439. \u041c\u0435\u0442\u043a\u0430 \/ label \/ \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \/ community \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 id \u0433\u0440\u0443\u043f\u043f\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432. \u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0430\u0445 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0432\u043e\u0439 \u0446\u0432\u0435\u0442.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/875\/440\/f2e\/875440f2ec4e1250dd178d2650f25491.png\" alt=\"\u0413\u0440\u0430\u0444, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0422\u0430\u0431\u043b\u0438\u0446\u044b 1.\" title=\"\u0413\u0440\u0430\u0444, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0422\u0430\u0431\u043b\u0438\u0446\u044b 1.\" width=\"2400\" height=\"1894\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/875\/440\/f2e\/875440f2ec4e1250dd178d2650f25491.png\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0422\u0430\u0431\u043b\u0438\u0446\u044b 1.<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043f\u0430\u0440\u0430\u0445 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>precision = TP \/ (TP + FP)<\/code>, \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a 1. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0434\u043e\u043b\u044f \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440 (False Positives) \u043c\u0430\u043b\u0430 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u043c\u0438 (True Positives), \u043f\u043e\u0442\u043e\u043c\u0443 \u0432 \u0433\u0440\u0430\u0444\u0435 False Positives \u0440\u0451\u0431\u0435\u0440 \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c True Positives. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u043a \u043f\u043e\u0438\u0441\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u0432 \u0433\u0440\u0430\u0444\u0430\u0445.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f4c\/bbf\/3cb\/f4cbbf3cbad2bf87a19e106274979d30.png\" width=\"3748\" height=\"1894\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f4c\/bbf\/3cb\/f4cbbf3cbad2bf87a19e106274979d30.png\"\/><\/figure>\n<h3>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438 \u0433\u0440\u0430\u0444\u043e\u0432<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u043d\u0430 \u044f\u0437\u044b\u043a \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0414\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438 \u0432\u0432\u0435\u0434\u0451\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f.<\/p>\n<p><strong>\u041c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 (adjacency matrix) A<\/strong>. \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u044d\u0442\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b A<sub>ij<\/sub> \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0440\u0451\u0431\u0435\u0440 \u0438\u0437 i-\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0432 j-\u0443\u044e \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0433\u0440\u0430\u0444\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1, \u0435\u0441\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u044b \u0432 \u043f\u0430\u0440\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438; 0, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0430 \u0432\u044b\u0448\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cf1\/b01\/81f\/cf1b0181fed90271bc83be4484a10054.png\" width=\"2000\" height=\"1506\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf1\/b01\/81f\/cf1b0181fed90271bc83be4484a10054.png\"\/><\/figure>\n<p>\u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043d\u0435\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0451\u0431\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0433\u0440\u0430\u0444\u0430\u0445 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u043a\u0430\u043a \u0432 \u043f\u0440\u044f\u043c\u043e\u043c, \u0442\u0430\u043a \u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e\u0439:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" A_{ij}= A_{ji}\" alt=\" A_{ij}= A_{ji}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d11\/c39\/26d\/d11c3926d6da131fafa6e488619f92da.svg\" width=\"80\" height=\"22\"\/><\/p>\n<p><strong>\u0421\u0442\u0435\u043f\u0435\u043d\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 d<sub>i<\/sub><\/strong> \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0451\u0431\u0435\u0440, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0438\u0437 \u0432\u0435\u0440\u0448\u0438\u043d\u044b i \u0438\u043b\u0438, \u0447\u0442\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u043d\u0435\u0451<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"d_i = \\sum_j A_{ij} = \\sum_j A_{ji}\" alt=\"d_i = \\sum_j A_{ij} = \\sum_j A_{ji}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/247\/a31\/de7\/247a31de71f316102c856badbb7c1307.svg\" width=\"186\" height=\"48\"\/><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0a7\/5fa\/64c\/0a75fa64ca3e13549f2931c133e0be2d.png\" width=\"2000\" height=\"1528\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0a7\/5fa\/64c\/0a75fa64ca3e13549f2931c133e0be2d.png\"\/><\/figure>\n<p><strong>D \u2014 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439 (degree matrix):<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"D= \\text{diag}(d)= \\begin{pmatrix}     d_1 &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; d_2 &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; d_n\\\\ \\end{pmatrix}\" alt=\"D= \\text{diag}(d)= \\begin{pmatrix}     d_1 &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; d_2 &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; d_n\\\\ \\end{pmatrix}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e57\/2ef\/286\/e572ef286a5b537872543f70062b0f99.svg\" width=\"312\" height=\"118\"\/><\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"D= \\text{diag}(d)= \\begin{pmatrix}     2 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 2 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 0 &amp; 2 &amp; 0 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 1 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 \\end{pmatrix}\" alt=\"D= \\text{diag}(d)= \\begin{pmatrix}     2 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 2 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 0 &amp; 2 &amp; 0 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 1 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 \\end{pmatrix}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fbf\/324\/aa6\/fbf324aa68d6fcb4434d39385e8482d1.svg\" width=\"297\" height=\"132\"\/><\/p>\n<p><strong>\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 (normalized adjacency matrix) S <\/strong>(\u0441\u043c. [1]):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"S = D^{-1\/2} A D^{-1\/2}\" alt=\"S = D^{-1\/2} A D^{-1\/2}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/456\/05a\/5d5\/45605a5d58f1f6996e11cd12d101033c.svg\" width=\"153\" height=\"22\"\/><\/p>\n<p>\u0433\u0434\u0435<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"D^{-1\/2} = \\begin{pmatrix}     \\frac{1}{\\sqrt{d_1}} &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; \\frac{1}{\\sqrt{d_2}} &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; \\frac{1}{\\sqrt{d_n}}\\\\ \\end{pmatrix}\" alt=\"D^{-1\/2} = \\begin{pmatrix}     \\frac{1}{\\sqrt{d_1}} &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; \\frac{1}{\\sqrt{d_2}} &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; \\frac{1}{\\sqrt{d_n}}\\\\ \\end{pmatrix}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a05\/432\/db6\/a05432db613be164ec64b28ee768e49f.svg\" width=\"300\" height=\"154\"\/><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a59\/9de\/c75\/a599dec7563052386dc74d0ba50e52c2.png\" width=\"2000\" height=\"1427\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a59\/9de\/c75\/a599dec7563052386dc74d0ba50e52c2.png\"\/><\/figure>\n<p><strong>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 (transition matrix) P<\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"P = D\\text{}^{-\\text{1}} A\" alt=\"P = D\\text{}^{-\\text{1}} A\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a99\/f43\/22e\/a99f4322e6e4901dbf6188579dfe293e.svg\" width=\"91\" height=\"21\"\/><\/p>\n<p>\u0433\u0434\u0435<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"D^{-1} = \\begin{pmatrix}     \\frac{1}{d_1} &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; \\frac{1}{d_2} &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; \\frac{1}{d_n}\\\\ \\end{pmatrix}\" alt=\"D^{-1} = \\begin{pmatrix}     \\frac{1}{d_1} &amp; 0 &amp; \\dots &amp; 0\\\\ 0 &amp; \\frac{1}{d_2} &amp; \\dots &amp; 0\\\\ \\vdots &amp; \\vdots &amp; \\ddots &amp; \\vdots\\\\  0 &amp; 0 &amp; \\dots &amp; \\frac{1}{d_n}\\\\ \\end{pmatrix}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4ed\/e5c\/cc2\/4ede5ccc20eb1a536401b50138ff21b1.svg\" width=\"249\" height=\"142\"\/><\/p>\n<p>\u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" D^{-1}= \\begin{pmatrix}     \\frac{1}{2} &amp; 0 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; \\frac{1}{2} &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 0 &amp; \\frac{1}{2} &amp; 0 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 1 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 \\end{pmatrix}\" alt=\" D^{-1}= \\begin{pmatrix}     \\frac{1}{2} &amp; 0 &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; \\frac{1}{2} &amp; 0 &amp; 0 &amp; 0\\\\ 0 &amp; 0 &amp; \\frac{1}{2} &amp; 0 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 1 &amp; 0\\\\  0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 \\end{pmatrix}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c5f\/99f\/7f6\/c5f99f7f63b3c0ab9ad85aef72c81191.svg\" width=\"242\" height=\"146\"\/><\/p>\n<p>\u041f\u0440\u043e \u0438\u043d\u0442\u0443\u0438\u0446\u0438\u044e, \u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0437\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u0435\u0439 P, \u0441\u0432\u044f\u0437\u044c \u0435\u0451 \u0438 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0431\u043b\u0443\u0436\u0434\u0430\u043d\u0438\u044f\u043c\u0438 \u0438 \u0446\u0435\u043f\u044f\u043c\u0438 \u041c\u0430\u0440\u043a\u043e\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 [2].<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043d\u044f\u0442\u0438\u0439 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u043e\u043a \u043f\u043e \u0433\u0440\u0430\u0444\u0443.<\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Spreading<\/h2>\n<p>\u0418\u0434\u0435\u044f, \u043b\u0435\u0436\u0430\u0449\u0430\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a, \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0438\u043c \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 \u0435\u0451 \u0441\u043e\u0441\u0435\u0434\u0435\u0439.<\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043c\u0435\u0442\u043a\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0435\u0440\u0448\u0438\u043d. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u0438\u0445 Y<sub>k<\/sub>.<\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Spreading \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0430 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 A.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u0435\u0440\u0448\u0438\u043d \u0433\u0440\u0430\u0444\u0430 d.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u043e\u0438\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439 D.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 S.<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438. \u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0434\u0430\u043b\u0435\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0446\u0438\u043a\u043b\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0442\u0441\u044f \u0438\u043b\u0438 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439:<\/p>\n<\/li>\n<\/ol>\n<p>\u0430. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 Y \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"Y(t+1)=\\alpha S Y(t) + (1 - \\alpha) Y(0), \\quad \\alpha \\in [0, 1]\" alt=\"Y(t+1)=\\alpha S Y(t) + (1 - \\alpha) Y(0), \\quad \\alpha \\in [0, 1]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/89e\/4f4\/03e\/89e4f403e80dd31facc746ba71b0cda0.svg\" width=\"389\" height=\"22\"\/><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0442\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u044e \u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0442\u043a\u0430\u0445 \u0441\u0432\u043e\u0438\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u0432\u0442\u043e\u0440\u043e\u0435 \u2014 \u0437\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445. alpha \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043c\u044f\u0433\u043a\u0443\u044e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u0443\u0437\u043b\u043e\u0432 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0430\u043b\u0430\u043d\u0441 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u043e\u043a \u0438 \u0438\u0445 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u0438 alpha \u0431\u043b\u0438\u0437\u043a\u043e\u043c \u043a 0, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u043c\u0435\u0442\u043e\u043a, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0438\u0445. \u041d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043f\u0440\u0438 alpha \u0431\u043b\u0438\u0437\u043a\u043e\u043c \u043a 1, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0435: t \u2014 \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, Y(0) \u2014 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438, Y(t) \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439, \u044d\u043b\u0435\u043c\u0435\u043d\u0442 Y<sub>ij<\/sub>(t) \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e i-\u044b\u0439 \u0443\u0437\u0435\u043b \u0438\u043c\u0435\u0435\u0442 j-\u0443\u044e \u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 t. \u041f\u043e\u0434 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0 \u0434\u043e 1 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u0430 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u2014 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0438\u0441\u043b\u043e, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u0430. \u041c\u0430\u0442\u0440\u0438\u0446\u0430 Y \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u043e\u0439 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443.<\/p>\n<p>\u0431. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" t = t +1\" alt=\" t = t +1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7dc\/6c2\/3c1\/7dc6c23c12bf02856746298e0bea7543.svg\" width=\"73\" height=\"18\"\/><\/p>\n<ol start=\"7\">\n<li>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443:<\/p>\n<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\text{predicts} = \\underset{\\text{label}}{\\text{arg max }} Y\" alt=\"\\text{predicts} = \\underset{\\text{label}}{\\text{arg max }} Y\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/654\/2fe\/0e6\/6542fe0e6dbdc43aa34ac0a6433b54f6.svg\" width=\"182\" height=\"36\"\/><\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d1d\/236\/7de\/d1d2367de5bd8921afc0e36d0be7f004.JPG\" alt=\"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label spreading [3].\" title=\"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label spreading [3].\" width=\"2466\" height=\"1337\"\/><\/p>\n<div><figcaption>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label spreading [3].<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<h4>\u041a\u0430\u043a \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438?<\/h4>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0440\u0430\u0444 \u0438\u0437 6 \u0432\u0435\u0440\u0448\u0438\u043d \u0438 2 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0437\u0435\u043b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443, \u0442\u0440\u0435\u0442\u0438\u0439 \u0443\u0437\u0435\u043b \u2014 \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443, \u0430 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0440\u0448\u0438\u043d \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c. \u0422\u043e\u0433\u0434\u0430<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1bb\/cc6\/46c\/1bbcc646cc4d6a3e6c43f98a89278755.png\" width=\"3992\" height=\"1234\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1bb\/cc6\/46c\/1bbcc646cc4d6a3e6c43f98a89278755.png\"\/><\/figure>\n<h4>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/h4>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044f \u043a \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u0435\u0434\u0435\u043b<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\lim_{t\\rightarrow\\infty}Y(t) = \\lim_{t\\rightarrow\\infty} [\\alpha S Y(t-1) + (1 - \\alpha) Y(0)]\" alt=\"\\lim_{t\\rightarrow\\infty}Y(t) = \\lim_{t\\rightarrow\\infty} [\\alpha S Y(t-1) + (1 - \\alpha) Y(0)]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09f\/48f\/a8f\/09f48fa8fb6d44ca4b483384b8febfab.svg\" width=\"364\" height=\"32\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\hat{Y} = \\alpha S \\hat{Y} + (1 - \\alpha) Y(0)\" alt=\"\\hat{Y} = \\alpha S \\hat{Y} + (1 - \\alpha) Y(0)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/50c\/83d\/4a2\/50c83d4a25879569ff62d131a8ba13f4.svg\" width=\"206\" height=\"26\"\/><\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\hat{Y} = (I-\\alpha S)^{-1} (1 - \\alpha) Y(0)\" alt=\"\\hat{Y} = (I-\\alpha S)^{-1} (1 - \\alpha) Y(0)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/77e\/bfd\/5b7\/77ebfd5b74bbab253e4e8b02898d04b9.svg\" width=\"236\" height=\"26\"\/><\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044f\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435? \u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434? \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0441\u0445\u043e\u0436\u0430 \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439 \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 <a href=\"https:\/\/alexanderdyakonov.wordpress.com\/2019\/10\/31\/%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F-%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F\/\">\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438, \u0433\u0434\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e<\/a>. \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043c\u0430\u0442\u0440\u0438\u0446\u0443, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0430\u0444\u043e\u0432 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u044f\u0436\u0451\u043b\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u044d\u0442\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0432 \u043b\u0435\u043a\u0446\u0438\u0438 [4].<\/p>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440<\/h4>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u043f\u043e \u0433\u0440\u0430\u0444\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Label Spreading. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432. \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0432\u0435\u0440\u0448\u0438\u043d \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0441 \u0442\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u0440\u0430\u0444\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import numpy as np import networkx as nx   seed = 0 np.random.seed(seed)  num_clusters = 2 sizes_clusters = np.random.randint(low=20, high=41, size=num_clusters) p_in = np.random.uniform(low=0.1, high=0.4, size=num_clusters) p_out = np.random.uniform(low=0.0, high=0.06, size=(num_clusters, num_clusters)) p = (p_out + p_out.T) \/ 2 np.fill_diagonal(p, p_in)  G = nx.stochastic_block_model(     sizes=sizes_clusters,     p=p,     seed=seed, )<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 Label Spreading<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import networkx as nx import numpy as np   # \u0412 \u0433\u0440\u0430\u0444\u0435 \u043c\u043d\u043e\u0433\u043e \u0443\u0437\u043b\u043e\u0432, \u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e # \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0432\u0435\u0440\u0448\u0438\u043d. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 # \u043c\u0435\u0442\u043a\u0438 \u0443\u0437\u043b\u043e\u0432 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445,  # \u0437\u0430\u0434\u0430\u0435\u043c alpha \u0431\u043b\u0438\u0437\u043a\u0438\u043c \u043a 1. alpha = 0.99 num_iteration = 8  A = nx.adjacency_matrix(G).todense()  d = np.sum(A, axis=1) D = np.diag(1 \/ np.sqrt(d))  S = D @ A @ D  # S \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 normalized Laplacian matrix: # l = scipy.sparse.csgraph.laplacian(A, normed=True) # S = np.eye(len(l)) - l  Y0 = np.zeros((len(G.nodes), 2)) Y0[3, 0], Y0[3, 1] = 0, 1 Y0[35, 0], Y0[35, 1] = 1, 0  Y = Y0 for _ in range(num_iteration):     Y = alpha * S @ Y + (1 - alpha) * Y0<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a2\/6cf\/eb9\/3a26cfeb9730036b1b7e64e35d48ee61.gif\" alt=\"\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Spreading. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\" title=\"\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Spreading. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\" width=\"683\" height=\"466\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a2\/6cf\/eb9\/3a26cfeb9730036b1b7e64e35d48ee61.gif\"\/><\/p>\n<div><figcaption>\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Spreading. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<\/figcaption><\/div>\n<\/figure>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e, \u0432 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u043c\u0435\u0442\u043a\u0430\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442.<\/p>\n<h4>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430<\/h4>\n<p>\u0412 Label Spreading \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u00ab\u043c\u044f\u0433\u043a\u0430\u044f\u00bb \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a, \u0442\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 gif \u0432\u044b\u0448\u0435, \u0442\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0443\u0437\u043b\u044b \u00ab\u043c\u043e\u0440\u0433\u0430\u044e\u0442\u00bb, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a \u043d\u0438\u043c \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442 \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0449\u0451 \u043d\u0435\u0442 \u043c\u0435\u0442\u043a\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/521\/512\/a95\/521512a950cde0bf7fda9b2f51d11a39.png\" width=\"3856\" height=\"1894\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/521\/512\/a95\/521512a950cde0bf7fda9b2f51d11a39.png\"\/><\/figure>\n<p>\u042d\u0442\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u044b \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b29\/ac1\/19d\/b29ac119d11c27032508a3c6d26adae7.png\" alt=\"\" title=\"\" width=\"3992\" height=\"1234\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b29\/ac1\/19d\/b29ac119d11c27032508a3c6d26adae7.png\"\/><\/figure>\n<p>Label Spreading \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u043a\u0443 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0435\u0433\u043e \u0443\u0437\u043b\u0430 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u0432\u0441\u0435\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u043c\u0435\u0442\u043a\u0430 \u043a\u0440\u0430\u0441\u043d\u0430\u044f.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, Label Spreading \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0436\u043d\u0438\u043c\u0438 \u0438\u043b\u0438 \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0443\u0437\u043b\u043e\u0432 \u0433\u0440\u0430\u0444\u0430.<\/p>\n<h2>Label Propagation<\/h2>\n<p>Label Propagation \u2014 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0441\u0445\u043e\u0436\u0438\u0439 \u0441 Label Spreading, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435 [5].<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043d\u0451\u043c:<\/p>\n<ol>\n<li>\n<p>\u0412 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u0435\u0442 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a Y<sub>k<\/sub>.<\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u0443. \u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 S, \u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 P.<\/p>\n<\/li>\n<\/ol>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 A.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u0435\u0440\u0448\u0438\u043d \u0433\u0440\u0430\u0444\u0430 d.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u043e\u0438\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439 D.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0443\u044e \u043c\u0430\u0442\u0440\u0438\u0446\u0443 P.<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0446\u0438\u043a\u043b\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0442\u0441\u044f \u0438\u043b\u0438 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439:<\/p>\n<\/li>\n<\/ol>\n<p>\u0430. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 Y \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" Y(t+1)= P Y(t)\" alt=\" Y(t+1)= P Y(t)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9e2\/e43\/cbc\/9e2e43cbcbe4e2f3c1db2983f5f23499.svg\" width=\"149\" height=\"22\"\/><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" Y_k(t+1)= Y_k(0)\" alt=\" Y_k(t+1)= Y_k(0)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1c0\/0fb\/5cc\/1c00fb5cc923b736e6c707de6159a838.svg\" width=\"148\" height=\"22\"\/><\/p>\n<p>\u0437\u0434\u0435\u0441\u044c Y<sub>k<\/sub> \u2014 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0443\u0437\u043b\u043e\u0432. \u041e\u043d\u0438 \u0441 \u0442\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0442\u0441\u044f.<\/p>\n<p>\u0431. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\" t = t +1\" alt=\" t = t +1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eb7\/8fd\/193\/eb78fd193e76a312fafd902d35345335.svg\" width=\"73\" height=\"18\"\/><\/p>\n<ol start=\"7\">\n<li>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443:<\/p>\n<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"\\text{predicts} = \\underset{\\text{label}}{\\text{arg max }} Y\" alt=\"\\text{predicts} = \\underset{\\text{label}}{\\text{arg max }} Y\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/508\/512\/329\/5085123298ed27bff0d0a486744751f2.svg\" width=\"182\" height=\"36\"\/><\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ae9\/c17\/655\/ae9c176555cc9edd86cf6ba318d574de.JPG\" alt=\"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Propagation [5].\" title=\"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Propagation [5].\" width=\"2466\" height=\"1415\"\/><\/p>\n<div><figcaption>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Propagation [5].<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440<\/h4>\n<p>\u0412\u043e\u0437\u044c\u043c\u0451\u043c \u0442\u043e\u0442 \u0436\u0435 \u0433\u0440\u0430\u0444, \u0447\u0442\u043e \u0438 \u0432 Label Spreading. \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b67\/406\/071\/b674060715f3fb5945cb6e0c45e269c3.gif\" alt=\"\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\" title=\"\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\" width=\"683\" height=\"466\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b67\/406\/071\/b674060715f3fb5945cb6e0c45e269c3.gif\"\/><\/p>\n<div><figcaption>\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0448\u0438\u0431\u043e\u043a \u0432 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445 \u043d\u0435\u0442. \u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 Y<sub>k<\/sub> \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 Label Propagation<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import networkx as nx import numpy as np   num_iteration = 100   A = nx.adjacency_matrix(G).todense()  d = np.sum(A, axis = 1) D = np.diag(1 \/ d)  P = D @ A  Y0 = np.zeros((len(G.nodes), 2)) Y0[3, 0], Y0[3, 1] = 0, 1 Y0[35, 0], Y0[35, 1] = 1, 0  Y = Y0 for _ in range(num_iteration):     Y = P @ Y     Y[3, 0], Y[3, 1] = Y0[3, 0], Y0[3, 1]     Y[35, 0], Y[8, 1] = Y0[35, 0], Y0[35, 1]<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h2>Static Label Propagation. Unsupervised learning<\/h2>\n<p>\u0412 \u0434\u0432\u0443\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445 \u0432\u044b\u0448\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0447\u0430\u0441\u0442\u0438 \u0443\u0437\u043b\u043e\u0432 \u043c\u0435\u0442\u043e\u043a. \u0412 ML \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442 \u043a \u043a\u043b\u0430\u0441\u0441\u0443 semi-supervised learning.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0438 \u043d\u0435 \u0438\u043c\u0435\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 \u2014 unsupervised learning.<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0434\u0438\u043d \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432.<\/p>\n<p>\u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Static Label Propagation \u043b\u0435\u0436\u0438\u0442 \u0438\u0434\u0435\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u043c\u0435\u0442\u043a\u0430 \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \/ \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0438\u043c \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 \u0435\u0451 \u0441\u043e\u0441\u0435\u0434\u0435\u0439.<\/p>\n<p>\u0421\u0430\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0433\u0440\u0430\u0444\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u044e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0446\u0438\u043a\u043b\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0442\u0441\u044f \u0438\u043b\u0438 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0449\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0443 \u0435\u0451 \u0441\u043e\u0441\u0435\u0434\u0435\u0439. \u0415\u0441\u043b\u0438 \u0441\u0440\u0435\u0434\u0438 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u043c\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7e9\/fee\/c57\/7e9feec579628b95e14d6cb9846ee749.png\" alt=\"\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043a\u0438 \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.\" title=\"\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043a\u0438 \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.\" width=\"2000\" height=\"1406\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7e9\/fee\/c57\/7e9feec579628b95e14d6cb9846ee749.png\"\/><\/p>\n<div><figcaption>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043a\u0438 \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/figcaption><\/div>\n<\/figure>\n<p>\u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 KNN \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445. \u0417\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u043e\u0432.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0443\u0437\u043b\u0443 \u0441\u0432\u043e\u044e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443 \u0438 \u0434\u0430\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438\u0445 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0433\u0440\u0430\u0444\u0443, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u0432\u044b\u0448\u0435. \u041f\u043e \u0445\u043e\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u0441\u043e\u0441\u0435\u0434\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043a \u043e\u0431\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043c\u0435\u0442\u043a\u0438. \u0414\u0430\u043b\u0435\u0435 \u0442\u0430\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c\u0441\u044f, \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<\/p>\n<p>\u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c\u0438, \u0430 \u043a\u0430\u043a\u0438\u043c\u0438-\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445.<\/p>\n<h3>Community detection \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. Label Propagation \u043d\u0430 Spark<\/h3>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u043f\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u0439 (executors). \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f Pregel (Parallel Graph Google). \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u043d\u0435\u0451 \u0438 \u043f\u0440\u043e map-reduce \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 [6-9].<\/p>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Static Label Propagation \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043e\u0431\u044a\u0451\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u043c GraphFrames \u0434\u043b\u044f Apache Spark [10]<\/p>\n<pre><code class=\"python\">from graphframes import GraphFrame   # Dataframe \u0441 \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u0433\u0440\u0430\u0444\u0430 vertices = spark_session.range(1, 9)  # Dataframe \u0441 \u0440\u0435\u0431\u0440\u0430\u043c\u0438 \u0433\u0440\u0430\u0444\u0430 edges = spark_session.createDataFrame([     (1, 2), (1, 4), (2, 1), (2, 3), (2, 4),     (3, 2), (3, 4), (4, 1), (4, 2), (4, 3),     (5, 6), (5, 7), (5, 8), (6, 5), (6, 8),     (7, 5), (7, 8), (8, 5), (8, 6), (8, 7),     (3, 5), (5, 3) ], [\"src\", \"dst\"])  graph = GraphFrame(vertices, edges)  lpa_predicts = graph.labelPropagation(maxIter=3)<\/code><\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dbb\/918\/f0e\/dbb918f0e62cd7ca86e5daa358f6f70f.png\" alt=\"\u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443.\" title=\"\u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443.\" width=\"3992\" height=\"1234\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dbb\/918\/f0e\/dbb918f0e62cd7ca86e5daa358f6f70f.png\"\/><\/p>\n<div><figcaption>\u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443.<\/figcaption><\/div>\n<\/figure>\n<h4>\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c<\/h4>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Static LPA \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u043b\u0443\u0447\u0430\u044f\u043c, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0446\u0438\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/528\/db6\/c4b\/528db6c4bbb0586a05fcd1a0b01a72cf.png\" width=\"3992\" height=\"1234\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/528\/db6\/c4b\/528db6c4bbb0586a05fcd1a0b01a72cf.png\"\/><\/figure>\n<p>\u0427\u0442\u043e \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c? \u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u0435\u0442\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0435\u0442\u043a\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0435\u0434\u0438 \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u043d\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a \u043d\u0438\u043c \u043c\u0435\u0442\u043a\u0443 \u0441\u0430\u043c\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u044e \u043c\u0435\u0442\u043a\u0443.<\/p>\n<p>\u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:<\/p>\n<ol>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043a\u043e\u0434 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043b\u043e\u0433\u0438\u043a\u0443 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043a\u0438 \u0432 \u0443\u0437\u043b\u0435<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0433\u0440\u0430\u0444 \u043f\u0435\u0442\u043b\u0438 (\u043f\u0435\u0442\u043b\u044f \u2014 \u0440\u0435\u0431\u0440\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u0443). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u0441\u0442\u0430\u043d\u0435\u0442 \u0441\u0430\u043c\u0430 \u0441\u0435\u0431\u0435 \u0441\u043e\u0441\u0435\u0434\u043e\u043c.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9f0\/910\/6b9\/9f09106b9bdf7b72d20f9def2154bbd7.png\" alt=\"\u0413\u0440\u0430\u0444 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u0435\u0442\u043b\u044f\u043c\u0438.\" title=\"\u0413\u0440\u0430\u0444 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u0435\u0442\u043b\u044f\u043c\u0438.\" width=\"3992\" height=\"692\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9f0\/910\/6b9\/9f09106b9bdf7b72d20f9def2154bbd7.png\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u0435\u0442\u043b\u044f\u043c\u0438.<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0440\u044e\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0435\u0433\u043e \u0441\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<h3>\u041f\u0440\u0438\u043c\u0435\u0440<\/h3>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Static LPA \u043d\u0430 \u0433\u0440\u0430\u0444\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e community. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444 \u0441 7 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u0440\u0430\u0444\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import numpy as np import networkx as nx   seed = 2 np.random.seed(seed)  num_clusters = 7 sizes_clusters = np.random.randint(low=10, high=80, size=num_clusters) p_in = np.random.uniform(low=0.1, high=0.95, size=num_clusters) p_out = np.random.uniform(low=0.0, high=0.01, size=(num_clusters, num_clusters)) p = (p_out + p_out.T) \/ 2 np.fill_diagonal(p, p_in)  G = nx.stochastic_block_model(     sizes=sizes_clusters,     p=p,     seed=seed, )<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f1d\/f7d\/d9a\/f1df7dd9ab23c78f545e15cf49eca437.gif\" alt=\"\u041f\u043e\u0438\u0441\u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.\" title=\"\u041f\u043e\u0438\u0441\u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.\" width=\"572\" height=\"574\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f1d\/f7d\/d9a\/f1df7dd9ab23c78f545e15cf49eca437.gif\"\/><\/p>\n<div><figcaption>\u041f\u043e\u0438\u0441\u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432 \u0433\u0440\u0430\u0444\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 Static Label Propagation. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0435\u0451 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 Static LPA \u043e\u0442 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 unsupervised \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0412 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 Spark \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>Static LPA \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u0433\u0440\u0430\u0444\u0430 \u0438\u043c\u0435\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443, \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 (\u043c\u0435\u0442\u043e\u043a) \u0434\u043e\u043b\u0436\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c\u0441\u044f \u0438 \u0441\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b26\/222\/d3a\/b26222d3a6f85ac28a7109e3256d6664.JPG\" alt=\"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432\u00a0Static LPA \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0433\u0440\u0430\u0444\u0435.\" title=\"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432\u00a0Static LPA \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0433\u0440\u0430\u0444\u0435.\" width=\"2502\" height=\"1407\"\/><\/p>\n<div><figcaption>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0432\u00a0Static LPA \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0433\u0440\u0430\u0444\u0435.<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a 4-\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u043e \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 gif \u0432\u044b\u0448\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043c\u0435\u0442\u043a\u0438 \u0443\u0437\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u2014 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0448\u043b\u043e\u0441\u044c.<\/p>\n<h3>Custom Algorithm \u043d\u0430 Spark. Semi-supervised Static LPA<\/h3>\n<p>Unsupervised \u043f\u043e\u0434\u0445\u043e\u0434 \u0432 LPA \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u0433\u0440\u0443\u043f\u043f \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u0443\u0434\u043e\u0431\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0438 \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043d\u0443\u043b\u044f. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442, \u0438 \u0432 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441 \u043d\u0443\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 (unsupervised), \u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043a\u0438 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u0438 \u0434\u043e\u0440\u0430\u0437\u043c\u0435\u0447\u0430\u0442\u044c \u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u0430\u0445 (semi-supervised).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8cc\/60c\/3d2\/8cc60c3d2287fc5d7a80654583240b33.png\" alt=\"\u041f\u043e\u043b\u043d\u044b\u0439 pipeline \u043f\u043e\u0438\u0441\u043a\u0430 \u0433\u0440\u0443\u043f\u043f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432: \u043f\u043e\u0434\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445.\" title=\"\u041f\u043e\u043b\u043d\u044b\u0439 pipeline \u043f\u043e\u0438\u0441\u043a\u0430 \u0433\u0440\u0443\u043f\u043f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432: \u043f\u043e\u0434\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445.\" width=\"2000\" height=\"673\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8cc\/60c\/3d2\/8cc60c3d2287fc5d7a80654583240b33.png\"\/><\/p>\n<div><figcaption>\u041f\u043e\u043b\u043d\u044b\u0439 pipeline \u043f\u043e\u0438\u0441\u043a\u0430 \u0433\u0440\u0443\u043f\u043f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432: \u043f\u043e\u0434\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445.<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 Spark\u2019\u043e\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Label Propagation \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u043e\u0432 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c\u0438 (unsupervised). \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432 semi-supervised \u043f\u043e\u0434\u0445\u043e\u0434\u0435? \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u043d\u0430 Spark.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c Static LPA \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c\u0438:<\/p>\n<pre><code class=\"python\">from pyspark.sql import functions as F from graphframes import GraphFrame from graphframes.lib import AggregateMessages as AM   max_iter = 5  vertices = spark_session.createDataFrame([ \"\"\"\u041a\u043e\u0440\u0442\u0435\u0436\u0438: (id_\u0432\u0435\u0440\u0448\u0438\u043d\u044b, \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f_\u043c\u0435\u0442\u043a\u0430_\u0432\u0435\u0440\u0448\u0438\u043d\u044b). \u0414\u043b\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0443\u0437\u043b\u043e\u0432 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438. \u0414\u043b\u044f \u043d\u0435\u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u0443\u0437\u043b\u043e\u0432 -- \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \"\"\" ], [\"id\", \"label\"])  edges = spark_session.createDataFrame([ \"\"\"\u041a\u043e\u0440\u0442\u0435\u0436\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0451\u0431\u0440\u0430\u043c:  (id_\u0432\u0435\u0440\u0448\u0438\u043d\u044b_1, id_\u0432\u0435\u0440\u0448\u0438\u043d\u044b_2) \"\"\" ], [\"src\", \"dst\"])  for _ in range(max_iter):     g = GraphFrame(vertices, edges)     vertices = g.aggregateMessages(         F.mode(AM.msg).alias(\"label\"),         sendToDst=AM.src[\"label\"],     )<\/code><\/pre>\n<p>Aggregate messages \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0438\u0445 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b. \u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043a\u0438 src \u0443\u0437\u043b\u043e\u0432 \u0432 \u0443\u0437\u043b\u044b dst, \u0430 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0432 Static LPA \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0430 (mode).<\/p>\n<h2>\u041a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445?<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0440\u0430\u0444\u043e\u0432 \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u043d\u0438\u0445 \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432.<\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u043c\u0438 \u0438\u0437 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0430\u043a\u043e\u0439 \u0433\u0440\u0430\u0444 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043b\u043d\u044b\u0439 (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0451\u0431\u0435\u0440 \u0432 \u043d\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 <code>n (n - 1) \/ 2<\/code>, \u0433\u0434\u0435 n \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u0433\u0440\u0430\u0444\u0435), \u0442\u043e \u0432\u0441\u0435 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0432 \u043d\u0435\u043c \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0f8\/2df\/e75\/0f82dfe754535d68b2a250cb163b35ad.JPG\" alt=\"\u0413\u0440\u0430\u0444, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432.\" title=\"\u0413\u0440\u0430\u0444, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432.\" width=\"3194\" height=\"1796\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/567\/48b\/0ce\/56748b0ce0b242b196d50c5ef254c99a.png\" alt=\"\" title=\"\" width=\"2000\" height=\"1356\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/567\/48b\/0ce\/56748b0ce0b242b196d50c5ef254c99a.png\"\/><\/p>\n<div><figcaption>\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u0433\u0440\u0430\u0444, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 (\u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432) \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0445 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e65\/d06\/863\/e65d068637c70a1e627d683ed39b43e9.png\" alt=\"\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.\" title=\"\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.\" width=\"2000\" height=\"1603\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e65\/d06\/863\/e65d068637c70a1e627d683ed39b43e9.png\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5a3\/447\/406\/5a3447406a27980a19c51c5f6073398c.png\" alt=\"\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.\" title=\"\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.\" width=\"2000\" height=\"1494\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5a3\/447\/406\/5a3447406a27980a19c51c5f6073398c.png\"\/><\/p>\n<div><figcaption>\u0413\u0440\u0430\u0444 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u044d\u0442\u0430\u043f\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430 \u0433\u0440\u0443\u043f\u043f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0442\u043e\u0439 (completeness), \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u043e\u0439 \u0441 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435. \u041f\u0440\u0438 \u0442\u043e\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e, \u043d\u0435 \u0443\u043c\u043d\u043e\u0436\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u0437-\u0437\u0430 False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u043e\u0441\u0442\u044c (homogeneity) \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0423 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 O(m), \u0433\u0434\u0435 m \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0451\u0431\u0435\u0440. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Static LPA, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0438\u0441\u043a\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Page Rank \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0430\u043c\u044b\u0445 \u00ab\u0432\u0430\u0436\u043d\u044b\u0445\u00bb \u0432\u0435\u0440\u0448\u0438\u043d \u0432 \u0433\u0440\u0430\u0444\u0435. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f.<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/summary>\n<div class=\"spoiler__content\">\n<ol>\n<li>\n<p>David P. Williamson, \u201cSpectral Graph Theory\u201d: <a href=\"https:\/\/people.orie.cornell.edu\/dpw\/orie6334\/Fall2016\/lecture7.pdf\">https:\/\/people.orie.cornell.edu\/dpw\/orie6334\/Fall2016\/lecture7.pdf<\/a><\/p>\n<\/li>\n<li>\n<p>Mark Crovella, &#171;Linear Algebra, Geometry, and Computation\u201d: <a href=\"https:\/\/www.cs.bu.edu\/fac\/crovella\/cs132-book\/L19PageRank.html#random-walks-on-undirected-graphs\">https:\/\/www.cs.bu.edu\/fac\/crovella\/cs132-book\/L19PageRank.html#random-walks-on-undirected-graphs.<\/a><\/p>\n<\/li>\n<li>\n<p>Zhou, Dengyong, et al. &#171;Learning with local and global consistency.&#187;\u00a0<em>Advances in neural information processing systems<\/em>\u00a016 (2003)<\/p>\n<\/li>\n<li>\n<p>L. Zhukov, \u201cLabel propagation on graphs\u201d:\u00a0<a href=\"https:\/\/youtu.be\/F4f247IyOTs?si=Dw6FOFtfBtM3ITVs\">https:\/\/youtu.be\/F4f247IyOTs?si=Dw6FOFtfBtM3ITVs<\/a><\/p>\n<\/li>\n<li>\n<p>Xiaojin, Zhu, and Ghahramani Zoubin. &#171;Learning from labeled and unlabeled data with label propagation.&#187;\u00a0<em>Tech. Rep., Technical Report CMU-CALD-02\u2013107, Carnegie Mellon University<\/em>\u00a0(2002)<\/p>\n<\/li>\n<li>\n<p>\u0410. \u0412\u0438\u0447\u0443\u0433\u043e\u0432\u0430, \u201c\u0413\u0440\u0430\u0444\u043e\u0432\u0430\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 Apache Spark GraphX\u201d:<strong>\u00a0<\/strong><a href=\"https:\/\/bigdataschool.ru\/blog\/what-is-pregel-and-how-it-is-realized-in-spark-graphx.html\">https:\/\/bigdataschool.ru\/blog\/what-is-pregel-and-how-it-is-realized-in-spark-graphx.html<\/a><\/p>\n<\/li>\n<li>\n<p>\u041d. \u0415\u0448\u043a\u0435\u0435\u0432<strong>, \u201c<\/strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0430\u0444\u043e\u0432. Pregel\u201d:\u00a0<a href=\"https:\/\/habr.com\/ru\/articles\/754598\/\">https:\/\/habr.com\/ru\/articles\/754598\/<\/a><\/p>\n<\/li>\n<li>\n<p>GraphX Programming Guide:\u00a0<a href=\"https:\/\/spark.apache.org\/docs\/latest\/graphx-programming-guide.html\">https:\/\/spark.apache.org\/docs\/latest\/graphx-programming-guide.html<\/a><\/p>\n<\/li>\n<li>\n<p>Reza Zadeh, &#171;Pregel and\u00a0GraphX\u201d:\u00a0<a href=\"https:\/\/stanford.edu\/~rezab\/classes\/cme323\/S16\/notes\/Lecture16\/Pregel_GraphX.pdf\">https:\/\/stanford.edu\/~rezab\/classes\/cme323\/S16\/notes\/Lecture16\/Pregel_GraphX.pdf<\/a><\/p>\n<\/li>\n<li>\n<p>GraphFrames User Guide.\u00a0Label Propagation Algorithm (LPA):\u00a0<a href=\"https:\/\/graphframes.github.io\/graphframes\/docs\/_site\/user-guide.html#label-propagation-algorithm-lpa\">https:\/\/graphframes.github.io\/graphframes\/docs\/_site\/user-guide.html#label-propagation-algorithm-lpa<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410. \u0414\u044c\u044f\u043a\u043e\u043d\u043e\u0432, \u201c\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 (Community Detection)\u201d:\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=eNnfeOM3KVE\">https:\/\/www.youtube.com\/watch?v=eNnfeOM3KVE<\/a><\/p>\n<\/li>\n<li>\n<p>Albert-L\u00e1szl\u00f3 Barab\u00e1si, \u201cNetwork Science\u201d:\u00a0<a href=\"http:\/\/networksciencebook.com\/chapter\/9\">http:\/\/networksciencebook.com\/chapter\/9<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/791684\/\"> https:\/\/habr.com\/ru\/articles\/791684\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0418\u0432\u0430\u043d \u0410\u043d\u0442\u0438\u043f\u043e\u0432, \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c ML \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0430 Ozon. \u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u044d\u043a\u043e\u043d\u043e\u043c\u044f \u0432\u0440\u0435\u043c\u044f \u0438 \u0434\u0435\u043d\u044c\u0433\u0438.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445, \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432, \u0440\u0430\u0441\u043f\u0430\u0434 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430, self-supervised \u0438 unsupervised \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0438 \u043a\u0430\u043a \u0432\u0441\u0451 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u043e\u043c.<\/p>\n<h3>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043c\u0430\u0442\u0447\u0438\u043d\u0433 \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d?<\/h3>\n<p>\u041f\u043e\u0434 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u043e\u043c (matching) \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0441\u0445\u043e\u0436\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u0432\u0430\u0440\u043e\u0432) \u0441 \u0446\u0435\u043b\u044c\u044e \u043d\u0430\u0439\u0442\u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b\u0435. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u0430\u0442\u0447\u0438 \u0438\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u044b-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043e\u0431\u0449\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430\u043c\u0438.<\/p>\n<p>\u041c\u0430\u0442\u0447\u0438\u043d\u0433 \u0432 e-commerce \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0442 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043e \u0446\u0435\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044e \u043c\u0430\u0442\u0447\u0438\u043d\u0433 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0442\u043e\u0432\u0430\u0440 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0442 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u043e\u0432 \u043f\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u043c \u0446\u0435\u043d\u0430\u043c:<\/p>\n<figure class=\"full-width\"><\/figure>\n<h3>\u041c\u0430\u0442\u0447\u0438\u043d\u0433 \u043d\u0430 \u043f\u0430\u043b\u044c\u0446\u0430\u0445<\/h3>\n<figure class=\"full-width\"><\/figure>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043f\u043e\u0438\u0441\u043a\u0430 \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u0442\u0430\u043f\u043e\u0432: \u043f\u043e\u0434\u0431\u043e\u0440 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440 \u043c\u043e\u0434\u0435\u043b\u044c\u044e. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <strong>KNN<\/strong> (\u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0442\u043e\u0432\u0430\u0440\u0443 \u0438\u0449\u0435\u043c \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u0443), \u043d\u043e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <strong>ANN<\/strong> (HNSW, IVF, LSH \u0438 \u0434\u0440.). ANN \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a \u0442\u043e\u0447\u043d\u043e, \u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440. \u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u044b \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0440 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u0438\u0445 (\u0422\u0430\u0431\u043b\u0438\u0446\u0430 1):<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>product_id1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>product_id2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>is_duplicate<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">False<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">False<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">True<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0423 \u0442\u043e\u0432\u0430\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430, \u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0438\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432 \u043e\u0434\u043d\u0443 \u0433\u0440\u0443\u043f\u043f\u0443, \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?<\/p>\n<h2>Baseline<\/h2>\n<h3>\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434<\/h3>\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438 \u0438 \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435, \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438 \u043f\u0430\u0440\u044b [1, 2], [2, 4] \u0438 [4, 3], \u0442\u043e \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 [1, 2, 3, 4]. \u041d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0442\u0435\u043e\u0440\u0438\u0438 \u0433\u0440\u0430\u0444\u043e\u0432 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0422\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438\u043c\u0435\u044e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0448\u0438\u0431\u043e\u043a. \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0430\u0436\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 <abbr class=\"habraabbr\" title=\"\u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0430\u0437\u0432\u0430\u043b\u0430 \u043f\u0430\u0440\u0443 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u043c\" data-title=\"&lt;p>\u0430\u0440\u0443 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u043c&#187; data-title=&#187;&lt;p>\u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0430\u0437\u0432\u0430\u043b\u0430 \u043f\u0430\u0440\u0443 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u043c&lt;\/p>&#187; data-abbr=&#187;False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439&#187;>False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439<\/abbr> \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043c\u0443\u0441\u043e\u0440\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0438\u0442\u0441\u044f.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432: [1-8], \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 iPhone 14, \u0438 [9-16] \u0441 iPhone 15 Plus. \u041f\u0443\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0438\u043b\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u043e\u0432\u0430\u0440 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 (True Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f). \u0412\u0441\u0435\u0433\u043e \u0442\u0430\u043a\u0438\u0445 True Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439: <code>TP = 2 * 8 * (8 - 1) \/ 2 = 56<\/code>. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u0441\u043c\u0430\u0442\u0447\u0438\u043b\u0430 \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u0430 \u2014 [3, 15] (False Positive). \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e False Positive \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430 56 True Positive \u0432 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 [1-16] \u0438\u0437 \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432:<\/p>\n<figure class=\"full-width\"><\/figure>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0433\u0434\u0430 \u0432\u0438\u0434\u0438\u0448\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 iPhone<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><\/figure>\n<\/p>\n<\/div>\n<\/details>\n<h3>\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <abbr class=\"habraabbr\" title=\"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 (\u043e\u0442 embedding) \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.\" data-title=\"&lt;p>-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.&#187; data-title=&#187;&lt;p>\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 (\u043e\u0442 embedding) \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c.&lt;\/p>&#187; data-abbr=&#187;\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438&#187;>\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438<\/abbr> \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u0445 \u0442\u043e\u0432\u0430\u0440\u0430.<\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430?<\/p>\n<ol>\n<li>\n<p><strong>\u041f\u043e\u0434\u0431\u043e\u0440 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<\/strong>. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0431\u043e\u0440\u0435 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 \u0438 \u0442. \u0434.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c<\/strong>. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0438\u0437\u043a\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u0447\u043d\u044b\u0445 \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430\u0445<\/strong>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0431\u043e\u0440\u0435 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432, \u0433\u0434\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u043e\u043b\u043d\u043e\u0442\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u0440 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u00ab\u043c\u0435\u0442\u0430\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438\u00bb \u043e \u0442\u043e\u0432\u0430\u0440\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u042d\u0442\u043e \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0430\u0436\u043d\u0430 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u0435 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ol>\n<h2>\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432. Community Detection<\/h2>\n<figure class=\"full-width\"><\/figure>\n<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 (community detection) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0433\u0440\u0430\u0444\u0430\u0445.<\/p>\n<p>\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c?<\/p>\n<ol>\n<li>\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0432\u044f\u0437\u0435\u0439 (\u0440\u0451\u0431\u0435\u0440) \u043c\u043d\u043e\u0433\u043e, \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043f\u043b\u043e\u0442\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u044f\u0437\u0435\u0439, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u043c\u0430\u043b\u043e.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Social_graph\">\u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0430<\/a> \u2014 \u0433\u0440\u0430\u0444\u0430, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043b\u044e\u0434\u044c\u043c\u0438.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Zachary's_karate_club\">\u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431 \u0417\u0430\u043a\u0430\u0440\u0438<\/a>. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444, \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430, \u0430 \u0440\u0451\u0431\u0440\u0430 \u2014 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432\u043d\u0435 \u043a\u043b\u0443\u0431\u0430. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u0432 \u043a\u043b\u0443\u0431\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0451\u043b \u0440\u0430\u0441\u043a\u043e\u043b \u0438\u0437-\u0437\u0430 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c \u043a\u043b\u0443\u0431\u0430 \u0438 \u0442\u0440\u0435\u043d\u0435\u0440\u043e\u043c. \u0412\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043e\u0434\u043d\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0443\u0431, \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u0442\u0430\u0440\u043e\u043c. \u0417\u0430\u0434\u0430\u0447\u0430 community detection <strong>\u2014<\/strong> \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0441\u0432\u044f\u0437\u044f\u0445 \u043c\u0435\u0436\u0434\u0443 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u043b\u0443\u0431\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u043f\u0440\u0438\u043c\u043a\u043d\u0443\u043b \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043a\u043e\u043b\u0430.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0413\u0440\u0430\u0444, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 34 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u0430\u0440\u0430\u0442\u0435-\u043a\u043b\u0443\u0431\u0430. \u041d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u0443, \u0446\u0432\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e.<\/figcaption><\/div>\n<\/figure>\n<h3>Community Detection \u0432 \u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0435<\/h3>\n<p>\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u0444, \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u0432\u0430\u0440\u044b, \u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0431\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044e \u043c\u043e\u0434\u0435\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u2014 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b. \u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0451 \u043c\u0435\u0442\u043a\u043e\u0439. \u041c\u0435\u0442\u043a\u0430 \/ label \/ \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \/ community \/ \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 id \u0433\u0440\u0443\u043f\u043f\u044b \u0442\u043e\u0432\u0430\u0440\u043e\u0432-\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432. \u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0430\u0445 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0432\u043e\u0439 \u0446\u0432\u0435\u0442.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0413\u0440\u0430\u0444, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0422\u0430\u0431\u043b\u0438\u0446\u044b 1.<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043f\u0430\u0440\u0430\u0445 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>precision = TP \/ (TP + FP)<\/code>, \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a 1. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0434\u043e\u043b\u044f \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440 (False Positives) \u043c\u0430\u043b\u0430 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u043c\u0430\u0442\u0447\u0435\u043d\u043d\u044b\u043c\u0438 (True Positives), \u043f\u043e\u0442\u043e\u043c\u0443 \u0432 \u0433\u0440\u0430\u0444\u0435 False Positives \u0440\u0451\u0431\u0435\u0440 \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c True Positives. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u043a \u043f\u043e\u0438\u0441\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 \u0432 \u0433\u0440\u0430\u0444\u0430\u0445.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h3>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438 \u0433\u0440\u0430\u0444\u043e\u0432<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u043d\u0430 \u044f\u0437\u044b\u043a \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0414\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438 \u0432\u0432\u0435\u0434\u0451\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f.<\/p>\n<p><strong>\u041c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 (adjacency matrix) A<\/strong>. \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u044d\u0442\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b A<sub>ij<\/sub> \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0440\u0451\u0431\u0435\u0440 \u0438\u0437 i-\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0432 j-\u0443\u044e \u0432\u0435\u0440\u0448\u0438\u043d\u0443 \u0433\u0440\u0430\u0444\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1, \u0435\u0441\u043b\u0438 \u0442\u043e\u0432\u0430\u0440\u044b \u0432 \u043f\u0430\u0440\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u0430\u043c\u0438; 0, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0430 \u0432\u044b\u0448\u0435:<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043d\u0435\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 \u0433\u0440\u0430\u0444\u0430\u043c\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0451\u0431\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0433\u0440\u0430\u0444\u0430\u0445 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u043a\u0430\u043a \u0432 \u043f\u0440\u044f\u043c\u043e\u043c, \u0442\u0430\u043a \u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e\u0439:<\/p>\n<p><strong>\u0421\u0442\u0435\u043f\u0435\u043d\u044c \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 d<sub>i<\/sub><\/strong> \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0451\u0431\u0435\u0440, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0438\u0437 \u0432\u0435\u0440\u0448\u0438\u043d\u044b i \u0438\u043b\u0438, \u0447\u0442\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u043d\u0435\u0451<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>D \u2014 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439 (degree matrix):<\/strong><\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435:<\/p>\n<p><strong>\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 (normalized adjacency matrix) S <\/strong>(\u0441\u043c. [1]):<\/p>\n<p>\u0433\u0434\u0435<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 (transition matrix) P<\/strong>:<\/p>\n<p>\u0433\u0434\u0435<\/p>\n<p>\u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435:<\/p>\n<p>\u041f\u0440\u043e \u0438\u043d\u0442\u0443\u0438\u0446\u0438\u044e, \u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0437\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u0435\u0439 P, \u0441\u0432\u044f\u0437\u044c \u0435\u0451 \u0438 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0431\u043b\u0443\u0436\u0434\u0430\u043d\u0438\u044f\u043c\u0438 \u0438 \u0446\u0435\u043f\u044f\u043c\u0438 \u041c\u0430\u0440\u043a\u043e\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 [2].<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043d\u044f\u0442\u0438\u0439 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u043e\u043a \u043f\u043e \u0433\u0440\u0430\u0444\u0443.<\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Spreading<\/h2>\n<p>\u0418\u0434\u0435\u044f, \u043b\u0435\u0436\u0430\u0449\u0430\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a, \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0438\u043c \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 \u0435\u0451 \u0441\u043e\u0441\u0435\u0434\u0435\u0439.<\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043c\u0435\u0442\u043a\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0435\u0440\u0448\u0438\u043d. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u0438\u0445 Y<sub>k<\/sub>.<\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label Spreading \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0430 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 A.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u0435\u0440\u0448\u0438\u043d \u0433\u0440\u0430\u0444\u0430 d.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u043e\u0438\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439 D.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441\u043c\u0435\u0436\u043d\u043e\u0441\u0442\u0438 S.<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438. \u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0434\u0430\u043b\u0435\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0446\u0438\u043a\u043b\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0442\u0441\u044f \u0438\u043b\u0438 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439:<\/p>\n<\/li>\n<\/ol>\n<p>\u0430. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 Y \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0442\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0432\u0435\u0440\u0448\u0438\u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u044e \u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0442\u043a\u0430\u0445 \u0441\u0432\u043e\u0438\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u0432\u0442\u043e\u0440\u043e\u0435 \u2014 \u0437\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445. alpha \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043c\u044f\u0433\u043a\u0443\u044e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u044e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u0443\u0437\u043b\u043e\u0432 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0430\u043b\u0430\u043d\u0441 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u043e\u043a \u0438 \u0438\u0445 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u0438 alpha \u0431\u043b\u0438\u0437\u043a\u043e\u043c \u043a 0, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u043c\u0435\u0442\u043e\u043a, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0438\u0445. \u041d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043f\u0440\u0438 alpha \u0431\u043b\u0438\u0437\u043a\u043e\u043c \u043a 1, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0442\u043a\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0435: t \u2014 \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, Y(0) \u2014 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438, Y(t) \u2014 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439, \u044d\u043b\u0435\u043c\u0435\u043d\u0442 Y<sub>ij<\/sub>(t) \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u2014 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e i-\u044b\u0439 \u0443\u0437\u0435\u043b \u0438\u043c\u0435\u0435\u0442 j-\u0443\u044e \u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 t. \u041f\u043e\u0434 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0 \u0434\u043e 1 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u0430 \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u2014 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0438\u0441\u043b\u043e, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u0430. \u041c\u0430\u0442\u0440\u0438\u0446\u0430 Y \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0433\u0440\u0430\u0444\u0430 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u043e\u0439 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443.<\/p>\n<p>\u0431. \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ol start=\"7\">\n<li>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u043c\u0435\u0442\u043a\u0443:<\/p>\n<\/li>\n<\/ol>\n<details class=\"spoiler\">\n<summary>\u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\">\n<div><figcaption>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c Label spreading [3].<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<h4>\u041a\u0430\u043a \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438?<\/h4>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0440\u0430\u0444 \u0438\u0437 6 \u0432\u0435\u0440\u0448\u0438\u043d \u0438 2 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0437\u0435\u043b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0443, \u0442\u0440\u0435\u0442\u0438\u0439 \u0443\u0437\u0435\u043b \u2014 \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443, \u0430 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0440\u0448\u0438\u043d \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c. \u0422\u043e\u0433\u0434\u0430<\/p>\n<figure class=\"full-width\"><\/figure>\n<h4>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435<\/h4>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044f \u043a \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u0435\u0434\u0435\u043b<\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044f\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435? \u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434? \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0441\u0445\u043e\u0436\u0430 \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439 \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 <a href=\"https:\/\/alexanderdyakonov.wordpress.com\/2019\/10\/31\/%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F-%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F\/\">\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438, \u0433\u0434\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e<\/a>. \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u044f\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0443\u0436\u043d\u043e<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-367422","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/367422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=367422"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/367422\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=367422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=367422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=367422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}