GraphSage:

 

 

https://yq.aliyun.com/articles/712465?type=2

Talk about the most basic concepts:

 

1.b. common Euclidean structured data

Converting the data into the Euclidean space, the resultant data is called the Euclidean structured data.
Euclid common data structure mainly includes:
1D: sound, time series and the like;
2D: images;
3D: video, hyperspectral images;

 

2.a. non-Euclidean space

Not all scientific research data can be converted into Euclidean space (eg: social networks, information networks, etc.), who can not be Euclidean structured data, we will be called non-Euclidean Reed structured data.

2.b. uncommon Euclidean structured data

1D: social networks (eg: Facebook, Twitter, etc.) and the like;
2D: biological networks (genes, molecules, brain connection) and the like;
3D: an infrastructure network (eg: energy, transport, Internet, communications, etc.) and the like;

FIG introduced 3.a. (Graph) of

That the problem for the non-Euclidean structured data, the researchers introduced a graph theory diagram (Graph) on the abstract sense to represent the non-Euclidean structured data.

 

4. learning task on the map

After introducing FIG basic terms, we have to look at the structure of FIG data, machine learning tasks which we can
1, FIG node classification task : FIG Each node has a corresponding characteristic, as we are known nodes category, you can design classification task classification for unknown nodes. We are going to introduce the GCN, GraphSAGE, GAT models are classified on the node on the graph .
2, Fig edge structure prediction task : bilateral relations between the nodes in the graph and nodes may be able to collect in the input data, and some hidden edges we need to dig out , such a task is on the side of the prediction task, that is, predict the relationship between nodes and nodes.
3, the classification map : for the whole graph, we can also FIG classified FIG classified yet isomorphism, the basic idea is the nodes in the graph as a characteristic feature of FIG gather together, and then classified .

 

Example data applications 5. FIG.

For a simple diagram of the electricity supplier, which contains sellers of goods and users three key nodes, the nodes related merchandise goods category node, the user node associated with registration and registration IP node address of the node. When a user at the time of purchase, the user node and the node will be associated merchandise transactions node, while the node will be associated with user transactions under the single nodes and the corresponding IP addresses of the nodes were harvested, corresponding to the configuration as shown in FIG.
image.png

From the relationship between features and map data node, we can conduct anti-fraud operations and product recommendations.
1, node classification - Fraud : Because the figure each node has its own characteristic information . With this feature information, we can build a wind control system, if the user's IP address and receipt transactions associated with the node user registration and registered IP addresses do not match, then the system will make it possible that there is the risk of fraud user.
2, the edge structure prediction - Recommended Product : figure that each node has the configuration information . If you frequently purchase certain category of goods or merchandise for higher scores in some categories, the system can identify the user of the commodity more interested in, so we can recommend more of the categories of goods to the user.
All in all, the value of the map data rich applications to encourage more researchers to join research among map data, the map data for data analysis, we need to take into account the characteristics of information nodes and structural information. If the rule is extracted by hand, it will lose a lot of subtle and complex patterns, is there a way to automate the same time learned feature information and structure information map it? This is a hot direction in recent years, the rise of machine learning - the map neural network (Graph Neural Networks). Next, we will introduce a series of articles them.

 


 

 

 

 

 


 

GNN series: GraphSAGE

 

[Introduction ] at GCN blog, we focused on how to map neural network-layer propagation equation is derived, however, GCN training methods need to be put together in memory or memory feature matrix and adjacency matrix, in a large-scale map data is not preferable . Secondly, GCN in training need to know the structure of the entire map information (including the node to be predicted), this can not be achieved in reality certain tasks (such as tomorrow's forecast data using graph model training today, then tomorrow is to take the node less than) . GraphSAGE appears to solve this problem, in this article we will discuss it in detail.

Inductive learning v.s. Transductive learning

 

First, we explain what is inductive learning. Unlike other types of data, map data each node can use the information to other nodes through the relationship side, thus creating a problem, the association if the nodes on the training set by the side to the prediction set or validation set of nodes, then the training time be able to use their information? If used in a test set of information or validation set of samples during training (or rather, test and validation sets are visible when training a ) we call this way of learning is called transductive learning, on the contrary, is called inductive learning. obviously, most machine learning problems we are dealing with are inductive learning, because we deliberately set the sample into training / validation / test and training time only training samples. However, in the GCN, when training neighbor node to collect information, to use the testing or validation sample, so it is transductive of .

Outline

GraphSAGE is an inductive framework, In a specific implementation, it remains only training samples to the training edge of training samples . advantage is that inductive learning may use information known nodes is unknown node generates Embedding . GraphSAGE from Graph SAmple and aggreGatE, SAmple refers to how to sample the number of neighbor. aggreGatE refers to their embedding information on how to get after embedding these embedding neighbors converge to update. The following figure shows a learning process GraphSAGE: 

640?wx_fmt=jpeg

1. neighbor sampling

After embedding neighbor to node 2. Sampling up, and the polymerization using a polymerization function information to update the neighbor node embedding

The node label embedding the updated prediction

Algorithmic details

  1. Embedding generating node (i.e.: forward propagation) algorithm

640?wx_fmt=png

The following algorithm describes how we do before the spread of:

640?wx_fmt=jpeg

640?wx_fmt=png

  2. Sampling (Sample) algorithm

640?wx_fmt=png

  3. Aggregator (Aggregator in) architecture

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

  4. parameter learning

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

After words

GraphSAGE using a sampling mechanism to overcome when training GCN memory and memory limitations on that graph model can be applied to large-scale view of the structure of the data, is almost the prototype of all the industrial map of the model. However, each node so many neighbors, sampling can take into account the relative importance of the neighbors do, or we can take into account the aggregate computing relative importance of neighbors? This question in our next blog post in Graph Attentioin Networks a detailed discussion.


 

 

 

 

 

Guess you like

Origin www.cnblogs.com/cx2016/p/11789734.html