Distributed graph filtering method, apparatus, device and computer readable storage medium
By employing a distributed filtering method based on ARMA graph filters, and utilizing the exchange of information between adjacent vertices and the parallel iteration of multiple first-order ARMA graph filters, the accuracy and efficiency issues of large-scale network graph filtering are resolved, achieving highly efficient graph filtering results.
Patent Information
- Application Number
- CN202111185166.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-12
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2041-10-12
AI Technical Summary
Existing graph filtering methods are not effective for large-scale network graphs. Polynomial graph filters have low design accuracy and high computational cost, while ARMA graph filters have high computational cost and it is difficult to guarantee design accuracy and efficiency.
A distributed filtering method using ARMA graph filters is proposed. By exchanging information between adjacent vertices in the network graph and using multiple first-order ARMA graph filters in parallel iteration, a distributed filtering algorithm is constructed to achieve graph filtering. This includes acquiring the input signal, weighting the signal, and determining the output signal that meets the preset convergence conditions.
It achieves efficient and accurate graph filtering in large-scale network graphs, improves filtering effect, reduces computational cost and response speed, and is suitable for complex networks such as sensor networks, social networks and transportation networks.
Smart Images

Figure CN115964613B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of big data, and relates to but is not limited to a distributed graph filtering method and device, equipment and a computer readable storage medium. BACKGROUND
[0002] With the advent of the era of Internet of Everything, network generates a large amount of data signals at an unprecedented speed. These data signals are different from time series or regular signals, and have complex and irregular structures. The signal processing method in the related art cannot meet the requirements, and therefore a new signal processing theory and method are urgently needed.
[0003] There are two graph filtering methods in the related art. One is a distributed graph filtering of a polynomial graph filter, but this method is only applicable to undirected graph structures and has low design precision. The other is a centralized graph filtering, which produces large calculation and design errors, cannot guarantee design precision and efficiency, and has poor graph filtering effect. SUMMARY
[0004] Based on the problems in the related art, the present application provides a distributed graph filtering method, device and computer readable storage medium.
[0005] The technical solution of the present application is implemented as follows:
[0006] The present application provides a distributed graph filtering method, comprising:
[0007] In the current iteration process of the network graph, the input signal of the network graph in the current iteration process and the input signal of each of the at least two vertices in the network graph are obtained;
[0008] The output signal of each of the at least two vertices in the last iteration process is obtained;
[0009] The input signal of each of the vertices and the output signal of the adjacent vertices in the last iteration process are weighted according to the distributed filtering algorithm of the ARMA graph filter, to obtain the output signal of each of the vertices in the current iteration process;
[0010] The output signal of the network graph is determined according to the output signals of the at least two vertices in the current iteration process and the input signal of the network graph;
[0011] When the output signal of the network graph meets a preset convergence condition, the output signal of the network graph is determined as the filtered signal of the network graph.
[0012] The present application provides a distributed graph filtering device, comprising:
[0013] The first obtaining module is configured to obtain, in the current iteration process of the network graph, an input signal of the network graph in the current iteration process and an input signal of each of at least two vertices in the network graph;
[0014] The second obtaining module is configured to obtain an output signal of each of the at least two vertices in the last iteration process;
[0015] The weighting module is configured to weight the input signal of each of the vertices and the output signal of the adjacent vertex in the last iteration process according to a distributed filtering algorithm of the ARMA graph filter, to obtain an output signal of each of the vertices in the current iteration process;
[0016] The first determining module is configured to determine an output signal of the network graph according to the output signals of the at least two vertices in the current iteration process and the input signal of the network graph;
[0017] The second determining module is configured to determine the output signal of the network graph as a filtered signal of the network graph when the output signal of the network graph satisfies a preset convergence condition.
[0018] The present application provides a distributed graph filtering device, comprising:
[0019] The memory is configured to store executable instructions, and the processor is configured to execute the executable instructions stored in the memory to implement the distributed graph filtering method.
[0020] The present application provides a computer readable storage medium storing executable instructions, which are configured to cause a processor to execute the executable instructions to implement the distributed graph filtering method.
[0021] The distributed graph filtering method, device and computer readable storage medium provided by the present application can obtain the output signal of each vertex in the current iteration process by weighting the input signal of each vertex in the network graph and the output signal of the adjacent vertex in the last iteration process according to the distributed filtering algorithm of the ARMA graph filter, determine the output signal of the network graph according to the output signals of the at least two vertices in the current iteration process and the input signal of the network graph, and determine the output signal of the network graph in the current iteration process as the filtered signal of the network graph after filtering when the output signal of the network graph satisfies the preset convergence condition. Thus, in the distributed graph filtering method provided by the present application, the filtering can be realized by information exchange between the adjacent vertices in the network graph, so that the distributed graph filtering method provided by the present application can be applied to large-scale network graphs, and the distributed filtering method based on the ARMA graph filter can guarantee the design precision and efficiency of the graph filter and improve the filtering effect. BRIEF DESCRIPTION OF DRAWINGS
[0022] Figure 1 is an optional flowchart of the distributed graph filtering method provided by the present application;
[0023] Figure 2 is an optional flowchart of the distributed graph filtering method provided by the present application;
[0024] Figure 3 is an optional flowchart of the distributed graph filtering method provided by the present application;
[0025] Figure 4 is an optional flowchart of the distributed graph filtering method provided by the present application;
[0026] Figure 5 is a traffic network graph filtering result graph provided by the present application;
[0027] Figure 6 is a social network graph filtering result graph provided by the present application;
[0028] Figure 7 is a component structure schematic diagram of the distributed graph filtering device provided by the present application;
[0029] Figure 8 is a component structure schematic diagram of the distributed graph filtering device provided by the present application. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical scheme and advantages of the present application more clear, the present application will be described in further detail below with reference to the drawings, and the described embodiments should not be regarded as limiting the present application, and all other embodiments obtained by those skilled in the art without making creative efforts fall within the scope of protection of the present application.
[0031] Complex networks (for example, sensor network graphs, social network graphs and traffic transportation network graphs, etc.) exist widely in human daily life, and a graph as a tool for describing the complex relationship of high-dimensional signals has an unparalleled advantage in processing the data generated on these networks, so the graph is highly concerned in the fields of signal processing and big data analysis. As a new field of signal processing, graph signal processing overcomes the difficulties of traditional digital signal processing theory in the face of complex and irregular networks, and provides a new method for modeling and analyzing and processing irregular data. In addition, graph signal processing can also be used to describe and process traditional regular signals (for example, traditional time series signals, images and videos, etc.), so it has a relatively wide range of application. However, in the field of graph signal processing, the graph signal structure often carries noise in the transmission process, which will seriously affect the subsequent graph signal processing, so in the era of big data and actual application, it is often necessary to perform graph filtering preprocessing on the graph structure signal. Figure 1It is a transportation network diagram in related technologies.
[0032] Graph filters, as a key tool in graph signal processing, are frequently used for tasks such as graph signal filtering. Similar to time-domain filters, graph filters process signals on a graph structure by selectively amplifying or attenuating Fourier coefficients. Therefore, in the field of graph signal processing, graph filters are often used to solve graph filtering problems.
[0033] In graphical filters, the Finite Impulse Response (FIR) graphical filter corresponds to the FIR filter in traditional digital signal processing. It uses the polynomial form of the graphical shift operator as the filter response, and is therefore also called a polynomial graphical filter. Another type of graphical filter is the Infinite Impulse Response (IIR) graphical filter, such as the Autoregressive Moving Average (ARMA) graphical filter and the Gradient Descent IIR graphical filter.
[0034] In the field of graph signal processing, graph filtering mainly consists of two steps: Step 1, designing a graph filter to meet design specifications; and Step 2, implementing efficient graph filtering using the graph filter designed in Step 1. Step 1 essentially involves obtaining the graph filter coefficients through an algorithm under a selected design standard (which could be low-pass, high-pass, or band-pass filtering), thereby ensuring that the frequency domain response of the resulting graph filter has minimal error compared to the ideal frequency domain response. Step 2 is essentially the process of obtaining the graph output signal from the graph input signal through the graph filter. Step 2 can be implemented in two ways: centralized graph filtering and distributed graph filtering.
[0035] There are two graph filtering methods in related technologies. The first is distributed graph filtering using polynomial graph filters. This involves designing a polynomial graph filter under selected design criteria and obtaining its coefficients, then performing distributed graph filtering based on Chebyshev polynomial approximation theory. The second method is centralized graph filtering using ARMA graph filters. This involves designing an ARMA graph filter and then performing centralized graph filtering based on it.
[0036] However, using polynomial graph filters for distributed graph filtering has the following drawbacks: 1. The limitations of polynomial graph filters compared to ARMA graph filters: First, the signal output at each vertex of a polynomial graph filter is a linear combination of the input signals of that vertex and its neighboring vertices; inputs from outside the neighborhood do not directly affect its output. Therefore, the output of a polynomial graph filter at each vertex does not represent the global information of the input signal. Second, the interpolation and extrapolation performance of higher-order polynomials is poor, making the output of a polynomial graph filter relatively sensitive to errors and changes in the graph topology. Finally, to achieve the same design accuracy as ARMA graph filters, the order of the polynomial graph filter needs to be increased, leading to increased implementation cost and response speed.
[0037] 2. The main algorithm used in distributed graph filtering schemes for polynomial graph filters is the Chebyshev polynomial approximation. Originally a distributed graph signal processing algorithm, the Chebyshev polynomial approximation technique was applied to the design of frequency-selective polynomial graph filters. This method obtains the design result without complex calculations. However, this method is only applicable to undirected graph structures and has relatively low design accuracy.
[0038] Because ARMA graph filters can be designed without relying on the graph's topology, they offer greater freedom and research value compared to other IIR graph filters. Furthermore, in the field of big data, graph structures often change over time, and ARMA graph filters can effectively track these changes in graph signal characteristics. Finally, to maintain consistent design accuracy, ARMA graph filters typically require fewer filter orders, reducing implementation costs and response speed. Therefore, these three points underscore the higher application value of ARMA graph filters in the field of graph filtering.
[0039] While ARMA graph filters offer some advantages over polynomial graph filters, centralized graph filtering of ARMA graph filters still suffers from the following drawbacks: 1. Design-related drawbacks: The design phase often employs two algorithms: Shank-based methods and Prony's least squares (LS) algorithm. Shank-based methods first calculate the denominator polynomial coefficients using polynomial regression, then solve the least squares problem to determine the numerator polynomial coefficients. This method incurs significant computational overhead and design errors, ultimately resulting in poor graph filtering performance. Prony's least squares (LS) algorithm transforms the design problem from the frequency domain to the graph filter coefficient domain, but it only considers error correction, thus reducing the design accuracy of the ARMA graph filter and significantly degrading its performance. Furthermore, it is difficult for either of these design algorithms to simultaneously guarantee both design accuracy and computational efficiency.
[0040] 2. Disadvantages of centralized graph filtering: Graph filtering can be mainly divided into centralized and distributed methods. Centralized methods are simpler to implement, but they require data to be transmitted to a computing center before graph signal filtering. Therefore, this method cannot update the data in each iteration, making it difficult to process signal filtering on large-scale graph networks.
[0041] Based on the problems existing in related technologies, this application provides a distributed graph filtering method. In the distributed graph filtering method provided by this application, adjacent vertices in the network graph can achieve filtering through information exchange, making the distributed graph filtering method provided by this application applicable to large-scale network graphs. Moreover, the distributed filtering method based on ARMA graph filters in this application can ensure the design accuracy and efficiency of graph filters, improve the filtering effect, and solve the problem that ARMA graph filters are difficult to implement graph signal filtering using distributed filtering methods.
[0042] Figure 1 This is an optional flowchart of the distributed graph filtering method provided in this application. See [link / reference]. Figure 1 The distributed graph filtering method provided in this application will combine Figure 1 The steps shown are explained.
[0043] Step S101: During the current iteration of the network graph, obtain the input signal of the network graph during the current iteration and the input signal of each vertex in the network graph, which includes at least two vertices.
[0044] In this application, the method for filtering the network graph can be a distributed filtering method based on ARMA graph filters. The implementation of this distributed filtering method is based on at least two first-order ARMA graph filters, which are iterated in parallel to obtain the distributed filtering method provided in this application.
[0045] In some embodiments, distributed filtering utilizes the information of each vertex in the network graph, along with the information of its neighboring vertices, to obtain the filtered output signal of the entire network graph. Therefore, the distributed graph filtering method provided in this application requires obtaining the input signal of the network graph, as well as the input signal of each vertex in the network graph, i.e., the local signal of each vertex.
[0046] Step S102: Obtain the output signal of each of the at least two vertices in the previous iteration.
[0047] In some embodiments, the output signal of each vertex is obtained by weighted combination of the local signal of that vertex and the output signals of the adjacent vertices in the previous iteration. Therefore, before filtering the network graph, it is necessary to obtain the output signal of each of at least two vertices in the previous iteration.
[0048] In some embodiments, graph vertices can not only directly access network graph signals, but also indirectly access signals of their neighboring graph vertices.
[0049] Step S103: Weight the input signal of each vertex and the output signal of the adjacent vertex in the previous iteration according to the distributed filtering algorithm of ARMA graph filter to obtain the output signal of each vertex in the current iteration.
[0050] In some embodiments, the distributed filtering algorithm of the ARMA graph filter provided in this application is obtained by parallel iteration of multiple first-order ARMA graph filters. The first-order ARMA graph filter has a simple structure and can be used as the basic construction of ARMA graph filters of any order. The distributed implementation process of the first-order ARMA graph filter is shown in formulas (1) and (2):
[0051]
[0052] z t+1 =y t+1 +cx (2)
[0053] Where x refers to the input signal of a vertex; x refers to the input signal of the network graph; S refers to the graph shift operator; y t+1 =[y t+1,1 y t+1,2 , ..., y t+1,N ] T It is the output signal of the vertex of the first-order ARMA graph filter at time t+1; z t+1 =[z t+1,1 , z t+1,2 , ..., z t+1,N ] T It is the output signal of the network graph of the first-order ARMA graphical filter at time t+1; ψ, c is a coefficient.
[0054] By iterating multiple first-order ARMA graph filters in parallel, the distributed filtering algorithm of the ARMA graph filter provided in this application is obtained, as shown in formulas (3) and (4):
[0055]
[0056]
[0057] Where k = 1, ..., k represents different first-order ARMA graph filters; x refers to the input signal of a vertex; x refers to the input signal of the network graph; zt+1 is the output signal of the network graph at each iteration; initial value It can take any value; ψ, c is a coefficient.
[0058] In this application, according to formula (3), the output signal of each vertex in the current iteration can be obtained by weighting the input signal of each vertex and the output signal of the adjacent vertex in the previous iteration.
[0059] Step S104: Determine the output signal of the network graph based on the output signals of at least two vertices and the input signal of the network graph during this iteration.
[0060] In some embodiments, the output signal of the network graph is determined according to the above formula (4) based on the output signal of each vertex obtained from k different first-order ARMA graph filters and the input signal of the network graph.
[0061] Step S105: When the output signal of the network graph meets the preset convergence condition, the output signal of the network graph is determined as the filtered signal of the network graph.
[0062] In some embodiments, the distributed filtering algorithm of the ARMA graph filter provided in this application is implemented, and the above formulas (3) and (4) are iterated to obtain the output signal of each vertex of the network graph and the output signal of the network graph. When the output signal of the network graph in this iteration meets the preset convergence condition, the output signal of the network graph in this iteration is determined as the filtered signal after filtering the network graph.
[0063] In some embodiments, the preset convergence signal can be the convergence of the number of iterations, or the convergence of the error between the output signal of the network graph in the current iteration and the output signal of the network graph in the previous iteration. When the current iteration meets the convergence condition, the output signal of the network graph in the current iteration is determined as the filtered signal after filtering the network graph.
[0064] The distributed graph filtering method, apparatus, and computer-readable storage medium provided in this application utilize an ARMA graph filter distributed filtering algorithm. This algorithm weights the input signal of each vertex in the network graph with the output signals of adjacent vertices from the previous iteration to obtain the output signal of each vertex in the current iteration. Based on the output signals of at least two vertices in the current iteration and the input signal of the network graph, the output signal of the network graph is determined. When the output signal of the network graph meets a preset convergence condition, the output signal of the network graph in the current iteration is determined as the filtered signal after filtering the network graph. Thus, in the distributed graph filtering method provided in this application, adjacent vertices in the network graph can achieve filtering through information exchange. This makes the distributed graph filtering method applicable to large-scale network graphs, and the distributed filtering method based on the ARMA graph filter in this application can guarantee the design accuracy and efficiency of the graph filter, improving the filtering effect.
[0065] In some embodiments, a distributed filtering algorithm for ARMA graph filters needs to be constructed before filtering the network graph. Therefore, this application provides another distributed filtering method. Figure 2 This is an optional flowchart of the distributed graph filtering method provided in this application. See [link / reference]. Figure 2 The distributed graph filtering method provided in this application will combine Figure 2 The steps shown are explained.
[0066] Step S201: Construct the least squares optimization problem of ARMA graph filter.
[0067] In some embodiments, solving the design problem of the ARMA graph filter is actually constructing the least squares optimization problem of the ARMA graph filter and solving the least squares optimization problem as described in formula (5) to obtain the target weights of the ARMA graph filter.
[0068]
[0069] in, It is the ideal frequency response at each vertex. A set of. It is the frequency response of the ARMA graph filter at each vertex. The set,
[0070] In some embodiments, the least squares optimization problem can be recursive least squares estimation. Recursive least squares estimation refers to obtaining the optimal estimates of system state variables and input signals in real time using the measured data of the output signal and the system model equations, given the mathematical model of the measurement, the statistical characteristics of the measurement noise, and the initial values of the system state. When there is a new input signal, the previous optimal estimates are corrected and updated using the current input signal.
[0071] In this application, the least-squares optimization problem of constructing an ARMA graph filter can be achieved through the following steps:
[0072] Step S2011: Obtain the frequency domain response of the ARMA graph filter and the ideal frequency domain response of each vertex.
[0073] Step S2012: Determine the first error between the ideal frequency domain response of each vertex and the frequency domain response of the ARMA graph filter.
[0074] In some embodiments, the goal of ARMA graph filter design is to optimize the ARMA graph filter weights a p and b q To minimize the ideal frequency domain response. Frequency domain response of ARMA graph filter The first error between them, therefore, the first error can be expressed as shown in formula (6):
[0075]
[0076] Where a = [a0, ..., a P ] T The coefficients of the denominator polynomial are P, which is its order, and b = [b0, ..., b]. Q ] T is the coefficient of the numerator polynomial, and Q is its order. a and b are collectively referred to as the weights of the ARMA graph filter.
[0077] Step S2013: When the first error is less than the first preset threshold, the target weight of the ARMA graph filter is solved and determined as the least squares optimization problem of the ARMA graph filter.
[0078] In some embodiments, the first preset threshold can be a value that approaches 0 infinitely. When the first error is less than the first preset threshold, it means that when the first error between the ideal frequency domain response of each vertex and the frequency domain response of the ARMA graph filter approaches 0 infinitely, the target weight of the ARMA graph filter will be solved and determined as the least squares optimization problem of the ARMA graph filter.
[0079] Step S202: Solve the least squares optimization problem to obtain the target weights of the ARMA graph filter.
[0080] In some embodiments, solving the least squares optimization problem to obtain the target weight of the ARMA graph filter means that when the first error between the ideal frequency domain response of each vertex and the frequency domain response of the ARMA graph filter approaches 0 infinitely, the target weight of the ARMA graph filter is obtained, which is the optimal weight of the ARMA graph filter.
[0081] In some embodiments, the criterion for the least-squares optimization problem of the ARMA graph filter is to minimize the first error between the ideal frequency domain response and the frequency domain response of the ARMA graph filter by using the target weights of the ARMA graph filter.
[0082] In some embodiments, step S202 can be implemented by the following steps:
[0083] In some embodiments, the parameters of the formula for implementing the least squares optimization problem include the frequency domain response parameters in the frequency domain response of the ARMA graph filter and the simplified parameters obtained by simplifying the frequency domain response parameters; wherein, there is a linear relationship between the simplified parameters and the frequency domain response parameters; the frequency domain response of the ARMA graph filter includes the weights of the ARMA graph filter.
[0084] Here, the simplified parameter can be γ. m , The frequency domain response parameter can be α m , Frequency domain response parameter α m Let be the denominator polynomial of the frequency domain response of the ARMA graph filter. Here, to solve the least-squares optimization problem, we can also have the first parameter β of the frequency domain response. m , By simplifying the above formula (6) by simplifying the parameters, frequency domain response parameters, and the first parameter of the frequency domain response, the first error between the ideal frequency domain response and the frequency domain response of the ARMA graph filter can be expressed as:
[0085]
[0086] In some embodiments, to simplify the first error, formula (7) can be represented in vector form, where α = [α1, ..., α2]. M ] T , β=[β1,...,β M ] T , γ=[γ1,...,γ M ] TThe true error vector containing all graph frequency domain values is e = [e1, ..., e2]. M ] T Therefore, the true error is represented in vector form as:
[0087]
[0088] Here, the symbol ο represents the cross product operation between vectors. In some embodiments, to avoid the frequency domain response parameter α m Setting it to 0 simplifies the parameter. Where ρ≈0.
[0089] Here, from formula (7), we know that if γ m Fixed, e m Then it is α m and β m The error is a linear function. Therefore, the iteration stops when the error update value between the current iteration and the previous iteration is less than a preset threshold, thus obtaining the target weights of the ARMA graph filter. m To obtain a new set of α m and β m Then update γ m And so on. Let α (i) and β (i) Let α and β represent the calculation results of α and β in the i-th iteration, respectively, using α (i) Calculate γ (i) Then use γ (i) The error function for the next iteration is constructed as shown in formula (9):
[0090]
[0091] Among them, let Therefore, in the (i+1)th iteration, the ARMA filter design problem, i.e., the least-squares optimization problem of the ARMA graph filter, can be expressed as:
[0092]
[0093] In some embodiments, the target coefficients of the ARMA graph filter can be based on the Prony iterative algorithm.
[0094] Step S2021: Obtain the frequency domain response parameters and the second error from the previous iteration process.
[0095] Step S2022: Determine the simplified parameters in this iteration process based on the frequency domain response parameters and the linear relationship.
[0096] In some embodiments, there is a linear relationship between the simplified parameters and the frequency domain response parameters. Based on this linear relationship, the simplified parameters in the current iteration can be obtained. Therefore, in each iteration, the numerator and denominator coefficients of the ARMA graph filter are updated accordingly. Thus, the α obtained based on the ARMA graph filter coefficients from the previous iteration... m Update γ m .
[0097] Step S2023: Based on the least squares optimization problem, the simplified parameters in this iteration, and the frequency domain response parameters in the previous iteration, determine the weights of the ARMA graph filter in this iteration and the third error in this iteration.
[0098] In some embodiments, according to the iterative error formula of formula (9), γ is updated in each iteration based on the least squares optimization problem, the simplified parameters in the current iteration, the frequency domain response parameters in the previous iteration, the first frequency domain response parameter in the previous iteration, and the ideal frequency domain response. (i) The ARMA graph filter weights θ = [a] can be obtained. T b T ] T In each iteration i, the error e at that iteration number is calculated. i .
[0099] Step S2024: Determine the difference between the third error in the current iteration and the second error in the previous iteration as the error update value.
[0100] Step S2025: When the error update value is less than the second preset threshold, the weight of the ARMA graph filter in this iteration process is determined as the target weight of the ARMA graph filter.
[0101] In some embodiments, the second preset threshold can be a custom cutoff frequency, such as 1×102. -4 When the error update value is less than the second preset threshold, the iteration stops, the loop stops, the optimal ARMA graph filter weight is obtained, and the optimal ARMA graph filter weight is determined as the target weight of the ARMA graph filter.
[0102] Step S203: Construct a distributed filtering algorithm for the ARMA graph filter based on the target weights of the ARMA graph filter.
[0103] In some embodiments, the coefficients of the distributed filtering algorithm for the ARMA graph filter can be obtained based on the optimal ARMA graph filter weights, thereby constructing the distributed filtering algorithm for the ARMA graph filter.
[0104] In some embodiments, step S203 can be implemented by the following steps:
[0105] Step S2031: Based on the target weights of the ARMA graph filter, simplify the frequency domain response of the ARMA graph filter to obtain the simplified frequency domain response of the ARMA graph filter.
[0106] In some embodiments, the target weights of the ARMA graph filter are incorporated into the frequency response of the ARMA graph filter. In the case of an ARMA graph filter, when the target weights are known, the numerator and denominator of the frequency response of the ARMA graph filter are both the graph frequency λ. m The polynomial.
[0107] Step S2032: Perform fractional decomposition on the frequency domain response of the simplified ARMA graph filter to determine the residuals, poles, and filter weights of the ARMA graph filter.
[0108] In some embodiments, the graph frequency domain response of the K-order ARMA graph filter is:
[0109]
[0110] Among them, residual pole η k =1 / ψ (k) , This represents the spectral radius of S.
[0111] Frequency response of ARMA graph filter By performing partial fraction decomposition according to the above formula (11), the corresponding parameter residuals r of the ARMA graph filter can be obtained. k pole η k and filter weight c.
[0112] Step S2033: Construct a distributed filtering algorithm for the ARMA graph filter based on the residual, the poles, and the filtering weights.
[0113] In some embodiments, the preset calculation rule can be ψ (k) =1 / η k ,as well as
[0114] Based on residual r k pole η k Given the filter weights c, the target weights ψ of the distributed filtering algorithm are determined using preset calculation rules. (k) and Based on the target weight ψ of the distributed filtering algorithm (k) and Construct a distributed filtering algorithm for the ARMA graph filter as shown in formulas (3) and (4) above.
[0115] This application uses multiple first-order ARMA graph filters in parallel to solve the least squares optimization problem. This reduces the number of graph filter orders needed to achieve consistent design accuracy, thereby reducing implementation cost and response speed. Furthermore, the parallel approach of using multiple first-order ARMA graph filters addresses the challenge of distributed graph filtering due to the nonlinear structure of ARMA graph filters, accelerating convergence and improving graph filtering performance. Additionally, this application employs a Prony-based iterative algorithm to use actual errors in ARMA graph filter design, significantly improving design accuracy and computational efficiency.
[0116] Figure 3 This is an optional flowchart of the distributed graph filtering method provided in this application; see [link / reference]. Figure 3 The distributed graph filtering method provided in this application will combine Figure 3 The steps shown are explained below. Step S105 can also be implemented through the following steps.
[0117] Step S301: When the number of iterations is less than the preset number of iterations, or when the fourth error between the output signal of the network graph in the current iteration and the output signal of the network graph in the previous iteration is less than the third preset threshold, the output signal of the network graph in the current iteration is determined as the filtered signal of the network graph.
[0118] In some embodiments, the initial iteration count t = 1, and the output signal z1 of the network graph is obtained through the distributed filtering algorithm of the ARMA graph filter. In each iteration, the following calculations are performed: and z t+1 The iteration stops when the number of iterations is less than the preset number of iterations, or when the fourth error between the output signal of the network graph in the current iteration and the output signal of the network graph in the previous iteration is less than the third preset threshold, and the filtered signal after filtering of the network graph is obtained.
[0119] In some embodiments, both the preset number of iterations and the third preset threshold can be customized, and the third preset threshold can be 1×10^6. -4 .
[0120] This application sets preset convergence conditions to achieve the best filtering effect and the highest filtering efficiency when filtering the network graph.
[0121] The following describes an exemplary application of this application in a real-world application scenario.
[0122] Before explaining the scheme of this application, the formulas in this application will be explained first.
[0123] 1. Design issues of ARMA graph filters:
[0124] Solving the design problem of an ARMA graph filter is essentially solving the following least-squares optimization problem to obtain the coefficients θ = [a] of the ARMA graph filter. T b T ] T :
[0125]
[0126] in, It is the ideal frequency response at each vertex. A set of. It is the frequency response of the ARMA graph filter at each vertex. The set,
[0127] The goal of ARMA graph filter design is to optimize the ARMA graph filter coefficients a p and b q To minimize the ideal frequency domain response Frequency domain response of ARMA graph filter Error between:
[0128]
[0129] Where a = [a0, ..., a P ] T The coefficients of the denominator polynomial are P, which is its order, and b = [b0, ..., b]. Q ] T These are the coefficients of the numerator polynomial, and Q is its order. a and b are collectively referred to as the ARMA graph filter coefficients.
[0130] 2. P-ARMAK Distributed Graph Filtering Algorithm:
[0131] As we know from the previous step, the ARMA graph filter at the graph frequency λ n The frequency domain response is:
[0132]
[0133] To facilitate distributed implementation, in this chapter we set the order of both the numerator and denominator of the ARMA graph filter to K, and formula (14) can be written as:
[0134]
[0135] Although the numerator and denominator polynomials in the above equation appear to have the same order, this does not mean that the actual order of the ARMA graph filter is K. In practice, this can be achieved by adjusting the specific coefficients b. k or a k Setting it to zero allows us to obtain β(λ) of different orders. n ) and α(λ n For convenience, this paper denotes the K-order ARMA graph filter in the distributed implementation problem as ARMAK.
[0136] The P-ARMAK implementation algorithm is based on a first-order ARMA graphical filter (denoted as ARMA1). The ARMA1 graphical filter is not only simple in structure, but it can also serve as a basic building block for ARMA graphical filters of arbitrary orders. The distributed recursive implementation process of the first-order ARMA graphical filter is as follows:
[0137]
[0138] z t+1 =y t+1 +C X (17)
[0139] Where x represents the input signal, z t+1 =[z t+1,1 , z t+1,2 , ..., z t+1,N ] T It is the output value of the ARMA1 graphical filter at time t+1, z t+1,n Let y be the output value of the ARMA1 graph filter at the nth vertex. t+1 =[y t+1,1 y t+1,2 , ..., y t+1,N ] T This is the intermediate output value of the ARMA1 graphical filter at time t+1, where y0 can take any value. The coefficients ψ and ψ in the above equation... and c will be calculated from the coefficients of the ARMA1 graph filter. The following theorem gives the frequency domain response of the ARMA1 graph filter.
[0140] 3. The frequency domain response of the ARMA1 graph filter is:
[0141]
[0142] Wherein, the residual r and the pole η are respectively derived from Given η = 1 / ψ, It is the maximum spectral radius of S. Regardless of the initial condition y0 and the graph shift operator S, the recursive processes (16) and (17) will converge linearly to equation (18).
[0143] Recursions (16) and (17) can complete the distributed implementation of a first-order ARMA graph filter: for the convenience of describing the recursive process, time t in this paper can be regarded as the t-th iteration. In this distributed implementation, graph vertex v n ∈v can directly access graph signal x n It can also indirectly access the signals of its neighboring graph vertices. Each iteration process consists of two stages: information exchange between neighboring graph vertices and information processing of local graph vertices. For example, in the t-th iteration, vertex v i The signal value y on t,i By its local signal x i and its adjacent vertex v j Up y t-1,j It is obtained by weighted combination. The convergence time of the distributed implementation algorithm is determined by the number of iterations to be executed. When the output of the dynamic system approaches steady state, the output at this point is the steady-state output value of the implementation process.
[0144] If K ARMA1s are run in parallel, ARMA K The distributed implementation process is as follows:
[0145]
[0146]
[0147] Where the superscripts k = 1, ..., K represent different ARMA1 systems, x is the input signal of the graph structure, and z t+1 It is the output value after the system has stabilized and converged, the initial value. It can take any value, ψ (k) , and c will be specified in the subsequent graph frequency domain response.
[0148] 4. ARMA K The frequency domain response of the graph is:
[0149]
[0150] Among them, residual pole η k =1 / ψ (k) , This represents the spectral radius of S.
[0151] From the above conclusions, it can be concluded that as long as the convergence condition is met... or Both formulas (19) and (20) gradually converge to the final result as the number of iterations increases, and their corresponding frequency domain response can be expressed as formula (21).
[0152] Based on the above formula, this application provides a distributed filtering method.Figure 4 This is an optional flowchart of the distributed graph filtering method provided in this application, such as... Figure 4 As shown, the distributed filtering method provided in this application can be implemented through the following steps:
[0153] Step S401: Obtain the error between the ideal frequency domain response and the frequency domain response of the ARMA graph filter, and construct the design problem of the ARMA graph filter.
[0154] In this application, let The above formula (13) can be expressed as formula (22):
[0155]
[0156] Let α = [α1, ..., α] M ] T , β=[β1,...,β M ] T , γ=[γ1,...,γ M ] T It can be seen that the true error vector in the frequency domain of all graphs is e = [e1, ..., e2]. M ] T Therefore, the true error can be represented by formula (22) in vector form. The error between the ideal frequency domain response and the frequency domain response of the ARMA graph filter is shown in formula (23):
[0157]
[0158] Among them, symbols This represents the cross product operation between vectors.
[0159] Step S402: Rewrite the design problem of the ARMA graph filter to obtain the rewritten design problem.
[0160] In some embodiments, to avoid α m =0, can be set Where ρ≈0, the error between the ideal frequency domain response and the frequency domain response of the ARMA graph filter is rewritten.
[0161] If γ m Fixed, e m Then it is α m and β m The function is linear. Therefore, this application uses an iterative approach to solve the design problem of ARMA graph filters. The core of the iterative algorithm in this application is to first fix γ in each iteration. m To obtain a new set of α m and β m Then update γm And so on. Let α (i) and β (i) Let α and β represent the calculation results of α and β in the i-th iteration, respectively, using α (i) Calculate γ (i) Then use γ (i) The error function for the next iteration is constructed, and the error function for the (i+1)th iteration is shown in formula (24):
[0162]
[0163] in, Therefore, in the (i+1)th iteration, the design problem of the ARMA filter is as shown in equation (25):
[0164]
[0165] Step S403: Solve the rewritten design problem iteratively to obtain the coefficients of the ARMA graph filter.
[0166] In some embodiments, solving the rewritten design problem involves the following steps:
[0167] First, in each iteration i, the frequency response of the ARAM graph filter at that iteration number is calculated. Error e (i) In some embodiments, the frequency response of the ARAM graph filter at each iteration number... It is a constant value.
[0168] Secondly, in each iteration i, the error update value δ = ||e^(i / i) between the current iteration and the previous iteration is calculated. (i+1) -e (i) ||;
[0169] Then, in each iteration i, the numerator and denominator coefficients of the ARMA graph filter are updated accordingly, so the α obtained based on the ARMA graph filter coefficients from the previous iteration is... m Each update of γ (i) ;
[0170] Finally, when δ < δ c When the iteration stops, the loop stops, and the optimal ARMA graph filter coefficients θ = [a T b T ] T Here, δ c It is a custom cutoff frequency, which can be 1×10. -4 .
[0171] Step S404: Obtain the first parameter based on the coefficients of the ARMA graph filter.
[0172] In this application, the first parameter is obtained based on the coefficients of the ARMA graph filter through the following steps:
[0173] Step S4041: Based on the ARMA graph filter coefficients a obtained in step S403 T b T Substitute the coefficients into the frequency response of the ARMA plot filter. In the middle. When the coefficient a = [a0, ..., a P ] T and b = [b0, ..., b Q ] T When known, the numerator and denominator of the frequency response of the ARMA graphical filter are both the graphical frequency λ. m The polynomial.
[0174] Step S4042: Perform partial fraction decomposition on the frequency response of the ARMA graph filter according to formula (21) to obtain the first parameter. Here, the first parameter can be the residual r. k pole η k , and coefficient c.
[0175] Step S405: Determine the second parameter based on the first parameter.
[0176] In some embodiments, the second parameter has a linear relationship with the first parameter, for example: the second parameter ψ (k) =1 / η k and the second parameter This allows us to obtain the parameters required for the distributed implementation of the ARMA graph filter.
[0177] Step S406: Obtain the distributed implementation process of the ARMA graph filter based on the second parameter.
[0178] Given the second parameter obtained in step S405, the distributed implementation process of the ARMA graph filter is obtained, as shown in formulas (19) and (20) above:
[0179]
[0180]
[0181] Where the superscript k=1, the label indicates different ARMA1 systems, x is the input signal of the graph structure, and z t+1 It is the output value after the system has stabilized and converged, the initial value. It can take any value.
[0182] Step S407: Iterate the network graph in the distributed implementation process to determine the output signal of the network graph.
[0183] In some embodiments, iterating the network graph in the distributed implementation process can be accomplished through the following steps:
[0184] Step S4071: Initialize the iteration count t = 1 and obtain the output at a single graph signal point. And the output signal z1 of the final diagram structure.
[0185] Step S4072: Calculate the formulas (19) and (20) from step S406 in each iteration. and z t+1 The value, until t < T or ||z t+1 -z t ||2<u, where u represents the update cutoff value, which can be 1×10. -4 .
[0186] In some embodiments, the distributed implementation algorithm of the ARMA graph filter provided in this application is shown in Table 1 below:
[0187] Table 1 P-ARMA K Distributed implementation algorithm
[0188]
[0189] In some embodiments, the traffic network graph and social network graph are filtered using the P-ARMAK distributed implementation algorithm described above. Figure 5 This is the filtered result of the traffic network map provided in this application. Figure 6 This is a graph showing the filtered social network graph results provided in this application. (Example:) Figure 5 As shown, the original signals on the traffic network map are set to two types: the signal value of the central part map vertex (i.e., the ellipse) is 0, and the signal value of the other part map vertices is 1. Figure 5 The graph signal values on the traffic network before and after filtering are shown, where Figure 5 (a) shows the signal diagram after adding noise N(0, 0.64). It can be seen that the original signal of 1 is more mixed in color, and the color levels are significantly different; although the signal at the vertices of the central part is at the same color level, the shades are different. Figure 5 (b) shows the signal values after distributed filtering. It can be observed that the signal areas that were originally 1 have become more similar in color; the signal values in the central area also tend to be the same color. This indicates that the signal values obtained after distributed filtering are similar to the original signal, verifying the effect of distributed filtering.
[0190] like Figure 6As shown, the signals on the social network graph are also set to two categories, with the signal value of the vertices in the upper part of the graph being 0, and the signal value of the vertices in the other parts of the graph being 1. Figure 6 (a) shows the signal graph after adding noise N(0, 0.64), and the signal in the graph has many colors and is quite mixed. Figure 6 (b) shows the graphical signal values after distributed filtering, and it can be seen that compared to Figure 6 (a) In the upper half of the graph, the colors of the vertices tend to be the same color level, and the graph signals of the six different colors are almost invisible. Similarly, the colors of the vertices in the lower half of the graph tend to be the same color level. This indicates that the signal value obtained after distributed graph filtering of the social network graph is close to the original signal value. Therefore, this once again demonstrates that the distributed graph filtering strategy combining the P-ARMAK implementation algorithm and the Prony-based iterative design algorithm can achieve good distributed graph filtering results.
[0191] The distributed graph filtering method based on ARMA graph filters proposed in this application offers the following advantages for graph filtering of network graphs: 1) It allows for graph filtering design independent of the graph's topology, providing greater freedom; 2) In the field of big data, graph structures often change over time, so ARMA graph filters can effectively track the changes in graph signal characteristics over time; 3) While maintaining consistent design accuracy, ARMA graph filters typically require fewer filter orders, thus reducing implementation costs and response speed; 4) This application employs a Prony-based iterative algorithm, which, unlike previous algorithms, uses actual errors for design instead of error correction, significantly improving design accuracy and computational efficiency; 5) The distributed implementation of graph filters allows filtering between adjacent graph vertices solely through information exchange, making it suitable for large-scale graph networks and highly scalable; 6) Due to the nonlinear structure of ARMA graph filters, distributed graph filtering is challenging, but the P-ARMAK algorithm successfully solves this problem; 7) The P-ARMAK algorithm can significantly accelerate convergence and improve graph filtering performance.
[0192] Figure 7 This is a schematic diagram of the composition structure of the distributed graph filtering device provided in this application, as shown below. Figure 7 As shown, the distributed graph filtering device 700 includes:
[0193] The first acquisition module 701 is used to acquire, during the current iteration of the network graph, the input signal of the network graph and the input signal of each of the at least two vertices in the network graph; the second acquisition module 702 is used to acquire the output signal of each of the at least two vertices in the previous iteration; the weighting module 703 is used to weight the input signal of each vertex and the output signal of the adjacent vertices in the previous iteration according to the distributed filtering algorithm of the ARMA graph filter to obtain the output signal of each vertex in the current iteration; the first determination module 704 is used to determine the output signal of the network graph according to the output signals of at least two vertices in the current iteration and the input signal of the network graph; the second determination module 705 is used to determine the output signal of the network graph as the filtered signal of the network graph when the output signal of the network graph meets the preset convergence condition.
[0194] In some embodiments, the apparatus further includes: a first construction module for constructing a least-squares optimization problem for an ARMA graph filter; a solution module for solving the least-squares optimization problem to obtain the target weights of the ARMA graph filter; and a second construction module for constructing a distributed filtering algorithm for the ARMA graph filter based on the target weights of the ARMA graph filter.
[0195] In some embodiments, the first construction module is further configured to obtain the frequency domain response of the ARMA graph filter and the ideal frequency domain response of each vertex; determine a first error between the ideal frequency domain response of each vertex and the frequency domain response of the ARMA graph filter; and when the first error is less than a first preset threshold, solve the target weight of the ARMA graph filter and determine it as the least squares optimization problem of the ARMA graph filter.
[0196] In some embodiments, the parameters of the formula for implementing the least squares optimization problem include the frequency domain response parameters in the frequency domain response of the ARMA graph filter and the simplified parameters obtained by simplifying the frequency domain response parameters; wherein, there is a linear relationship between the simplified parameters and the frequency domain response parameters; the frequency domain response of the ARMA graph filter includes the weights of the ARMA graph filter; the solution module is further configured to obtain the frequency domain response parameters and the second error in the previous iteration process; determine the simplified parameters in the current iteration process based on the frequency domain response parameters and the linear relationship; determine the weights of the ARMA graph filter in the current iteration process and the third error in the current iteration process based on the least squares optimization problem, the simplified parameters in the current iteration process, and the frequency domain response parameters in the previous iteration process; determine the difference between the third error in the current iteration process and the second error in the previous iteration process as the error update value; when the error update value is less than a second preset threshold, determine the weights of the ARMA graph filter in the current iteration process as the target weights of the ARMA graph filter.
[0197] In some embodiments, the second construction module is further configured to simplify the frequency domain response of the ARMA graph filter according to the target weight of the ARMA graph filter to obtain a simplified ARMA graph filter frequency domain response; perform fractional decomposition on the simplified ARMA graph filter frequency domain response to determine the residual, poles and filter weights of the ARMA graph filter; and construct a distributed filtering algorithm for the ARMA graph filter based on the residual, the poles and the filter weights.
[0198] In some embodiments, the second construction module is further configured to determine the target weight of the distributed filtering algorithm according to the residual, the poles and the filtering weights using a preset operation rule; and to construct a distributed filtering algorithm for an ARMA graph filter according to the target weight of the distributed filtering algorithm.
[0199] In some embodiments, the second determining module is further configured to determine the output signal of the network graph in the current iteration as the filtered signal of the network graph when the number of iterations is less than a preset number of iterations, or when the fourth error between the output signal of the network graph in the current iteration and the output signal of the network graph in the previous iteration is less than a third preset threshold.
[0200] It should be noted that the description of the device in this application is similar to the description of the method embodiments described above, and has similar beneficial effects as the method embodiments; therefore, it will not be repeated. For technical details not disclosed in the embodiments of this device, please refer to the description of the method embodiments of this application for understanding.
[0201] It should be noted that, in this application, if the above-described distributed graph filtering method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a terminal to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, this application is not limited to any specific hardware and software combination.
[0202] Correspondingly, this application provides a distributed graph filtering device. Figure 8 This is a schematic diagram of the composition structure of the distributed graph filtering device provided in this application, as shown below. Figure 8 As shown, the distributed graph filtering device 800 includes at least a processor 801 and a computer-readable storage medium 802 configured to store executable instructions, wherein the processor 801 typically controls the overall operation of the distributed graph filtering device. The computer-readable storage medium 802 is configured to store instructions and applications executable by the processor 801, and may also cache data to be processed or processed by various modules in the processor 801 and the distributed graph filtering device 800, and can be implemented using flash memory or random access memory (RAM).
[0203] This application provides a storage medium storing executable instructions. When these executable instructions are executed by a processor, they will cause the processor to perform the method provided in this application, for example... Figure 1 The method shown.
[0204] In some embodiments, the storage medium may be a computer-readable storage medium, such as a ferromagnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic surface memory, optical disc, or a compact disk-read-only memory (CD-ROM); or it may be a device that includes one or any combination of the above-mentioned memories.
[0205] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0206] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts within a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files storing one or more modules, subroutines, or code sections). As an example, executable instructions may be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0207] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
[0208] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of this application. The above-described sequence numbers are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0209] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not performed.
[0210] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A distributed graph filtering method, characterized in that, include: During the current iteration of the network graph, the input signals of the network graph during the current iteration and the input signals of each of the at least two vertices in the network graph are obtained; Obtain the output signal of each of the at least two vertices from the previous iteration; The input signal of each vertex and the output signal of the adjacent vertex in the previous iteration are weighted according to the distributed filtering algorithm of ARMA graph filter to obtain the output signal of each vertex in the current iteration. The output signal of the network graph is determined based on the output signals of at least two vertices and the input signal of the network graph during this iteration. When the output signal of the network graph meets the preset convergence condition, the output signal of the network graph is determined as the filtered signal of the network graph; The method further includes: The least squares optimization problem of constructing an ARMA graph filter is described. The parameters of the formula for implementing the least squares optimization problem include the frequency domain response parameters in the frequency domain response of the ARMA graph filter and the simplified parameters obtained by simplifying the frequency domain response parameters. The simplified parameters and the frequency domain response parameters have a linear relationship. The frequency domain response of the ARMA graph filter includes the weights of the ARMA graph filter. Solving the least squares optimization problem yields the target weights of the ARMA graph filter; Based on the target weights of the ARMA graph filter, a distributed filtering algorithm for the ARMA graph filter is constructed. Correspondingly, solving the least squares optimization problem to obtain the target weights of the ARMA graph filter includes: Obtain the frequency domain response parameters and the second error from the previous iteration. Based on the frequency domain response parameters and the linear relationship, the simplified parameters in this iteration process are determined; Based on the least squares optimization problem, the simplified parameters in this iteration, and the frequency domain response parameters in the previous iteration, determine the weights of the ARMA graph filter in this iteration and the third error in this iteration. The difference between the third error in this iteration and the second error in the previous iteration is determined as the error update value. When the error update value is less than the second preset threshold, the weight of the ARMA graph filter in this iteration process is determined as the target weight of the ARMA graph filter. Correspondingly, the step of constructing the distributed filtering algorithm for the ARMA graph filter based on the target weights of the ARMA graph filter includes: Based on the target weights of the ARMA graph filter, the frequency domain response of the ARMA graph filter is simplified to obtain the simplified frequency domain response of the ARMA graph filter. The simplified ARMA graph filter frequency domain response is decomposed into fractions to determine the residuals, poles, and filter weights of the ARMA graph filter. Based on the residuals, the poles, and the filter weights, a distributed filtering algorithm for the ARMA graph filter is constructed.
2. The method according to claim 1, characterized in that, The least-squares optimization problem for constructing ARMA graph filters includes: Obtain the frequency domain response of the ARMA graph filter and the ideal frequency domain response of each vertex; Determine the first error between the ideal frequency domain response of each vertex and the frequency domain response of the ARMA graph filter; When the first error is less than the first preset threshold, the target weight of the ARMA graph filter will be solved, and the problem will be determined as the least squares optimization problem of the ARMA graph filter.
3. The method according to claim 1, characterized in that, The step of determining the distributed filtering algorithm for the ARMA graph filter based on the residual, the poles, and the filter weights includes: Based on the residual, the poles, and the filter weights, the target weights of the distributed filtering algorithm are determined using preset calculation rules. Based on the target weights of the distributed filtering algorithm, a distributed filtering algorithm for ARMA graph filters is constructed.
4. The method according to claim 1, characterized in that, The step of determining the output signal of the network graph as the filtered signal of the network graph when the output signal of the network graph meets the preset convergence condition includes: When the number of iterations is less than the preset number of iterations, or When the fourth error between the output signal of the network graph in the current iteration and the output signal of the network graph in the previous iteration is less than the third preset threshold, the output signal of the network graph in the current iteration is determined as the filtered signal of the network graph.
5. A distributed graph filtering device, characterized in that, include: The first acquisition module is used to acquire, during the current iteration of the network graph, the input signal of the network graph and the input signal of each of the at least two vertices in the network graph. The second acquisition module is used to acquire the output signal of each of the at least two vertices in the previous iteration; The weighting module is used to weight the input signal of each vertex and the output signal of the adjacent vertices in the previous iteration according to the distributed filtering algorithm of the ARMA graph filter, so as to obtain the output signal of each vertex in the current iteration. The first determining module is used to determine the output signal of the network graph based on the output signals of at least two vertices and the input signal of the network graph during the current iteration. The second determining module is used to determine the output signal of the network graph as the filtered signal of the network graph when the output signal of the network graph meets the preset convergence condition; The device further includes: The first construction module is used to construct the least squares optimization problem of the ARMA graph filter; the parameters of the formula for implementing the least squares optimization problem include the frequency domain response parameters in the frequency domain response of the ARMA graph filter and the simplified parameters obtained by simplifying the frequency domain response parameters; wherein, there is a linear relationship between the simplified parameters and the frequency domain response parameters; the frequency domain response of the ARMA graph filter includes the weights of the ARMA graph filter; The solution module is used to solve the least squares optimization problem and obtain the target weights of the ARMA graph filter; The second construction module is used to construct a distributed filtering algorithm for the ARMA graph filter based on the target weights of the ARMA graph filter. The solution module is further configured to obtain the frequency domain response parameters and the second error from the previous iteration; determine the simplified parameters for the current iteration based on the frequency domain response parameters and the linear relationship; determine the weights of the ARMA graph filter and the third error for the current iteration based on the least squares optimization problem, the simplified parameters for the current iteration, and the frequency domain response parameters from the previous iteration; determine the difference between the third error for the current iteration and the second error for the previous iteration as the error update value; and determine the weights of the ARMA graph filter for the current iteration as the target weights of the ARMA graph filter when the error update value is less than a second preset threshold. The second construction module is further configured to simplify the frequency domain response of the ARMA graph filter according to the target weights of the ARMA graph filter to obtain a simplified ARMA graph filter frequency domain response; perform fractional decomposition on the simplified ARMA graph filter frequency domain response to determine the residuals, poles and filter weights of the ARMA graph filter; and construct a distributed filtering algorithm for the ARMA graph filter based on the residuals, poles and filter weights.
6. A distributed graph filtering device, characterized in that, include: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the distributed graph filtering method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The system stores executable instructions that, when executed by a processor, implement the distributed graph filtering method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Digital signal filtering method and device and readable storage medium
CN113037249A
Asynchronous implementation method for distributed constraint edge-variable FIR filter
CN113191978A