<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurorobot.</journal-id>
<journal-title>Frontiers in Neurorobotics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurorobot.</abbrev-journal-title>
<issn pub-type="epub">1662-5218</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnbot.2021.775688</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Boosting-GNN: Boosting Algorithm for Graph Networks on Imbalanced Node Classification</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Shi</surname> <given-names>Shuhao</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1478134/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Qiao</surname> <given-names>Kai</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/527442/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Yang</surname> <given-names>Shuai</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1497932/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Wang</surname> <given-names>Linyuan</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/572226/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Chen</surname> <given-names>Jian</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/612406/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Yan</surname> <given-names>Bin</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/572228/overview"/>
</contrib>
</contrib-group>
<aff><institution>Henan Key Laboratory of Imaging and Intelligence Processing, PLA Strategy Support Force Information Engineering University</institution>, <addr-line>Zhengzhou</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Xin Jin, Yunnan University, China</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Hao Peng, Beihang University, China; Wei Huang, University of Electronic Science and Technology of China, China</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Bin Yan <email>ybspace&#x00040;hotmail.com</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>25</day>
<month>11</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>15</volume>
<elocation-id>775688</elocation-id>
<history>
<date date-type="received">
<day>14</day>
<month>09</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>10</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2021 Shi, Qiao, Yang, Wang, Chen and Yan.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Shi, Qiao, Yang, Wang, Chen and Yan</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license> </permissions>
<abstract><p>The graph neural network (GNN) has been widely used for graph data representation. However, the existing researches only consider the ideal balanced dataset, and the imbalanced dataset is rarely considered. Traditional methods such as resampling, reweighting, and synthetic samples that deal with imbalanced datasets are no longer applicable in GNN. This study proposes an ensemble model called Boosting-GNN, which uses GNNs as the base classifiers during boosting. In Boosting-GNN, higher weights are set for the training samples that are not correctly classified by the previous classifiers, thus achieving higher classification accuracy and better reliability. Besides, transfer learning is used to reduce computational cost and increase fitting ability. Experimental results indicate that the proposed Boosting-GNN model achieves better performance than graph convolutional network (GCN), GraphSAGE, graph attention network (GAT), simplifying graph convolutional networks (SGC), multi-scale graph convolution networks (N-GCN), and most advanced reweighting and resampling methods on synthetic imbalanced datasets, with an average performance improvement of 4.5%.</p></abstract>
<kwd-group>
<kwd>graph neural network</kwd>
<kwd>imbalanced datasets</kwd>
<kwd>ensemble learning</kwd>
<kwd>adaboost</kwd>
<kwd>node classification</kwd>
</kwd-group>
<counts>
<fig-count count="6"/>
<table-count count="4"/>
<equation-count count="13"/>
<ref-count count="52"/>
<page-count count="12"/>
<word-count count="8459"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Convolutional neural networks (CNNs) have been widely used in image recognition (Russakovsky et al., <xref ref-type="bibr" rid="B34">2015</xref>; He et al., <xref ref-type="bibr" rid="B20">2016</xref>), object detection (Lin et al., <xref ref-type="bibr" rid="B29">2014</xref>), speech recognition (Yu et al., <xref ref-type="bibr" rid="B47">2016</xref>), visual coding and decoding (Huang et al., <xref ref-type="bibr" rid="B21">2021a</xref>,<xref ref-type="bibr" rid="B22">b</xref>). However, traditional CNNs can only handle data in the Euclidean space. It cannot effectively address graphs that are prevalent in real life. Graph neural networks (GNNs) can effectively construct deep learning models on graphs. In addition to homogeneous graphs, heterogeneous GNN (Wang et al., <xref ref-type="bibr" rid="B41">2019</xref>; Li et al., <xref ref-type="bibr" rid="B27">2021</xref>; Peng et al., <xref ref-type="bibr" rid="B32">2021</xref>) can effectively handle more comprehensive information and semantically richer heterogeneous graphs.</p>
<p>The graph convolutional network (GCN) (Kipf and Welling, <xref ref-type="bibr" rid="B25">2016</xref>) has achieved remarkable success in multiple graph data-related tasks, including recommendation systems (Chen et al., <xref ref-type="bibr" rid="B9">2020</xref>; Yu and Qin, <xref ref-type="bibr" rid="B48">2020</xref>), molecular recognition (Zitnik and Leskovec, <xref ref-type="bibr" rid="B51">2017</xref>), traffic forecast (Bai et al., <xref ref-type="bibr" rid="B2">2020</xref>), and point cloud segmentation (Li et al., <xref ref-type="bibr" rid="B26">2019</xref>). GCN is based on the neighborhood aggregation scheme, which generates node embedding by combining information from neighborhoods. GCN achieves superior performance in solving node classification problems compared with conventional methods, but it is adversely affected by datasets imbalance. However, existing studies on GCNs all aim at balanced datasets, and the problem of imbalanced datasets have not been considered.</p>
<p>In the field of machine learning, the processing of imbalanced data sets is always challenging (Carlson et al., <xref ref-type="bibr" rid="B6">2010</xref>; Taherkhani et al., <xref ref-type="bibr" rid="B39">2020</xref>). The data distribution of an imbalanced dataset makes the fitting ability of the model insufficient because it is difficult for the model to learn useful information from unevenly distributed datasets (Japkowicz and Stephen, <xref ref-type="bibr" rid="B23">2002</xref>). A balanced dataset consists of almost the same number of training samples in each class. In reality, it is impractical to obtain the same number of training samples for different classes because the data in different classes are generally not uniformly distributed (Japkowicz and Stephen, <xref ref-type="bibr" rid="B23">2002</xref>; Han et al., <xref ref-type="bibr" rid="B17">2005</xref>). The imbalance of the training dataset is caused by many possible factors, such as deviation sampling and measurement errors. Samples may be collected from narrow geographical areas in a specific time period and in different areas at different times, exhibiting a completely different sample distribution. The datasets widely used in deep learning research, e.g., IMAGENET large scale visual recognition challenge (ImageNet ILSVRC 2012) (Russakovsky et al., <xref ref-type="bibr" rid="B34">2015</xref>), microsoft common objects in context (MS COCO) (Lin et al., <xref ref-type="bibr" rid="B29">2014</xref>), and Places Database (Zhou et al., <xref ref-type="bibr" rid="B49">2018</xref>), balanced datasets, where the amount of data in different classes is basically the same. Recently, more and more imbalanced datasets reflecting real-world data characteristics have been built and released, e.g., iNaturalist (Cui et al., <xref ref-type="bibr" rid="B11">2018</xref>), a dataset for large vocabulary instance segmentation (LVIS) (Gupta et al., <xref ref-type="bibr" rid="B14">2019</xref>), and a large-scale retail product checkout dataset (RPC) (Wei et al., <xref ref-type="bibr" rid="B43">2019</xref>). It is difficult for traditional pattern recognition methods to achieve excellent results on imbalanced datasets, so methods that can deal with imbalanced datasets efficiently are urgently needed.</p>
<p>For imbalanced datasets, additional processing is needed to reduce the adverse effects (Japkowicz and Stephen, <xref ref-type="bibr" rid="B23">2002</xref>). The existing machine learning methods mainly rely on resampling, data synthesis, and reweighting. 1) Resampling samples the original data by undersampling and oversampling. Undersampling removes part of data in the majority class so that the majority class can match with the minority class in terms of the amount of data. Oversampling copies the data in the minority class. 2) Data synthesis, i.e., synthetic minority oversampling technique (SMOTE) (Chawla et al., <xref ref-type="bibr" rid="B7">2002</xref>) and its improved version (Han et al., <xref ref-type="bibr" rid="B17">2005</xref>; Ramentol et al., <xref ref-type="bibr" rid="B33">2011</xref>; Douzas and Ba&#x000E7;&#x000E3;o, <xref ref-type="bibr" rid="B12">2019</xref>) as well as other synthesis methods (He et al., <xref ref-type="bibr" rid="B19">2008</xref>), synthesize the new sample artificially by analyzing the samples in the minority class. 3) Reweighting assigns different weights to different samples in the loss function to improve the model&#x00027;s performance of the model on imbalanced datasets.</p>
<p>In the GNN, the existing processing methods for imbalanced datasets in machine learning are not applicable. 1) The data distribution problem of imbalanced datasets cannot be overcome by resampling. The use of oversampling may introduce many repeated samples to the model, which reduces the training speed and leads to overfitting easily. In the case of undersampling, valuable samples that are important to feature learning may be discarded, making it difficult for the model to learn the actual data distribution. 2) The use of the data synthesis method or oversampling method loses the relationship between the newly generated samples and the original samples in the GNN, which affects the aggregation process of nodes. 3) Reweighting, e.g., Focal Loss (Lin et al., <xref ref-type="bibr" rid="B28">2017</xref>), and CB Focal Loss (Cui et al., <xref ref-type="bibr" rid="B10">2019</xref>), can solve the problem of the imbalanced dataset in GCN to some extent, but it does not consider the relationship between training samples, and fails to achieve satisfactory performance in dealing with imbalanced datasets.</p>
<p>Ensemble learning methods are more effective in improving the classification performance of imbalanced data than data sampling techniques (Khoshgoftaar et al., <xref ref-type="bibr" rid="B24">2015</xref>). It is challenging for a single model to classify rare and few samples on an imbalanced dataset accurately, thus, the overall performance is limited. Ensemble learning is a process of aggregating multiple base classifiers to improve the generalization ability of classifiers. Briefly, ensemble learning uses multiple weak classifiers to make classification on the dataset. In traditional machine learning, ensemble learning is used to improve the classification accuracy of multi-class imbalanced data (Chawla et al., <xref ref-type="bibr" rid="B8">2003</xref>; Seiffert et al., <xref ref-type="bibr" rid="B35">2010</xref>; Galar et al., <xref ref-type="bibr" rid="B13">2013</xref>; Blaszczynski and Stefanowski, <xref ref-type="bibr" rid="B3">2015</xref>; Nanni et al., <xref ref-type="bibr" rid="B31">2015</xref>; Hai-xiang et al., <xref ref-type="bibr" rid="B15">2016</xref>). In CNNs, some models adopt ensemble learning to deal with imbalanced datasets. Enhanced-random-feature-subspace-based ensemble CNN (Lv et al., <xref ref-type="bibr" rid="B30">2021</xref>) adaptively resamples the training set in iterations to get multiple classifiers and forms a cascade ensemble model. AdaBoost-CNN (Taherkhani et al., <xref ref-type="bibr" rid="B39">2020</xref>) integrates AdaBoost with a CNN to improve accuracy on imbalanced data.</p>
<p>Inspired by ensemble learning, an ensemble GNN classifier that can deal with the imbalanced dataset is proposed in this study. The adaptive boosting (AdaBoost) algorithm is combined with GNN to train the GNN classifier by serialization, and the samples are reweighted according to the calculation results. Based on this, the proposed classifier improved the classification performance on the imbalanced dataset. The main contributions of this study are as follows:</p>
<list list-type="bullet">
<list-item><p>This article uses the ensemble learning to study the imbalanced dataset problem in GNN for the first time. An Boosting-GNN model is proposed to deal with imbalanced datasets in semi-supervised nodes classification. A transfer learning strategy is also applied to speed up the training of the Boosting-GNN model.</p></list-item>
<list-item><p>Four imbalanced datasets are constructed to evaluate the performance of the Boosting-GNN. Boosting-GNN uses GCN, GAT, and GraphSAGE as base classifiers, improving the classification accuracy on imbalanced datasets.</p></list-item>
<list-item><p>The robustness of Boosting-GNN under feature noise perturbations is discussed, and it is discovered that ensemble learning can significantly improve the robustness of GNNs.</p></list-item>
</list>
<p>The rest of this article is organized as follows. Section 2 introduces the related work of dealing with imbalanced data sets and the application of ensemble learning in deep learning. In section 3, the principle of the proposed Boosting-GNN is discussed. Then, four datasets and a proposed method for performance evaluation are described, and the experimental results are discussed in section 4. Finally, section 5 concludes the article.</p></sec>
<sec id="s2">
<title>2. Related Works</title>
<p>Due to the prevalence of imbalanced data in practical applications, the problem of imbalanced data sets has attracted more and more attention. Recent researches are mainly conducted in the following four directions:</p>
<sec>
<title>2.1. Resampling</title>
<p>Resampling can be specifically divided into two types: 1) Oversampling by copying data in minority classes (Buda et al., <xref ref-type="bibr" rid="B4">2018</xref>; Byrd and Lipton, <xref ref-type="bibr" rid="B5">2019</xref>). After oversampling, some samples are repeated in the dataset, leading to a less robust model and worse generalization performance on imbalanced data. 2) Undersampling by selecting data in the majority classes (Buda et al., <xref ref-type="bibr" rid="B4">2018</xref>; Byrd and Lipton, <xref ref-type="bibr" rid="B5">2019</xref>). Undersampling may cause information loss in majority classes. The model only learns a part of the overall pattern, leading to underfitting (Shen and Lin, <xref ref-type="bibr" rid="B37">2016</xref>). <italic>K</italic>-means and stratified random sampling (KSS) (Zhou et al., <xref ref-type="bibr" rid="B50">2020</xref>) performs undersampling after <italic>K</italic>-means clustering for majority classes, and achieves good results.</p></sec>
<sec>
<title>2.2. Synthetic Samples</title>
<p>The data synthesis methods generate samples similar to samples of minority classes in the original set. The representative method is SMOTE (Chawla et al., <xref ref-type="bibr" rid="B7">2002</xref>), and the operations of this method are as follows. For each sample in a small sample set, an arbitrary sample is selected from its <italic>K</italic>-nearest neighbors. Then, a random point on the line between the sample and the selected sample is taken as a new sample. However, the overlapping degree will be increased by synthesizing the same number of new samples for each minority class. The Borderline-SMOTE (Han et al., <xref ref-type="bibr" rid="B17">2005</xref>) synthesizes new samples similar to the samples on the classification boundary. Preprocessing method combining SMOTE and RST (SMOTE-RSB&#x0002A;) (Ramentol et al., <xref ref-type="bibr" rid="B33">2011</xref>) exploits the synthetic minority oversampling technique and the editing technique based on the rough set theory. Geometric SMOTE (G-SMOTE) (Douzas and Ba&#x000E7;&#x000E3;o, <xref ref-type="bibr" rid="B12">2019</xref>) generates a synthesized sample for each of the selected instances in a geometric region of the input space. Adaptive synthetic sampling (ADASYN) (He et al., <xref ref-type="bibr" rid="B19">2008</xref>) algorithm synthesizes different number of new samples for different minority classes samples.</p></sec>
<sec>
<title>2.3. Reweighting</title>
<p>Reweighting typically assigns different weights to different samples in the loss function. In general, reweighting assigns large weights to training samples in minority classes (Wang et al., <xref ref-type="bibr" rid="B42">2017</xref>). Besides, finer control of loss can be achieved at the sample level. For example, Focal Loss (Lin et al., <xref ref-type="bibr" rid="B28">2017</xref>) designed a weight adjustment scheme to improve the classification performance of imbalanced dataset. CB Focal Loss (Cui et al., <xref ref-type="bibr" rid="B10">2019</xref>) introduced a weight factor inversely proportional to the number of effective samples to rebalance the loss, reaching the most advanced level in the imbalanced dataset.</p></sec>
<sec>
<title>2.4. Ensemble Classifiers</title>
<p>Ensemble classifiers are more effective than sampling methods to deal with the imbalance problem (Khoshgoftaar et al., <xref ref-type="bibr" rid="B24">2015</xref>). In GNN models, AdaGCN (Sun et al., <xref ref-type="bibr" rid="B38">2021</xref>) integrates Adaboost and GCN layers to get deeper network models. Different from AdaGCN, Boosting-GNN uses GNN as a sub-classifier of Boosting algorithm to improve the performance on imbalanced datasets. To our knowledge, we are the first to use ensemble learning to solve the classification on graph imbalanced datasets.</p>
<p>In addition, there are transfer learning, domain adaptation, and other methods to deal with imbalance problems. The method based on transfer learning solves the problem by transferring the characteristics learned from majority classes to minority classes (Yin et al., <xref ref-type="bibr" rid="B46">2019</xref>). Domain adaptive method processes different types of data and learns how to reweight adaptively (Zou et al., <xref ref-type="bibr" rid="B52">2018</xref>). These methods are beyond the scope of this article.</p></sec></sec>
<sec id="s3">
<title>3. The Proposed Method</title>
<sec>
<title>3.1. GCN Model</title>
<p>Given an input undirected graph <inline-formula><mml:math id="M1"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">G</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">V</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M2"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">V</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M3"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">E</mml:mi></mml:mrow></mml:math></inline-formula>, respectively, denote the set of <italic>N</italic> nodes and the set of <italic>e</italic> edges. The corresponding adjacency matrix <italic>A</italic>&#x02208;&#x0211D;<sup><italic>N</italic>&#x000D7;<italic>N</italic></sup> is an <italic>N</italic>&#x000D7;<italic>N</italic> sparse matrix. The entry (<italic>i, j</italic>) in the adjacency matrix is equal to 1 if there is an edge between <italic>i</italic> and <italic>j</italic>, and 0, otherwise. The degree matrix <italic>D</italic> is a diagonal matrix where each entry on the diagonal indicates the degree of a vertex, which can be computed as <italic>d</italic><sub><italic>i</italic></sub> &#x0003D; &#x02211;<sub><italic>j</italic></sub><italic>a</italic><sub><italic>ij</italic></sub>. Each node is associated with an <italic>F</italic>-dimensional feature vector, and <italic>X</italic>&#x02208;&#x0211D;<sup><italic>N</italic>&#x000D7;<italic>F</italic></sup> denotes the feature matrix for all nodes. GCN model of semi-supervised classification has two layers (Kipf and Welling, <xref ref-type="bibr" rid="B25">2016</xref>), and every layer computes the transformation:</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>&#x000C3;</mml:mi><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x000C3; is normalized adjacency obtained by <inline-formula><mml:math id="M5"><mml:mi>&#x000C3;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mi>A</mml:mi><mml:msup><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>. <italic>W</italic><sup>(<italic>l</italic>)</sup> is the trainable weights of the layer. &#x003C3;(&#x000B7;) denotes an activation function (usually ReLU), and <inline-formula><mml:math id="M6"><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula> is the input activation matrix of the th hidden layer, where each row is a <italic>d</italic><sub><italic>l</italic></sub>-dimensional vector for node representation. The initial node representations are the original input features:</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>X</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>A two-layer GCN model can be defined in terms of vertex features <italic>X</italic> and &#x000C2; as:</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mtext>GC</mml:mtext><mml:msub><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>-</mml:mo><mml:mtext>layer</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x000C2;</mml:mi><mml:mo>,</mml:mo><mml:mi>X</mml:mi><mml:mo>;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x000C2;</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x000C2;</mml:mi><mml:mi>X</mml:mi><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The GCN is trained by the back propagation learning algorithm. The last layer uses the <italic>softmax</italic> function for classification, the cross-entropy loss over all labeled examples are evaluated:</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="-tex-caligraphic">L</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="-tex-caligraphic">Y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munder></mml:mstyle><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Formally, given a dataset with <italic>n</italic> entities <inline-formula><mml:math id="M10"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, where <italic>x</italic><sub><italic>i</italic></sub> represents the word embedding for entity <italic>i</italic>, and <italic>y</italic><sub><italic>i</italic></sub>&#x02208;{1, &#x000B7;&#x000B7;&#x000B7;&#x000B7;&#x000B7;&#x000B7;, <italic>C</italic>} represents the label for <italic>x</italic><sub><italic>i</italic></sub>. Multiple weak classifiers are combined with AdaBoost algorithm to make a single strong classifier.</p></sec>
<sec>
<title>3.2. Proposed Algorithm</title>
<p>Since ensemble learning is an effective method to deal with imbalanced datasets, Boosting-GNN adopts the Adaboost algorithm proposed by Hastie et al. (<xref ref-type="bibr" rid="B18">2009</xref>) to design an ensemble strategy for GCNs, which can train the GCNs sequentially. In Boosting-GNN, the weight of each training sample is assigned according to the degree to which the sample was not correctly trained in the previous classifier.</p>
<sec>
<title>3.2.1. Aggregation</title>
<p>Boosting-GNN aggregates GNN through the Adaboost algorithm to improve the performance on imbalanced datasets. First, the overall formula of Boosting-GNN can be expressed as:</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002A;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>F</italic><sub><italic>M</italic></sub>(<italic>x</italic>) is the ensemble classifier obtained after <italic>M</italic> rounds of training, and <italic>x</italic> denotes samples. A new GNN classifier <italic>G</italic><sub><italic>m</italic></sub>(<italic>x</italic>; &#x003B8;<sub><italic>m</italic></sub>) is trained in each round, and &#x003B8;<sub><italic>m</italic></sub> is the optimal parameter learned by the base classifier. The weight of the classifier &#x003B1;<sub><italic>m</italic></sub> denotes the importance of classifier, and it could be obtained according to the error of the classifier. Based on (5), Formula (6) can be obtained:</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002A;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><italic>F</italic><sub><italic>m</italic>&#x02212;1</sub>(<italic>x</italic>) is the weighted aggregation of the previously trained base classifier. In each iteration, a new base classifier <italic>G</italic><sub><italic>m</italic></sub>(<italic>x</italic>; &#x003B8;<sub><italic>m</italic></sub>) and its weights &#x003B1;<sub><italic>m</italic></sub> are solved. Boosting-GNN uses an exponential loss function:</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>L</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x0002A;</mml:mo><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>According to the meaning of the loss function, if the classification is correct, the exponent part is a negative number, otherwise, it is a positive number. As for training the base classifier, the training dataset is <inline-formula><mml:math id="M14"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, <italic>x</italic><sub><italic>i</italic></sub> is the feature vector of the <italic>i</italic>th node; <italic>y</italic><sub><italic>i</italic></sub> is the category label of the <italic>i</italic>th node, and <italic>y</italic><sub><italic>i</italic></sub>&#x02208;{1, &#x02026;, <italic>C</italic>}, where <italic>C</italic> is the total number of classes.</p></sec>
<sec>
<title>3.2.2. Reweight Samples</title>
<p>Assume that during the first training, the samples are evenly distributed and all weights are the same. The data weights are initialized by <inline-formula><mml:math id="M15"><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M16"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula>, and <italic>N</italic> is the number of samples. Training <italic>M</italic> networks in sequence on the training set, the expected loss &#x003B5;<sub><italic>m</italic></sub> at the <italic>m</italic>th iteration is:</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02260;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:munder></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x1D540;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02260;</mml:mo><mml:msub><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>I</italic> is the indicator function. When the input is true, the function value is 1; otherwise, the function value is 0. &#x003B5;<sub><italic>m</italic></sub> is the sum of the weights of all misclassified samples. &#x003B1;<sub><italic>m</italic></sub> can be treated as a hyper-parameter to be tuned manually, or as a model parameter to be optimized automatically. In our model, to keep it simple, &#x003B1;<sub><italic>m</italic></sub> is assigned according to &#x003B5;<sub><italic>m</italic></sub>.</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="qopname">ln</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>&#x003B1;<sub><italic>m</italic></sub> decreases as &#x003B5;<sub><italic>m</italic></sub> increases. The first GNN is trained on all the training samples with the same weight of 1/<italic>N</italic>, indicating the same importance for all samples. After the <italic>M</italic> estimators are trained, the output of GNN can be obtained, which is a <italic>C</italic>-dimensional vector. The vector contains the predicted values of <italic>C</italic> classes, which indicate the confidence of belonging to the corresponding class. For the <italic>m</italic>th GNN input sample <italic>x</italic><sub><italic>i</italic></sub>, the output vector is <inline-formula><mml:math id="M19"><mml:msup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M20"><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the <italic>k</italic>th element of <inline-formula><mml:math id="M21"><mml:msup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>k</italic> &#x0003D; 1, 2, &#x000B7;&#x000B7;&#x000B7;, <italic>C</italic>.</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M22"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mi>a</mml:mi><mml:mfrac><mml:mrow><mml:mi>C</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><inline-formula><mml:math id="M23"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the weight of the <italic>i</italic>th training sample of the <italic>m</italic>th GNN. <italic>y</italic><sub><italic>i</italic></sub> is the one-hot label vector encoded according to the <italic>i</italic>th training sample. Formula (10) is obtained based on Adaboost&#x00027;s Samme.r algorithm (Hastie et al., <xref ref-type="bibr" rid="B18">2009</xref>), which is used to update the weight of the sample. If the output vector of the misclassified sample is not related to the output label, a large value is obtained for the exponential term, and the misclassified sample will be assigned a larger weight in the next GNN classifier. Similarly, a correctly classified sample will be assigned a smaller weight in the next GNN classifier. In summary, the weight vector <italic>D</italic> is updated so that the weight of the correctly classified samples is reduced and the weight of the misclassified samples is increased.</p>
<p>After the weights of all training samples for the current GNN are updated, they are normalized by the sum of weights of all samples. When the classifier <italic>F</italic><sub><italic>m</italic></sub>(<italic>x</italic>) is trained, the weight distribution of the training dataset is updated for the next iteration. When the subsequent GNN-based classifier is trained, the GNN training does not start from a random initial condition. Instead, the parameters learned from the previous GNN are transferred to the (<italic>m</italic>&#x0002B;1)th GNN, so GNN is fine-tuned based on the previous GNN parameters. The use of transfer learning can reduced the number of training epochs and make the model fit faster.</p>
<p>Moreover, due to the change of weight, the subsequent GNN focuses on untrained samples. The subsequent GNN performs training from scratch on a small number of training samples, which easily causes overfit. For a large number of training samples, the expected label output <inline-formula><mml:math id="M24"><mml:msup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> by the GNN after training has a strong correlation with the real label <italic>y</italic><sub><italic>i</italic></sub>. For the subsequent GNN classifier, the trained samples have a smaller weight than the sample without previous GNN training.</p></sec>
<sec>
<title>3.2.3. Testing With Boosting-GNN</title>
<p>After training the <italic>M</italic> base classifiers, Equation (11) can be used to predict the category of the input sample. The outputs of <italic>M</italic> base classifiers are summed. In the summed probability vector, the category with the highest confidence is regarded as the predicted category.</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>Q</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder><mml:mrow><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>g</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><inline-formula><mml:math id="M26"><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the classification result of the <italic>k</italic>th sample made by the <italic>m</italic>th basis classifier, <italic>k</italic> &#x0003D; 1, 2, &#x000B7;&#x000B7;&#x000B7;, <italic>C</italic>, which can be calculated from the Equation (12).</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M27"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where <inline-formula><mml:math id="M28"><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the <italic>k</italic>th element of the output vector of the <italic>m</italic>th GCN classifier for the input <italic>x</italic>. <xref ref-type="fig" rid="F1">Figure 1</xref> shows the schematic of the proposed Boosting-GNN. The first GNN is first trained with the initial weight <italic>D</italic><sub>1</sub>. Then, based on the output of the first GNN, the data weight <italic>D</italic><sub>2</sub> used to update the second GNN are obtained. In addition, the parameters learned from the first GNN are transferred to the second GNN. After the <italic>m</italic>th base classifier is trained in order, all base classifiers are aggregated to obtain the final Boosting-GNN classifier.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Schematic of the proposed Boosting-GNN.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0001.tif"/>
</fig>
<p>The pseudo-code for an Boosting-GNN is exhibited in <xref ref-type="table" rid="T5">Algorithm 1</xref>. In each iteration of sequential learning, the classifiers are first trained with corresponding training data and weights. Then, according to the training results of the classifiers, the data weights are updated for the next iteration. Both operations are performed until <italic>M</italic> base classifiers are trained.</p>
<table-wrap position="float" id="T5">
<caption><p><bold>Algorithm 1 Framework of the Boosting-GNN algorithm</bold>.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr><td align="left" valign="top"><monospace> Input: &#x000A0;Training set <italic>T</italic> &#x0003D; {(<italic>x</italic><sub>1</sub>, <italic>y</italic><sub>1</sub>), &#x02026;, (<italic>x</italic><sub><italic>N</italic></sub>, <italic>y</italic><sub><italic>N</italic></sub>)};</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> Output: &#x000A0;Ensemble of classifiers <italic>F</italic><sub><italic>M</italic></sub>(<italic>x</italic>);</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 1: &#x000A0;Initialization: <inline-formula><mml:math id="M29"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula> for all 1 &#x02264; <italic>i</italic> &#x02264; <italic>N</italic></monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 2: &#x000A0;for <italic>m</italic> &#x0003D; 1, 2, &#x022EF;&#x02009;, <italic>N</italic> <bold>do</bold>;</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 3: &#x000A0; if <italic>m</italic> &#x0003D; 1 <bold>then</bold></monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 4: &#x000A0; Train GNN classifier with weighted sample set {<italic>T, D</italic><sub>1</sub>};</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 5: &#x000A0; else</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 6: &#x000A0; Transfer the learning parameters of the (<italic>m</italic>&#x02212;1)th GNN to the <italic>m</italic>th GNN classifier;</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 7: &#x000A0; Train the <italic>m</italic>th GNN classifier with weighted sample set;</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 8: &#x000A0; end <bold>if</bold></monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 9: &#x000A0; Calculate the output category estimated for the <italic>C</italic> classes of the <italic>m</italic>th GNN classifier <inline-formula><mml:math id="M30"><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>k</italic> &#x0003D; 1, 2, &#x022EF;&#x02009;, <italic>C</italic>;</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 10: &#x000A0; Calculate the training error &#x003B5;<sub><italic>m</italic></sub> of the <italic>m</italic>th classifier according to (8);</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 11: &#x000A0; Assign the weight &#x003B1;<sub><italic>m</italic></sub> to the classifier based on &#x003B5;<sub><italic>m</italic></sub> using (9);</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 12: &#x000A0; Update the sample weight <italic>D</italic><sub><italic>m</italic>&#x0002B;1</sub> according to <inline-formula><mml:math id="M31"><mml:msubsup><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, and normalize the sample weight <italic>D</italic><sub><italic>m</italic>&#x0002B;1</sub>;</monospace> </td></tr>
<tr><td align="left" valign="top"><monospace> 13: &#x000A0; end <bold>for</bold></monospace></td></tr>  
</tbody>
</table>
</table-wrap></sec></sec></sec>
<sec id="s4">
<title>4. Experiments and Analysis</title>
<sec>
<title>4.1. Experimental Settings</title>
<p>The proposed ensemble model is evaluated on three well-known citation network datasets prepared by Kipf and Welling (<xref ref-type="bibr" rid="B25">2016</xref>): Cora, Citeseer, and Pubmed (Sen et al., <xref ref-type="bibr" rid="B36">2008</xref>). These datasets are chosen because they are available online and are used by our baselines. In addition, experiments are also conducted on the Never-Ending Language Learning (NELL) dataset (Carlson et al., <xref ref-type="bibr" rid="B6">2010</xref>). As a bipartite graph dataset extracted from a knowledge graph, NELL has a larger scale than the citation datasets, and it has 210 node classes.</p>
<sec>
<title>4.1.1. Citation Networks</title>
<p>The nodes in the citation datasets represent articles in different fields, and the labels of nodes represent the corresponding journal where the articles were published. The edges between two nodes represent the reference relationship between articles. If an edge exists between the nodes, there is a reference relationship between the articles. Each node has a one-hot vector corresponding to the keywords of the article. The task of categorization is to classify the domain of unlabeled articles based on a subset of tagged nodes and references to all articles.</p></sec>
<sec>
<title>4.1.2. Never-Ending Language Learning</title>
<p>The pre-processing schemes described in Yang et al. (<xref ref-type="bibr" rid="B45">2016</xref>) are adopted in this study. Each relationship is represented as a triplet (<italic>e</italic><sub>1</sub>, <italic>r, e</italic><sub>2</sub>), where <italic>e</italic><sub>1</sub>, <italic>r</italic>, and <italic>e</italic><sub>2</sub>, respectively, represent the head entity, the relationship, and the tail entity. Each entity <italic>E</italic> is regraded as a node in the graph, and each relationship <italic>r</italic> consists of two nodes <italic>r</italic><sub>1</sub> and <italic>r</italic><sub>2</sub> in the graph. For each (<italic>e</italic><sub>1</sub>, <italic>r, e</italic><sub>2</sub>), two edges (<italic>e</italic><sub>1</sub>, <italic>r</italic><sub>1</sub>) and (<italic>e</italic><sub>2</sub>, <italic>r</italic><sub>2</sub>) are added to the graph. A binary, symmetric adjacency matrix from this graph is constructed by setting entries <italic>A</italic><sub><italic>ij</italic></sub> &#x0003D; 1, if one or more edges are present between nodes <italic>i</italic> and <italic>j</italic> (Kipf and Welling, <xref ref-type="bibr" rid="B25">2016</xref>). All entity nodes are described by sparse feature vectors with the dimension of 5,414. <xref ref-type="table" rid="T1">Table 1</xref> summarizes the statistics of these datasets.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Datasets used for experiments.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Dataset</bold></th>
<th valign="top" align="center"><bold>Cora</bold></th>
<th valign="top" align="center"><bold>Citeseer</bold></th>
<th valign="top" align="center"><bold>Pubmed</bold></th>
<th valign="top" align="center"><bold>NELL</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Vertices</td>
<td valign="top" align="center">2,708</td>
<td valign="top" align="center">3,327</td>
<td valign="top" align="center">19,717</td>
<td valign="top" align="center">65,755</td>
</tr>
<tr>
<td valign="top" align="left">Edges</td>
<td valign="top" align="center">5,429</td>
<td valign="top" align="center">4,732</td>
<td valign="top" align="center">44,338</td>
<td valign="top" align="center">266,144</td>
</tr>
<tr>
<td valign="top" align="left">Classes</td>
<td valign="top" align="center">7</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">210</td>
</tr>
<tr>
<td valign="top" align="left">Features</td>
<td valign="top" align="center">1,433</td>
<td valign="top" align="center">3,703</td>
<td valign="top" align="center">500</td>
<td valign="top" align="center">5,414</td>
</tr>
</tbody>
</table>
</table-wrap></sec>
<sec>
<title>4.1.3. Synthetic Imbalanced Datasets</title>
<p>Different synthetic imbalanced datasets are constructed based on the datasets mentioned above. According to the Pareto Principle that 80% of the consequences come from 20% of the causes, one of the classes is randomly selected as the majority category for simplicity. The remaining classes are regraded as minority classes. In Kipf and Welling (<xref ref-type="bibr" rid="B25">2016</xref>), 20 samples of each class were selected as the training set, and to keep the number of training samples broadly consistent, the datasets are described in Equation (13).</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M32"><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mtext>&#x02009;</mml:mtext><mml:mo>=</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mn>30</mml:mn><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mi>i</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mo>=</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>c</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mi>s</mml:mi><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mi>i</mml:mi><mml:mtext>&#x02009;</mml:mtext><mml:mo>&#x02260;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mi>c</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<p><italic>n</italic><sub><italic>i</italic></sub> is the number of samples in category <italic>i</italic>, <italic>c</italic> is the randomly selected category, <italic>C</italic> is the number of classes in the dataset, and <italic>s</italic> is the number of samples in the minority category. By changing <italic>s</italic>, the number of minority category samples is altered, thus changing the degree of imbalance in the training set. For example, in the Cora dataset, there are seven classes of samples. So, the number of samples in one class is fixed to 30, and the number of samples in the other six classes is changed. Each time the training is conducted, a certain number of samples are randomly selected to form the training set. The test set is divided following the method in Kipf and Welling (<xref ref-type="bibr" rid="B25">2016</xref>) to evaluate the performance of different models.</p>
<p>Synthetic imbalanced datasets are constructed by node dropping. Given the graph <inline-formula><mml:math id="M33"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">G</mml:mi></mml:mrow></mml:math></inline-formula>, node dropping will randomly discard vertices along with their connections until the number of different classes of nodes matches the setting. In node dropping, the dropping probability of each node follows a uniform distribution. We visualize the synthetic datasets in <xref ref-type="fig" rid="F2">Figure 2</xref> and use different colors to represent different categories of nodes. Due to the sparsity of the adjacency matrix of the graph data set, imbalanced sampling of the graph data does not reduce the average degree of the nodes. Although disconnect parts of the graph, missing part of vertices does not affect the semantic meaning of <inline-formula><mml:math id="M34"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">G</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Visualization of synthetic imbalanced datasets. <bold>(A)</bold> shows the classical Cora training set. <bold>(B)</bold> shows the training set when <italic>s</italic> is fetched 15. <bold>(C)</bold> shows the training set when <italic>s</italic> is fetched 5. The mean degrees of the nodes in <bold>(A&#x02013;C)</bold> are 0.30, 0.30, 0.37 respectively.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0002.tif"/>
</fig></sec>
<sec>
<title>4.1.4. Parameter Settings</title>
<p>In Boosting-GNN, five GNN base classifiers are used. Boosting-GNN, respectively, uses GCN, GraphSAGE, and GAT as the base classifiers. All networks are composed of two layers, and all models are trained for a maximum of 100 epochs (training iterations) using Adam optimizer. For Cora, Citeseer, and Pubmed datasets, the number of hidden units is 16, and L2 regularization is 5e-4. For NELL, the number of hidden units is 128, and L2 regularization is 1e-5.</p>
<p>The following sets of hyperparameters are used for Boosting-GNN: For Boosting-GCN, the activation function is ReLU. The learning rates on Cora, Citeseer, Pubmed, and NELL are 1e-2, 1e-2, 1e-2, 5e-3, respectively. For Boosting-GraphSAGE, the activation function is ReLU. The sampled sizes (S1 = 25, S2 = 10) is used for each layer. The learning rates on Cora, Citeseer, Pubmed, and NELL are 1e-3, 1e-3, 5e-4, 1e-4, respectively. For Boosting-GAT, the first-layer activation function is <italic>ELU</italic> and the second-layer activation function is <italic>softmax</italic>. The number of attention heads <italic>K</italic> is 8. The learning rates on Cora, Citeseer, Pubmed and NELL are 1e-3, 1e-3, 1e-3, 5e-4, respectively.</p>
<p>For GCN, GraphSAGE, GAT, SGC, N-GCN, and other algorithms, the models are trained for a total of 500 epochs. The highest accuracy is taken as the result of a single experiment, and the mean accuracy of 10 runs with random sample split initializations is taken as the final result. A different random seed is used for every run (i.e., removing different nodes), but the 10 random seeds are the same across models. All the experiments are conducted on a machine equipped with two NVIDIA Tesla V100 GPU (32 GB memory), 20-core Intel Xeon CPU (2.20 GHz), and 192 GB of RAM.</p></sec></sec>
<sec>
<title>4.2. Baseline Methods</title>
<p>The performance of the proposed method is evaluated and compared to that of three groups of methods:</p>
<sec>
<title>4.2.1. GCN Methods</title>
<p>In experiments, our Boosting-GNN model is compared with the following representative baselines:</p>
<list list-type="bullet">
<list-item><p>Graph convolutional network (Kipf and Welling, <xref ref-type="bibr" rid="B25">2016</xref>) produces node embedding vectors by truncating the Chebyshev polynomial to the first-order neighborhoods.</p></list-item>
<list-item><p>GAT (Velickovic et al., <xref ref-type="bibr" rid="B40">2018</xref>) generates node embedding vectors for each node by introducing an attention mechanism when computing node and its neighboring nodes.</p></list-item>
<list-item><p>GraphSAGE (Hamilton et al., <xref ref-type="bibr" rid="B16">2017</xref>) generates the embedding vector of the target vertex by learning a function that aggregates neighboring vertices. The default settings of sampled sizes (S1 = 25, S2 = 10) is used for each layer in GraphSAGE.</p></list-item>
<list-item><p>SGC (Wu et al., <xref ref-type="bibr" rid="B44">2019</xref>) reduces model complexity by eliminating the non-linearity between GCN layers, transforming a non-linear GCN into a simple linear model that is more efficient than GCNs and other GNN models for many tasks.</p></list-item>
<list-item><p>N-GCN (Abu-El-Haija et al., <xref ref-type="bibr" rid="B1">2019</xref>) obtains the feature representation of nodes by convolving in the neighborhood of nodes at different scales and then fusing all the convolution results. These methods can be regarded as ensemble models.</p></list-item>
</list></sec>
<sec>
<title>4.2.2. Resampling Method</title>
<p>The KSS (Zhou et al., <xref ref-type="bibr" rid="B50">2020</xref>) method is used for performance comparison. KSS is a kind of <italic>K</italic>-means clustering method based on undersampling and achieves state-of-the-art performance on an imbalanced medical dataset.</p></sec>
<sec>
<title>4.2.3. Reweighting Method</title>
<p>Boosting-GNN is compared with GCN, GraphSAGE, and GAT. These classic models use Focal Loss (Lin et al., <xref ref-type="bibr" rid="B28">2017</xref>) and CB-Focal (Cui et al., <xref ref-type="bibr" rid="B10">2019</xref>), and achieve good classification accuracy on imbalanced datasets.</p></sec></sec>
<sec>
<title>4.3. Node Classification Accuracy</title>
<p>Our method is implemented in Keras. For the other methods, the code from the Github pages introduced in the original articles is used. For synthetic imbalanced datasets, <italic>s</italic> is set to 10. The classification accuracy of GCN, GraphSAGE, GAT, SGC, N-GCN, and Boosting-GNN method is listed in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Summary of results in terms of classification accuracy (in percentage).</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Model</bold></th>
<th valign="top" align="center"><bold>Cora</bold></th>
<th valign="top" align="center"><bold>Citeseer</bold></th>
<th valign="top" align="center"><bold>Pubmed</bold></th>
<th valign="top" align="center"><bold>NELL</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">GCN</td>
<td valign="top" align="center">65.6 &#x000B1; 0.8</td>
<td valign="top" align="center">62.2 &#x000B1; 0.5</td>
<td valign="top" align="center">71.8 &#x000B1; 0.6</td>
<td valign="top" align="center">68.5 &#x000B1; 1.4</td>
</tr>
<tr>
<td valign="top" align="left">GraphSAGE</td>
<td valign="top" align="center">66.3 &#x000B1; 0.8</td>
<td valign="top" align="center">59.7 &#x000B1; 0.6</td>
<td valign="top" align="center">69.7 &#x000B1; 0.6</td>
<td valign="top" align="center">69.6 &#x000B1; 1.3</td>
</tr>
<tr>
<td valign="top" align="left">GAT</td>
<td valign="top" align="center">67.4 &#x000B1; 0.7</td>
<td valign="top" align="center">60.3 &#x000B1; 0.6</td>
<td valign="top" align="center">66.2 &#x000B1; 0.7</td>
<td valign="top" align="center">70.3 &#x000B1; 1.6</td>
</tr>
<tr>
<td valign="top" align="left">N-GCN</td>
<td valign="top" align="center">67.3 &#x000B1; 0.6</td>
<td valign="top" align="center">65.4 &#x000B1; 0.3</td>
<td valign="top" align="center">72.3 &#x000B1; 0.3</td>
<td valign="top" align="center">73.3 &#x000B1; 1.2</td>
</tr>
<tr>
<td valign="top" align="left">SGC</td>
<td valign="top" align="center">69.7 &#x000B1; 0.8</td>
<td valign="top" align="center">59.4 &#x000B1; 0.5</td>
<td valign="top" align="center">66.9 &#x000B1; 0.5</td>
<td valign="top" align="center">67.1 &#x000B1; 1.4</td>
</tr> <tr style="border-top: thin solid #000000;">
<td valign="top" align="left">GCN-FL</td>
<td valign="top" align="center">67.8 &#x000B1; 1.2</td>
<td valign="top" align="center">65.1 &#x000B1; 0.8</td>
<td valign="top" align="center">72.4 &#x000B1; 0.8</td>
<td valign="top" align="center">71.2 &#x000B1; 1.2</td>
</tr>
<tr>
<td valign="top" align="left">GraphSAGE-FL</td>
<td valign="top" align="center">66.5 &#x000B1; 1.2</td>
<td valign="top" align="center">59.5 &#x000B1; 0.8</td>
<td valign="top" align="center">69.7 &#x000B1; 1.3</td>
<td valign="top" align="center">72.1 &#x000B1; 1.1</td>
</tr>
<tr>
<td valign="top" align="left">GAT-FL</td>
<td valign="top" align="center">67.4 &#x000B1; 1.3</td>
<td valign="top" align="center">61.3 &#x000B1; 0.7</td>
<td valign="top" align="center">69.2 &#x000B1; 1.2</td>
<td valign="top" align="center">72.6 &#x000B1; 1.0</td>
</tr> <tr style="border-top: thin solid #000000;">
<td valign="top" align="left">GCN-CB</td>
<td valign="top" align="center">70.6 &#x000B1; 0.9</td>
<td valign="top" align="center">65.1 &#x000B1; 0.6</td>
<td valign="top" align="center">72.3 &#x000B1; 0.8</td>
<td valign="top" align="center">72.9 &#x000B1; 1.4</td>
</tr>
<tr>
<td valign="top" align="left">GraphSAGE-CB</td>
<td valign="top" align="center">66.3 &#x000B1; 0.9</td>
<td valign="top" align="center">59.7 &#x000B1; 0.9</td>
<td valign="top" align="center">70.1 &#x000B1; 0.9</td>
<td valign="top" align="center">69.8 &#x000B1; 1.4</td>
</tr>
<tr>
<td valign="top" align="left">GAT-CB</td>
<td valign="top" align="center">67.6 &#x000B1; 1.0</td>
<td valign="top" align="center">60.3 &#x000B1; 1.0</td>
<td valign="top" align="center">69.3 &#x000B1; 0.9</td>
<td valign="top" align="center">73.4 &#x000B1; 1.5</td>
</tr> <tr style="border-top: thin solid #000000;">
<td valign="top" align="left">GCN-RS</td>
<td valign="top" align="center">70.4 &#x000B1; 1.0</td>
<td valign="top" align="center">61.8 &#x000B1; 1.1</td>
<td valign="top" align="center">70.4 &#x000B1; 1.1</td>
<td valign="top" align="center">68.9 &#x000B1; 2.1</td>
</tr> <tr style="border-top: thin solid #000000;">
<td valign="top" align="left">Boosting-GCN</td>
<td valign="top" align="center">73.2 &#x000B1; 0.7</td>
<td valign="top" align="center"><bold>65.7</bold> <bold>&#x000B1;</bold> <bold>0.7</bold></td>
<td valign="top" align="center"><bold>73.1</bold> <bold>&#x000B1;</bold> <bold>0.7</bold></td>
<td valign="top" align="center">74.9 &#x000B1; 1.0</td>
</tr>
<tr>
<td valign="top" align="left">Boosting-GraphSAGE</td>
<td valign="top" align="center">72.4 &#x000B1; 1.0</td>
<td valign="top" align="center">63.2 &#x000B1; 1.0</td>
<td valign="top" align="center">70.4 &#x000B1; 1.1</td>
<td valign="top" align="center">75.3 &#x000B1; 1.2</td>
</tr>
<tr>
<td valign="top" align="left">Boosting-GAT</td>
<td valign="top" align="center"><bold>73.5</bold> <bold>&#x000B1;</bold> <bold>0.5</bold></td>
<td valign="top" align="center">64.3 &#x000B1; 0.8</td>
<td valign="top" align="center">69.7 &#x000B1; 0.7</td>
<td valign="top" align="center"><bold>75.5</bold> <bold>&#x000B1;</bold> <bold>1.0</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The highest performance of models is highlighted in boldface</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>Results in <xref ref-type="table" rid="T2">Table 2</xref> show that Boosting-GNN outperforms the classic GNN models and state-of-the-art methods for processing imbalanced datasets. The N-GCN obtains a feature representation of the nodes by convolving around the nodes at different scales and then fusing all the convolution results, which can slightly improve the classification compared to the GCN. Resampling method and Reweighting method can improve the accuracy of GNN on imbalanced datasets, but the improvement is very limited. Since RS is not suitable for graph data, RE is slightly better than RS. Boosting-GNN can significantly improve the classification accuracy of GNN, with an average increase of 6.6, 3.7, 1.8, and 5.8% compared with the original GNN model in Cora, Citeseer, Pubmed, and NELL datasets, respectively.</p>
<p>Implementation details are as follows: Following the method in Kipf and Welling (<xref ref-type="bibr" rid="B25">2016</xref>), 500 nodes are used as the validation set and 1,000 nodes as the test set. Besides, for a fair performance comparison, the same training procedure is used for all the models.</p></sec>
<sec>
<title>4.4. Effect of Different Levels of Imbalance in the Training Data</title>
<p>The level of imbalance in the training data is changed by gradually increasing <italic>s</italic> from 1 to 10. The evaluation results of Boosting-GNN, GCN, GraphSAGE, and GAT are compared, which are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>The classification accuracy of Boosting-GNN, graph convolutional network (GCN), GraphSAGE, and GAT on imbalanced datasets.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0003.tif"/>
</fig>
<p>Results in <xref ref-type="fig" rid="F3">Figure 3</xref> show that classification accuracy of different models varies with <italic>s</italic>. The shadows indicate the range of fluctuations in the experimental results. When <italic>s</italic> is relatively small, the degree of imbalance in the training data is large. In this case, the classification accuracy of Boosting-GNN is higher than that of GCN, GraphSAGE, and GAT. As <italic>s</italic> decreases, the performance advantage of Boosting-GNN increases gradually. Experimental results show that when the sample imbalance is large, aggregation can significantly reduce the adverse effects caused by sample imbalance and improve the classification accuracy. On the Cora dataset, the accuracy of Boosting-GCN, Boosting-GraphSAGE, Boosting-GAT exceeds that of GCN, GraphSAGE, and GAT by 10.3, 8.0, and 6.1% respectively at most.</p></sec>
<sec>
<title>4.5. Impact of Numbers of Base Classifiers</title>
<p>The number of base classifiers is changed to evaluate the classification accuracy on imbalanced datasets with different base classifiers. We compare the classification results of Boosting-GCN and GCN, and the experimental results are listed in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Results of Boosting-GCN with varying numbers of base classifiers in terms of accuracy (in percentage).</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Numbers of base classifiers</bold></th>
<th valign="top" align="center" colspan="3" style="border-bottom: thin solid #000000;"><bold>epoch:100</bold></th>
<th valign="top" align="center" colspan="3" style="border-bottom: thin solid #000000;"><bold>epoch:200</bold></th>
</tr>
<tr>
<th/>
<th valign="top" align="center"><bold>Cora</bold></th>
<th valign="top" align="center"><bold>Citeseer</bold></th>
<th valign="top" align="center"><bold>Pubmed</bold></th>
<th valign="top" align="center"><bold>Cora</bold></th>
<th valign="top" align="center"><bold>Citeseer</bold></th>
<th valign="top" align="center"><bold>Pubmed</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="center"><bold>75.7</bold> <bold>&#x000B1;</bold> <bold>2.4</bold></td>
<td valign="top" align="center">65.5 &#x000B1; 2.5</td>
<td valign="top" align="center">63.9 &#x000B1; 2.4</td>
<td valign="top" align="center">75.4 &#x000B1; 2.1</td>
<td valign="top" align="center">65.6 &#x000B1; 1.1</td>
<td valign="top" align="center">72.0 &#x000B1; 0.8</td>
</tr>
<tr>
<td valign="top" align="left">5</td>
<td valign="top" align="center">73.2 &#x000B1; 0.7</td>
<td valign="top" align="center"><bold>65.7</bold> <bold>&#x000B1;</bold> <bold>0.7</bold></td>
<td valign="top" align="center">73.1 &#x000B1; 0.7</td>
<td valign="top" align="center"><bold>75.6</bold> <bold>&#x000B1;</bold> <bold>2.3</bold></td>
<td valign="top" align="center"><bold>65.9</bold> <bold>&#x000B1;</bold> <bold>0.5</bold></td>
<td valign="top" align="center">73.1 &#x000B1; 1.1</td>
</tr>
<tr>
<td valign="top" align="left">7</td>
<td valign="top" align="center">73.5 &#x000B1; 1.4</td>
<td valign="top" align="center">64.5 &#x000B1; 0.5</td>
<td valign="top" align="center"><bold>73.5</bold> <bold>&#x000B1;</bold> <bold>1.4</bold></td>
<td valign="top" align="center">74.1 &#x000B1; 2.7</td>
<td valign="top" align="center">64.7 &#x000B1; 0.4</td>
<td valign="top" align="center"><bold>73.5</bold> <bold>&#x000B1;</bold> <bold>0.8</bold></td>
</tr>
<tr>
<td valign="top" align="left">9</td>
<td valign="top" align="center">72.0 &#x000B1; 0.5</td>
<td valign="top" align="center">63.6 &#x000B1; 0.5</td>
<td valign="top" align="center">72.0 &#x000B1; 0.5</td>
<td valign="top" align="center">73.9 &#x000B1; 2.0</td>
<td valign="top" align="center">64.2 &#x000B1; 0.3</td>
<td valign="top" align="center">72.6 &#x000B1; 1.1</td>
</tr>
<tr>
<td valign="top" align="left">11</td>
<td valign="top" align="center">73.0 &#x000B1; 0.7</td>
<td valign="top" align="center">64.5 &#x000B1; 0.6</td>
<td valign="top" align="center">73.0 &#x000B1; 0.7</td>
<td valign="top" align="center">74.1 &#x000B1; 2.3</td>
<td valign="top" align="center">65.1 &#x000B1; 0.3</td>
<td valign="top" align="center">71.5 &#x000B1; 0.7</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The highest performance of models is highlighted in boldface</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>The experimental results show that aggregation can contribute to performance improvements. As the number of base classifiers increases, the performance improvement is more and more significant. As the number of base classifiers increases from 3 to 11, the number of base classifiers is odd. The data of Cora, Pubmed, and Citeseer are verified, and the division of train set and test set is the same as that of Section 4.3. Ten experiments are conducted, and each base classifier are trained with 100 epochs and 200 epochs. The training samples are randomly selected for each experiment.</p>
<p>To sum up, when the number of base classifiers is small, the classification accuracy increases with the number of base classifiers. When the number of base classifiers reaches a certain degree, the accuracy decreases due to overfitting.</p></sec>
<sec>
<title>4.6. Tolerance to Feature Noise</title>
<p>The proposed method is tested under feature noise perturbations by removing node features randomly (Abu-El-Haija et al., <xref ref-type="bibr" rid="B1">2019</xref>). This test is practical, because, in the Citation networks datasets, features could be missing as the authors article might forget to include relevant terms in the article abstract. By removing different features from a node, the performance of Boosting-GNN, GCN, GraghSAGE, and GAT is compared.</p>
<p><xref ref-type="fig" rid="F4">Figure 4</xref> shows the performance of different methods when features are removed. As the number of removed features is increased, Boosting-GNN achieves better performance than GCN, GraghSAGE, and GAT. The greater the proportion of features removed, the greater the performance advantage of Boosting-GNN over other models. This suggests that our approach can restore the deleted features to some extent by pulling in the features directly from nearby and distant neighbors.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Classification accuracy for the Cora dataset. The features are removed randomly, and the result of 10 runs is averaged. A different random seed is used for every run (i.e., removing different features from each node), but the same 10 random seeds are used across models.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0004.tif"/>
</fig></sec>
<sec>
<title>4.7. Why Ensemble Method Useful?</title>
<p>This section analyzes why the ensemble learning approach works on imbalanced datasets and the advantages of Boosting-GNN over traditional GNN. The process of ensemble learning can be divided into two steps:</p>
<list list-type="simple">
<list-item><p>1) Generating multiple base classifiers for integration. Our model could adjust the weight of samples, adopt specific strategies to reconstruct the dataset, and assign smaller weights to the determined samples and larger weights to the uncertain samples. It makes subsequent base classifiers focus more on samples that are difficult to be classified. In general, the samples of minority classes in imbalanced datasets are more likely to be misclassified. By changing the weights of these samples, subsequent base classifiers can focus more on these samples.</p></list-item>
<list-item><p>2) Combining the results of the base classifiers. The weight of the classifier is obtained according to the error of the classifier. The base classifier with high classification accuracy has greater weight and a greater influence on the final combined classifier. In contrast, the base classifier with low classification accuracy has less weight and impact on the final combined classifier.</p></list-item>
</list>
<p>We independently trained <italic>M</italic> GCNs using the same strategy described in Equation (11) and named this method M-GCN. We compare Boosting-GNN with M-GCN, which is trained according to the hard voting frameworks. Using the synthetic imbalanced datasets in Section 4.3, we changed <italic>M</italic> and conducted several experiments. Ten runs with different random seeds were conducted to calculate the mean and SD. The experimental results are shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, and the classification results of GCN are represented by dotted lines. By effectively setting the number of base classifiers, Boosting-GCN significantly improves classification accuracy compared with M-GCN and GCN.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Classification results of Boosting-GCN and M-GCN with different base classifiers. <bold>(A)</bold> Cora, <bold>(B)</bold> Citeseer, and <bold>(C)</bold> Pubmed.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0005.tif"/>
</fig>
<p>Next, in order to study the misclassification of samples, we observed the confusion matrix. To increase the imbalance, <italic>s</italic> is set to 5. The last class is selected as the majority class, and the other classes are selected as the minority classes for convenience. Ten experiments are conducted, and the confusion matrix of the average experimental results is shown in <xref ref-type="fig" rid="F6">Figure 6</xref>. Compared with the confusion matrix of the classification performed by GCN, Boosting-GCN achieves a better classification performance.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Confusion matrix for the Cora, Pubmed, and Citeseer datasets with 30 labeled nodes for majority class and five labeled nodes for the minority class. <bold>(A)</bold> Boosting-GCN on Cora. <bold>(B)</bold> Boosting-GCN on Citeseer. <bold>(C)</bold> Boosting-GCN on Pubmed. <bold>(D)</bold> GCN on Cora. <bold>(E)</bold> GCN on Citeseer. <bold>(F)</bold> GCN on Pubmed.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnbot-15-775688-g0006.tif"/>
</fig>
<p>Due to the sample imbalance, the classifier tends to divide the samples into the majority class, which is reflected by the fact that the last column of the confusion matrix usually has the maximum value (with the brightest color). Compared with GNN, Boosting-GNN improves the performance to a certain extent, especially on the Cora dataset. Based on the aggregation of base estimators, the values on the diagonal of the confusion matrix increase, and the values in the last column of the confusion matrix decrease.</p>
<p>In summary, Boosting-GNN integrates multiple GNN classifiers to reduce the effect of overfitting to a certain degree. Moreover, Boosting-GNN reduces the deviation caused by a single classifier and achieves better robustness. Boosting-GNN is an improvement of traditional GNN and makes AdaBoost compatible with GNN. Boosting-GNN achieves higher classification accuracy than a single GNN on imbalanced datasets with the same number of learning epochs.</p></sec>
<sec>
<title>4.8. Analysis of Training Time</title>
<p>In this section, we conduct a time-consuming analysis of the experiment. We measure the training time on an NVIDIA Tesla V100 GPU. The time required to train the original GCN model for 100 epochs is 6.11s. The time consumed by M-GCN and Boosting-GCN is shown in the <xref ref-type="table" rid="T4">Table 4</xref>. Boosting-GCN-t and Boosting-GCN-w/o denote Boosting-GCN with transfer learning and Boosting-GCN without migration learning, respectively.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Comparison of running time when using different number of GCN base classifiers.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="center"><bold>5-classifier</bold></th>
<th valign="top" align="center"><bold>7-classifier</bold></th>
<th valign="top" align="center"><bold>9-classifier</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">M-GCN</td>
<td valign="top" align="center">28.76 s</td>
<td valign="top" align="center">39.52 s</td>
<td valign="top" align="center">51.04 s</td>
</tr>
<tr>
<td valign="top" align="left">Boosting-GCN-t</td>
<td valign="top" align="center">10.44 s</td>
<td valign="top" align="center">13.43 s</td>
<td valign="top" align="center">18.03 s</td>
</tr>
<tr>
<td valign="top" align="left">Boosting-GCN-w/o</td>
<td valign="top" align="center">18.36 s</td>
<td valign="top" align="center">27.64 s</td>
<td valign="top" align="center">34.83 s</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>We use Cora and train each base classifier for 100 epochs</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>Compared to GCN, Boosting-GCN consumes exponentially more time. However, Boosting-GCN reduces the training time by about 50% compared to M-GCN. The application of transfer learning can significantly reduce the time consumed, and models can achieve similar accuracy.</p></sec></sec>
<sec sec-type="conclusions" id="s5">
<title>5. Conclusion</title>
<p>A multi-class AdaBoost for GNN, called Boosting-GNN, is proposed in this article. In Boosting-GNN, several GNNs are used as base estimators, which are trained sequentially. Also, the errors of a previous GNN are used to update the weights of samples for the next GNN to improve performance. The weights of training samples are incorporated in to the cross-entropy error function in the GNN back propagation learning algorithm. The appliance of transfer learning can significantly reduce the time consumed for computation. The performance of the proposed Boosting-GNN for processing imbalanced data is tested. The experimental results show that Boosting-GNN achieves better performance than state-of-the-arts on synthetic imbalanced datasets, with an average performance improvement of 4.5%.</p></sec>
<sec sec-type="data-availability" id="s6">
<title>Data Availability Statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: GitHub, <ext-link ext-link-type="uri" xlink:href="https://github.com/tkipf/gcn/tree/master/gcn/data">https://github.com/tkipf/gcn/tree/master/gcn/data</ext-link>.</p></sec>
<sec id="s7">
<title>Author Contributions</title>
<p>SS performed the data analyses and wrote the manuscript. KQ and SY designed the algorithm. LW and JC analyzed the data. BY did supervision and project administration. All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p></sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>This work was supported by the National Key R&#x00026;D Program of China under Grant No. 2017YFB1002502 and National Natural Science Foundation of China (Nos. 61701089, 61601518, and 61372172).</p></sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p></sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x00027;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p></sec> </body>
<back>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abu-El-Haija</surname> <given-names>S.</given-names></name> <name><surname>Kapoor</surname> <given-names>A.</given-names></name> <name><surname>Perozzi</surname> <given-names>B.</given-names></name> <name><surname>Lee</surname> <given-names>J.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;N-gcn: Multi-scale graph convolution for semi-supervised node classification,&#x0201D;</article-title> in <source>UAI</source> (Tel Aviv-Yafo).</citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bai</surname> <given-names>L.</given-names></name> <name><surname>Yao</surname> <given-names>L.</given-names></name> <name><surname>Li</surname> <given-names>C.</given-names></name> <name><surname>Wang</surname> <given-names>X.</given-names></name> <name><surname>Wang</surname> <given-names>C.</given-names></name></person-group> (<year>2020</year>). <article-title>Adaptive graph convolutional recurrent network for traffic forecasting</article-title>. <source>ArXiv, abs/2007.02842</source>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Blaszczynski</surname> <given-names>J.</given-names></name> <name><surname>Stefanowski</surname> <given-names>J.</given-names></name></person-group> (<year>2015</year>). <article-title>Neighbourhood sampling in bagging for imbalanced data</article-title>. <source>Neurocomputing</source> <volume>150</volume>, <fpage>529</fpage>&#x02013;<lpage>542</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2014.07.064</pub-id></citation>
</ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Buda</surname> <given-names>M.</given-names></name> <name><surname>Maki</surname> <given-names>A.</given-names></name> <name><surname>Mazurowski</surname> <given-names>M.</given-names></name></person-group> (<year>2018</year>). <article-title>A systematic study of the class imbalance problem in convolutional neural networks</article-title>. <source>Neural Netw</source>. <volume>106</volume>, <fpage>249</fpage>&#x02013;<lpage>259</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2018.07.011</pub-id><pub-id pub-id-type="pmid">30092410</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Byrd</surname> <given-names>J.</given-names></name> <name><surname>Lipton</surname> <given-names>Z. C.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;What is the effect of importance weighting in deep learning?&#x0201D;</article-title> in <source>ICML</source> (Long Beach, CA).</citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Carlson</surname> <given-names>A.</given-names></name> <name><surname>Betteridge</surname> <given-names>J.</given-names></name> <name><surname>Kisiel</surname> <given-names>B.</given-names></name> <name><surname>Settles</surname> <given-names>B.</given-names></name> <name><surname>Hruschka</surname> <given-names>E. R.</given-names></name> <name><surname>Mitchell</surname> <given-names>T. M.</given-names></name></person-group> (<year>2010</year>). <article-title>&#x0201C;Toward an architecture for never-ending language learning,&#x0201D;</article-title> in <source>AAAI</source> (Atlanta, GA).</citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chawla</surname> <given-names>N. V.</given-names></name> <name><surname>Bowyer</surname> <given-names>K.</given-names></name> <name><surname>Hall</surname> <given-names>L.</given-names></name> <name><surname>Kegelmeyer</surname> <given-names>W. P.</given-names></name></person-group> (<year>2002</year>). <article-title>Smote: Synthetic minority over-sampling technique</article-title>. <source>J. Artif. Intell. Res</source>. <volume>16</volume>, <fpage>321</fpage>&#x02013;<lpage>357</lpage>. <pub-id pub-id-type="doi">10.1613/jair.953</pub-id><pub-id pub-id-type="pmid">24088532</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Chawla</surname> <given-names>N. V.</given-names></name> <name><surname>Lazarevic</surname> <given-names>A.</given-names></name> <name><surname>Hall</surname> <given-names>L.</given-names></name> <name><surname>Bowyer</surname> <given-names>K.</given-names></name></person-group> (<year>2003</year>). <article-title>&#x0201C;Smoteboost: Improving prediction of the minority class in boosting,&#x0201D;</article-title> in <source>Knowledge Discovery in Databases: PKDD 2003. PKDD 2003. Lecture Notes in Computer Science</source>, <volume>Vol. 2838</volume>, eds N. Lavra, D. Gamberger, L. Todorovski, and H. Blockeel (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>).</citation>
</ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>L.</given-names></name> <name><surname>Wu</surname> <given-names>L.</given-names></name> <name><surname>Hong</surname> <given-names>R.</given-names></name> <name><surname>Zhang</surname> <given-names>K.</given-names></name> <name><surname>Wang</surname> <given-names>M.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Revisiting graph based collaborative filtering: a linear residual graph convolutional network approach,&#x0201D;</article-title> in <source>Proceedings of the AAAI Conference on Artificial Intelligence</source> (New York, NY), <fpage>27</fpage>&#x02013;<lpage>34</lpage>.</citation>
</ref>
<ref id="B10">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Cui</surname> <given-names>Y.</given-names></name> <name><surname>Jia</surname> <given-names>M.</given-names></name> <name><surname>Lin</surname> <given-names>T.-Y.</given-names></name> <name><surname>Song</surname> <given-names>Y.</given-names></name> <name><surname>Belongie</surname> <given-names>S. J.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Class-balanced loss based on effective number of samples,&#x0201D;</article-title> in <source>2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Long Beach, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>9260</fpage>&#x02013;<lpage>9269</lpage>.</citation>
</ref>
<ref id="B11">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Cui</surname> <given-names>Y.</given-names></name> <name><surname>Song</surname> <given-names>Y.</given-names></name> <name><surname>Sun</surname> <given-names>C.</given-names></name> <name><surname>Howard</surname> <given-names>A.</given-names></name> <name><surname>Belongie</surname> <given-names>S. J.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;Large scale fine-grained categorization and domain-specific transfer learning,&#x0201D;</article-title> in <source>2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition</source> (<publisher-loc>Salt Lake City, UT</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4109</fpage>&#x02013;<lpage>4118</lpage>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Douzas</surname> <given-names>G.</given-names></name> <name><surname>Ba&#x000E7; ao</surname> <given-names>F.</given-names></name></person-group> (<year>2019</year>). <article-title>Geometric smote a geometrically enhanced drop-in replacement for smote</article-title>. <source>Inf. Sci</source>. <volume>501</volume>, <fpage>118</fpage>&#x02013;<lpage>135</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2019.06.007</pub-id></citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Galar</surname> <given-names>M.</given-names></name> <name><surname>Fern&#x000E1;ndez</surname> <given-names>A.</given-names></name> <name><surname>Tartas</surname> <given-names>E. B.</given-names></name> <name><surname>Herrera</surname> <given-names>F.</given-names></name></person-group> (<year>2013</year>). <article-title>Eusboost: Enhancing ensembles for highly imbalanced data-sets by evolutionary undersampling</article-title>. <source>Pattern Recognit</source>. <volume>46</volume>, <fpage>3460</fpage>&#x02013;<lpage>3471</lpage>. <pub-id pub-id-type="doi">10.1016/j.patcog.2013.05.006</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gupta</surname> <given-names>A.</given-names></name> <name><surname>Doll&#x000E1;r</surname> <given-names>P.</given-names></name> <name><surname>Girshick</surname> <given-names>R. B.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Lvis: a dataset for large vocabulary instance segmentation,&#x0201D;</article-title> in <source>2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Long Beach, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>5351</fpage>&#x02013;<lpage>5359</lpage>.</citation>
</ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hai-xiang</surname> <given-names>G.</given-names></name> <name><surname>Yi-jing</surname> <given-names>L.</given-names></name> <name><surname>Ya-nan</surname> <given-names>L.</given-names></name> <name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Jin-ling</surname> <given-names>L.</given-names></name></person-group> (<year>2016</year>). <article-title>Bpso-adaboost-knn ensemble learning algorithm for multi-class imbalanced data classification</article-title>. <source>Eng. Appl. Artif. Intell</source>. <volume>49</volume>, <fpage>176</fpage>&#x02013;<lpage>193</lpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2015.09.011</pub-id></citation>
</ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hamilton</surname> <given-names>W. L.</given-names></name> <name><surname>Ying</surname> <given-names>Z.</given-names></name> <name><surname>Leskovec</surname> <given-names>J.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Inductive representation learning on large graphs,&#x0201D;</article-title> in <source>NIPS</source> (Long Beach, CA).<pub-id pub-id-type="pmid">34111002</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Han</surname> <given-names>H.</given-names></name> <name><surname>Wang</surname> <given-names>W.</given-names></name> <name><surname>Mao</surname> <given-names>B.</given-names></name></person-group> (<year>2005</year>). <article-title>&#x0201C;Borderline-smote: a new over-sampling method in imbalanced data sets learning,&#x0201D;</article-title> in <source>Advances in Intelligent Computing. ICIC 2005. Lecture Notes in Computer Science</source>, <volume>Vol. 3644</volume>, eds D. S. Huang, X. P. Zhang, and G. B. Huang (<publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>).</citation>
</ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hastie</surname> <given-names>T.</given-names></name> <name><surname>Rosset</surname> <given-names>S.</given-names></name> <name><surname>Zhu</surname> <given-names>J.</given-names></name> <name><surname>Zou</surname> <given-names>H.</given-names></name></person-group> (<year>2009</year>). <article-title>Multi-class adaboost</article-title>. <source>Stat. Interface</source>. <volume>2</volume>, <fpage>349</fpage>&#x02013;<lpage>360</lpage>. <pub-id pub-id-type="doi">10.4310/SII.2009.v2.n3.a8</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>He</surname> <given-names>H.</given-names></name> <name><surname>Bai</surname> <given-names>Y.</given-names></name> <name><surname>Garcia</surname> <given-names>E. A.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name></person-group> (<year>2008</year>). <article-title>&#x0201C;Adasyn: adaptive synthetic sampling approach for imbalanced learning,&#x0201D;</article-title> in <source>2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence)</source> (<publisher-loc>Hong Kong</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1322</fpage>&#x02013;<lpage>1328</lpage>.</citation>
</ref>
<ref id="B20">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>He</surname> <given-names>K.</given-names></name> <name><surname>Zhang</surname> <given-names>X.</given-names></name> <name><surname>Ren</surname> <given-names>S.</given-names></name> <name><surname>Sun</surname> <given-names>J.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Deep residual learning for image recognition,&#x0201D;</article-title> in <source>2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Las Vegas, NV</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>770</fpage>&#x02013;<lpage>778</lpage>.<pub-id pub-id-type="pmid">32166560</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>W.</given-names></name> <name><surname>Yan</surname> <given-names>H.</given-names></name> <name><surname>Cheng</surname> <given-names>K.</given-names></name> <name><surname>Wang</surname> <given-names>C.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <etal/></person-group>. (<year>2021a</year>). <article-title>A neural decoding algorithm that generates language from visual activity evoked by natural images</article-title>. <source>Neural Netw</source>. <volume>144</volume>, <fpage>90</fpage>&#x02013;<lpage>100</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2021.08.006</pub-id><pub-id pub-id-type="pmid">34478941</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>W.</given-names></name> <name><surname>Yan</surname> <given-names>H.</given-names></name> <name><surname>Cheng</surname> <given-names>K.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <name><surname>Wang</surname> <given-names>C.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2021b</year>). <article-title>A dual&#x02013;channel language decoding from brain activity with progressive transfer training</article-title>. <source>Hum. Brain Mapp</source>. <volume>42</volume>, <fpage>5089</fpage>&#x02013;<lpage>5100</lpage>. <pub-id pub-id-type="doi">10.1002/hbm.25603</pub-id><pub-id pub-id-type="pmid">34314088</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Japkowicz</surname> <given-names>N.</given-names></name> <name><surname>Stephen</surname> <given-names>S.</given-names></name></person-group> (<year>2002</year>). <article-title>The class imbalance problem: a systematic study</article-title>. <source>Intell. Data Anal</source>. <volume>6</volume>, <fpage>429</fpage>&#x02013;<lpage>449</lpage>. <pub-id pub-id-type="doi">10.3233/IDA-2002-6504</pub-id><pub-id pub-id-type="pmid">30092410</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khoshgoftaar</surname> <given-names>T.</given-names></name> <name><surname>Fazelpour</surname> <given-names>A.</given-names></name> <name><surname>Dittman</surname> <given-names>D.</given-names></name> <name><surname>Napolitano</surname> <given-names>A.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;Ensemble vs. data sampling: which option is best suited to improve classification performance of imbalanced bioinformatics data?&#x0201D;</article-title> in <source>2015 IEEE 27th International Conference on Tools with Artificial Intelligence (ICTAI)</source> (Vietri sul Mare, SA), <fpage>705</fpage>&#x02013;<lpage>712</lpage>.</citation>
</ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kipf</surname> <given-names>T. N.</given-names></name> <name><surname>Welling</surname> <given-names>M.</given-names></name></person-group> (<year>2016</year>). <article-title>Semi-supervised classification with graph convolutional networks</article-title>. <source>ICLR, abs/1609.02907</source>.<pub-id pub-id-type="pmid">29890408</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>G.</given-names></name> <name><surname>M&#x000FC;ller</surname> <given-names>M.</given-names></name> <name><surname>Thabet</surname> <given-names>A. K.</given-names></name> <name><surname>Ghanem</surname> <given-names>B.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Deepgcns: can gcns go as deep as cnns?&#x0201D;</article-title> in <source>2019 IEEE/CVF International Conference on Computer Vision (ICCV)</source> (Seoul), <fpage>9266</fpage>&#x02013;<lpage>9275</lpage>.<pub-id pub-id-type="pmid">33872143</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>J.</given-names></name> <name><surname>Peng</surname> <given-names>H.</given-names></name> <name><surname>Cao</surname> <given-names>Y.</given-names></name> <name><surname>Dou</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>H.</given-names></name> <name><surname>Yu</surname> <given-names>P. S.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Higher-order attribute-enhancing heterogeneous graph neural networks</article-title>. <source>ArXiv, abs/2104.07892</source>. <pub-id pub-id-type="doi">10.1109/TKDE.2021.3074654</pub-id><pub-id pub-id-type="pmid">34449398</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lin</surname> <given-names>T.-Y.</given-names></name> <name><surname>Goyal</surname> <given-names>P.</given-names></name> <name><surname>Girshick</surname> <given-names>R. B.</given-names></name> <name><surname>He</surname> <given-names>K.</given-names></name> <name><surname>Doll&#x000E1;r</surname> <given-names>P.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Focal loss for dense object detection,&#x0201D;</article-title> in <source>2017 IEEE International Conference on Computer Vision (ICCV)</source> (<publisher-loc>Venice</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2999</fpage>&#x02013;<lpage>3007</lpage>.<pub-id pub-id-type="pmid">30040631</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname> <given-names>T.-Y.</given-names></name> <name><surname>Maire</surname> <given-names>M.</given-names></name> <name><surname>Belongie</surname> <given-names>S. J.</given-names></name> <name><surname>Hays</surname> <given-names>J.</given-names></name> <name><surname>Perona</surname> <given-names>P.</given-names></name> <name><surname>Ramanan</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>Microsoft coco: common objects in context</article-title>. <source>ECCV, abs/1405.0312</source>. <pub-id pub-id-type="doi">10.1007/978-3-319-10602-1_48</pub-id><pub-id pub-id-type="pmid">33159948</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lv</surname> <given-names>Q.</given-names></name> <name><surname>Feng</surname> <given-names>W.</given-names></name> <name><surname>Quan</surname> <given-names>Y.</given-names></name> <name><surname>Dauphin</surname> <given-names>G.</given-names></name> <name><surname>Gao</surname> <given-names>L.</given-names></name> <name><surname>dao Xing</surname> <given-names>M.</given-names></name></person-group> (<year>2021</year>). <article-title>Enhanced-random-feature-subspace-based ensemble cnn for the imbalanced hyperspectral image classification</article-title>. <source>IEEE J. Select. Top. Appl. Earth Observat. Remote Sens</source>. <volume>14</volume>, <fpage>3988</fpage>&#x02013;<lpage>3999</lpage>. <pub-id pub-id-type="doi">10.1109/JSTARS.2021.3069013</pub-id><pub-id pub-id-type="pmid">27295638</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nanni</surname> <given-names>L.</given-names></name> <name><surname>Fantozzi</surname> <given-names>C.</given-names></name> <name><surname>Lazzarini</surname> <given-names>N.</given-names></name></person-group> (<year>2015</year>). <article-title>Coupling different methods for overcoming the class imbalance problem</article-title>. <source>Neurocomputing</source> <volume>158</volume>, <fpage>48</fpage>&#x02013;<lpage>61</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2015.01.068</pub-id></citation>
</ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peng</surname> <given-names>H.</given-names></name> <name><surname>Zhang</surname> <given-names>R.</given-names></name> <name><surname>Dou</surname> <given-names>Y.</given-names></name> <name><surname>Yang</surname> <given-names>R.</given-names></name> <name><surname>Zhang</surname> <given-names>J.</given-names></name> <name><surname>Yu</surname> <given-names>P. S.</given-names></name></person-group> (<year>2021</year>). <article-title>Reinforced neighborhood selection guided multi-relational graph neural networks</article-title>. <source>ArXiv, abs/2104.07886</source>.</citation>
</ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ramentol</surname> <given-names>E.</given-names></name> <name><surname>Mota</surname> <given-names>Y.</given-names></name> <name><surname>Bello</surname> <given-names>R.</given-names></name> <name><surname>Herrera</surname> <given-names>F.</given-names></name></person-group> (<year>2011</year>). <article-title>Smote-rsb*: a hybrid preprocessing approach based on oversampling and undersampling for high imbalanced data-sets using smote and rough sets theory</article-title>. <source>Knowl. Inf. Syst</source>. <volume>33</volume>, <fpage>245</fpage>&#x02013;<lpage>265</lpage>. <pub-id pub-id-type="doi">10.1007/s10115-011-0465-6</pub-id></citation>
</ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Russakovsky</surname> <given-names>O.</given-names></name> <name><surname>Deng</surname> <given-names>J.</given-names></name> <name><surname>Su</surname> <given-names>H.</given-names></name> <name><surname>Krause</surname> <given-names>J.</given-names></name> <name><surname>Satheesh</surname> <given-names>S.</given-names></name> <name><surname>Ma</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>Imagenet large scale visual recognition challenge</article-title>. <source>Int. J. Comput. Vis</source>. <volume>115</volume>, <fpage>211</fpage>&#x02013;<lpage>252</lpage>. <pub-id pub-id-type="doi">10.1007/s11263-015-0816-y</pub-id></citation>
</ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Seiffert</surname> <given-names>C.</given-names></name> <name><surname>Khoshgoftaar</surname> <given-names>T.</given-names></name> <name><surname>Hulse</surname> <given-names>J.</given-names></name> <name><surname>Napolitano</surname> <given-names>A.</given-names></name></person-group> (<year>2010</year>). <article-title>Rusboost: a hybrid approach to alleviating class imbalance</article-title>. <source>IEEE Trans. Syst. Man Cybern. A Syst. Hum</source>. <volume>40</volume>, <fpage>185</fpage>&#x02013;<lpage>197</lpage>. <pub-id pub-id-type="doi">10.1109/TSMCA.2009.2029559</pub-id><pub-id pub-id-type="pmid">27295638</pub-id></citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sen</surname> <given-names>P.</given-names></name> <name><surname>Namata</surname> <given-names>G.</given-names></name> <name><surname>Bilgic</surname> <given-names>M.</given-names></name> <name><surname>Getoor</surname> <given-names>L.</given-names></name> <name><surname>Gallagher</surname> <given-names>B.</given-names></name> <name><surname>Eliassi-Rad</surname> <given-names>T.</given-names></name></person-group> (<year>2008</year>). <article-title>Collective classification in network data</article-title>. <source>AI Mag</source>. <volume>29</volume>, <fpage>93</fpage>&#x02013;<lpage>106</lpage>. <pub-id pub-id-type="doi">10.1609/aimag.v29i3.2157</pub-id></citation>
</ref>
<ref id="B37">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shen</surname> <given-names>L.</given-names></name> <name><surname>Lin</surname> <given-names>Z.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Relay backpropagation for effective learning of deep convolutional neural networks,&#x0201D;</article-title> in <source>Computer Vision&#x02013;ECCV 2016. ECCV 2016. Lecture Notes in Computer Science</source>, <volume>Vol. 9911</volume>, eds B. Leibe, J. Matas, N. Sebe, and M. Welling (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>467</fpage>&#x02013;<lpage>482</lpage>.</citation>
</ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname> <given-names>K.</given-names></name> <name><surname>Lin</surname> <given-names>Z.</given-names></name> <name><surname>Zhu</surname> <given-names>Z.</given-names></name></person-group> (<year>2021</year>). <article-title>Adagcn: adaboosting graph convolutional networks into deep models</article-title>. <source>ArXiv, abs/1908.05081</source>.</citation>
</ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taherkhani</surname> <given-names>A.</given-names></name> <name><surname>Cosma</surname> <given-names>G.</given-names></name> <name><surname>Mcginnity</surname> <given-names>T.</given-names></name></person-group> (<year>2020</year>). <article-title>Adaboost-cnn: An adaptive boosting algorithm for convolutional neural networks to classify multi-class imbalanced datasets using transfer learning</article-title>. <source>Neurocomputing</source> <volume>404</volume>, <fpage>351</fpage>&#x02013;<lpage>366</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2020.03.064</pub-id></citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Velickovic</surname> <given-names>P.</given-names></name> <name><surname>Cucurull</surname> <given-names>G.</given-names></name> <name><surname>Casanova</surname> <given-names>A.</given-names></name> <name><surname>Romero</surname> <given-names>A.</given-names></name> <name><surname>Li&#x000F2;</surname> <given-names>P.</given-names></name> <name><surname>Bengio</surname> <given-names>Y.</given-names></name></person-group> (<year>2018</year>). <article-title>Graph attention networks</article-title>. <source>ICLR, abs</source>/1710.10903.</citation>
</ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>X.</given-names></name> <name><surname>Ji</surname> <given-names>H.</given-names></name> <name><surname>Shi</surname> <given-names>C.</given-names></name> <name><surname>Wang</surname> <given-names>B.</given-names></name> <name><surname>Cui</surname> <given-names>P.</given-names></name> <name><surname>Yu</surname> <given-names>P.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>&#x0201C;Heterogeneous graph attention network,&#x0201D;</article-title> in <source>The World Wide Web Conference</source> (San Francisco, CA).<pub-id pub-id-type="pmid">34585231</pub-id></citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>Y.-X.</given-names></name> <name><surname>Ramanan</surname> <given-names>D.</given-names></name> <name><surname>Hebert</surname> <given-names>M.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Learning to model the tail,&#x0201D;</article-title> in <source>Advances in Neural Information Processing Systems 30 (NIPS 2017)</source> (Long Beach, CA).</citation>
</ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wei</surname> <given-names>X.-S.</given-names></name> <name><surname>Cui</surname> <given-names>Q.</given-names></name> <name><surname>Yang</surname> <given-names>L.</given-names></name> <name><surname>Wang</surname> <given-names>P.</given-names></name> <name><surname>Liu</surname> <given-names>L.</given-names></name></person-group> (<year>2019</year>). <article-title>Rpc: a large-scale retail product checkout dataset</article-title>. <source>ArXiv, abs/1901.07249</source>.</citation>
</ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname> <given-names>F.</given-names></name> <name><surname>Zhang</surname> <given-names>T.</given-names></name> <name><surname>de Souza</surname> <given-names>A. H.</given-names></name> <name><surname>Fifty</surname> <given-names>C.</given-names></name> <name><surname>Yu</surname> <given-names>T.</given-names></name> <name><surname>Weinberger</surname> <given-names>K. Q.</given-names></name></person-group> (<year>2019</year>). <article-title>Simplifying graph convolutional networks</article-title>. <source>ArXiv, abs/1902.07153</source>.</citation>
</ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname> <given-names>Z.</given-names></name> <name><surname>Cohen</surname> <given-names>W. W.</given-names></name> <name><surname>Salakhutdinov</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>Revisiting semi-supervised learning with graph embeddings</article-title>. <source>ICML, abs/1603.08861</source>.<pub-id pub-id-type="pmid">33450251</pub-id></citation></ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yin</surname> <given-names>X.</given-names></name> <name><surname>Yu</surname> <given-names>X.</given-names></name> <name><surname>Sohn</surname> <given-names>K.</given-names></name> <name><surname>Liu</surname> <given-names>X.</given-names></name> <name><surname>Chandraker</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Feature transfer learning for face recognition with under-represented data,&#x0201D;</article-title> in <source>2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (Long Beach, CA), <fpage>5697</fpage>&#x02013;<lpage>5706</lpage>.</citation>
</ref>
<ref id="B47">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>D.</given-names></name> <name><surname>Xiong</surname> <given-names>W.</given-names></name> <name><surname>Droppo</surname> <given-names>J.</given-names></name> <name><surname>Stolcke</surname> <given-names>A.</given-names></name> <name><surname>Ye</surname> <given-names>G.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>Deep convolutional neural networks with layer-wise context expansion and attention</article-title>. <source>Proc. Interspeech</source> <volume>2016</volume>, <fpage>17</fpage>&#x02013;<lpage>21</lpage>. <pub-id pub-id-type="doi">10.21437/Interspeech.2016-251</pub-id></citation>
</ref>
<ref id="B48">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>W.</given-names></name> <name><surname>Qin</surname> <given-names>Z.</given-names></name></person-group> (<year>2020</year>). <article-title>Graph convolutional network for recommendation with low-pass collaborative filters</article-title>. <source>ArXiv, abs/2006.15516</source>.</citation>
</ref>
<ref id="B49">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhou</surname> <given-names>B.</given-names></name> <name><surname>Lapedriza</surname> <given-names>&#x000C0;.</given-names></name> <name><surname>Khosla</surname> <given-names>A.</given-names></name> <name><surname>Oliva</surname> <given-names>A.</given-names></name> <name><surname>Torralba</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Places: a 10 million image database for scene recognition</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell</source>. <volume>40</volume>, <fpage>1452</fpage>&#x02013;<lpage>1464</lpage>. <pub-id pub-id-type="doi">10.1109/TPAMI.2017.2723009</pub-id><pub-id pub-id-type="pmid">28692961</pub-id></citation></ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhou</surname> <given-names>Q.</given-names></name> <name><surname>Sun</surname> <given-names>B.</given-names></name> <name><surname>Song</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;K-means clustering based undersampling for lower back pain data,&#x0201D;</article-title> in <source>Proceedings of the 2020 3rd International Conference on Big Data Technologies</source> (Qingdao).</citation>
</ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zitnik</surname> <given-names>M.</given-names></name> <name><surname>Leskovec</surname> <given-names>J.</given-names></name></person-group> (<year>2017</year>). <article-title>Predicting multicellular function through multi-layer tissue networks</article-title>. <source>Bioinformatics</source> <volume>33</volume>, <fpage>i190</fpage>&#x02013;<lpage>i198</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btx252</pub-id><pub-id pub-id-type="pmid">28881986</pub-id></citation></ref>
<ref id="B52">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zou</surname> <given-names>Y.</given-names></name> <name><surname>Yu</surname> <given-names>Z.</given-names></name> <name><surname>Kumar</surname> <given-names>B. V.</given-names></name> <name><surname>Wang</surname> <given-names>J.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;Unsupervised domain adaptation for semantic segmentation via class-balanced self-training,&#x0201D;</article-title> in <source>ECCV</source> (Munich).</citation>
</ref>
</ref-list> 
</back>
</article>