<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1396841</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1396841</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Research on the optimization of belief rule bases using the Naive Bayes theory</article-title>
<alt-title alt-title-type="left-running-head">Qian et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1396841">10.3389/fenrg.2024.1396841</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Qian</surname>
<given-names>Hong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Pan</surname>
<given-names>Yutong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2672900/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Xuehua</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Zhenpeng</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>College of Automation Engineering</institution>, <institution>Shanghai University of Electric Power</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>China Nuclear Power Engineering Co., Ltd.</institution>, <addr-line>Shenzhen</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/78949/overview">Xiaojing Liu</ext-link>, Shanghai Jiao Tong University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1490733/overview">Meiqi Song</ext-link>, Shanghai Jiao Tong University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2687331/overview">Weihua Deng</ext-link>, Kennedys, United Kingdom</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Yutong Pan, <email>panyutong@mail.shiep.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>07</day>
<month>05</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1396841</elocation-id>
<history>
<date date-type="received">
<day>06</day>
<month>03</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>15</day>
<month>04</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Qian, Pan, Wang and Li.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Qian, Pan, Wang and Li</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 belief rule base is crucial in expert systems for intelligent diagnosis of equipment. However, in the belief rule base for fault diagnosis, multiple antecedent attributes are often initially determined by domain experts. Multiple fault symptoms related to multiple antecedent attributes are different when an actual fault occurs. This leads to multiple antecedent attributes matching with multiple fault symptoms non-simultaneously, thereby resulting in a fault diagnosis lacking timeliness and accuracy. To address this issue, this paper proposes a method for belief rule-based optimization based on Naive Bayes theory. First, a fault sample is taken in a long enough window and divided into several interval samples, making the analysis samples approximate the overall samples. Second, using Gaussian mixture clustering and Naive Bayes optimization, iteration is performed over the threshold and limit values of fault symptoms in the belief rule base based on the requirements of the timeliness and accuracy of fault diagnosis results. Finally, the belief rule base is optimized. Using fault samples from high-pressure heaters and condensers, the validation results show that there is a there is a significant improvement in the timeliness and accuracy of fault diagnosis with the optimal belief rule base.</p>
</abstract>
<kwd-group>
<kwd>belief rule base</kwd>
<kwd>Gaussian mixture clustering</kwd>
<kwd>Naive Bayes</kwd>
<kwd>fault diagnosis</kwd>
<kwd>data-driven</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Nuclear Energy</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The belief rule-based expert system integrates rule parameters on the basis of traditional IF-THEN rules, aiming to model the system using semi-quantitative information. Through this approach, it has the convenience of expert knowledge expression in the knowledge base without the need for a complete understanding of the structure. However, for a multi-rule system and in the context of a dynamic system, there are time-scale differences among the multiple variables&#x2019; symptoms. Therefore, the initial belief rule-based system established by domain experts needs to be continuously improved by fault samples to enhance the timeliness and accuracy of fault diagnosis.</p>
<p>There is a considerable amount of research both domestically and internationally on expert systems using the belief rule base. <xref ref-type="bibr" rid="B11">Yang et al. (2006)</xref>, building upon the Dempster&#x2013;Shafer (D-S) theory, fuzzy theory, and IF-THEN rule statements, developed a belief rule-based reasoning method based on evidence reasoning. <xref ref-type="bibr" rid="B13">Zheng et al. (2018)</xref> modeled the fault mechanisms to obtain a set of fault-related symptom parameters. Using mathematical statistics combined with relevant field experience, the construction of an expert rule base for diagnosing high-pressure heater pipe leakage faults is accomplished. <xref ref-type="bibr" rid="B1">Ahmed et al. (2020)</xref> developed a belief rule-based expert system designed to forecast the severity of four types of coronary artery diseases in advance, achieving a success rate of 93.97%. <xref ref-type="bibr" rid="B2">Chen et al. (2018)</xref> constructed a fuzzy-weighted production rule inference engine based on an intelligent soot-blowing expert system. The weights of various feature parameters were determined using an improved analytic hierarchy process (AHP). Through the weighted fusion of multiple data points, the belief rule-based system was further optimized. However, there are still issues with the current use of belief rule-based expert systems for intelligent equipment diagnosis: (1) multiple fault symptoms related to multiple antecedent attributes are different when an actual fault occurs, significantly impacting the timeliness and accuracy of fault diagnosis. Consequently, this diminishes diagnostic efficiency. (2) The key parameters of the belief rule-based system, specifically the threshold and limit values, are fixed values dependent on expert experience. The lack of self-learning capability imposes certain limitations on the system.</p>
<p>Gaussian mixture clustering is a target function-based clustering method initially introduced by <xref ref-type="bibr" rid="B9">Wolfe (1963)</xref>. The Gaussian mixture model (GMM) was further extended from field of density estimation to the clustering domain by <xref ref-type="bibr" rid="B7">McLachlan and Basford (1988)</xref>. The application scope of Gaussian mixture clustering has since expanded significantly, encompassing diverse areas such as speech recognition, image classification, fault diagnosis (<xref ref-type="bibr" rid="B10">Xiao et al., 2011</xref>; <xref ref-type="bibr" rid="B4">Gao et al., 2020</xref>), and motion target detection (<xref ref-type="bibr" rid="B6">Lv and Sun, 2019</xref>; <xref ref-type="bibr" rid="B5">Li et al., 2020</xref>). Its wide-ranging applications validate the strong adaptability of this method.</p>
<p>The essence of Bayesian theory lies in determining the probability of the intrinsic attributes of a global incident based on the probability of the occurrence of local incidents. In other words, it infers the characteristics of the whole from the characteristics of the sample. Bayesian classification is a common statistical-based classification method. However, when the dataset contains a large number of variables, the model structure becomes extremely complex, and computation time significantly increases, resulting in low classification efficiency. To address this issue, the Naive Bayes classification algorithm was introduced. In 1988, Bayesian belief networks (BBNs) were introduced by <xref ref-type="bibr" rid="B8">Pearl (1988)</xref>. This algorithm applies probability and statistical theory to complex domains, facilitating uncertainty reasoning and analysis. It characterizes relationships between attributes, thereby enhancing the accuracy of classification. <xref ref-type="bibr" rid="B3">Frank et al. (2002)</xref> proposed the local weighted Naive Bayes, which selected the nearest neighbor samples for each test sample and treated them as the testing set. By combining this with the Naive Bayes classifier, the algorithm improves classification accuracy. <xref ref-type="bibr" rid="B12">Zhang and Guo (2015)</xref>, while retaining the simplicity of the Naive Bayes classification algorithm, assigned different weights to various attributes based on association rules mined from text and their confidence, effectively enhancing its performance.</p>
<p>This paper focuses on intelligent fault diagnosis using a belief rule-based expert system, combining the Naive Bayes model and Gaussian mixture clustering to optimize the belief rule-based system. Fault data samples are divided into multiple windows. Gaussian mixture clustering is used for each window to determine the threshold and limit values for the window data. These threshold and limit values for each window are treated as labels, while the data for each window serve as samples. Together, they are input into the Naive Bayes model for training; subsequently, another window of fault data is taken and input into the trained Naive Bayes model. The output of the corrected threshold and limit values is obtained. These values are updated across the entire belief rule-based system. Using fault timeliness as a criterion, if the diagnostic time significantly advances, belief rule-based optimization is completed; otherwise, iteration over threshold and limit values is continued. By optimizing the belief rule-based approach presented in this paper, the timeliness of fault diagnosis is improved, leading to enhanced diagnostic efficiency. This method breaks away from relying solely on fixed values based on expert experience for threshold and limit values in the belief rule-based system. Finally, through practical validation, it has been demonstrated that this approach can improve the timeliness and accuracy of fault diagnosis, particularly in cases where multiple fault symptoms related to multiple antecedent attributes are different.</p>
</sec>
<sec id="s2">
<title>2 Establishment of the belief rule base for fault diagnosis</title>
<p>The belief rule base is used to store domain expert-related knowledge in a specific format. In the field of fault diagnosis, the first step involves establishing a fault model through mechanism analysis to identify the primary fault symptoms. This process is complemented by incorporating experiential knowledge from domain experts to acquire additional symptoms associated with fault types. Thereby, a belief rule base for the fault diagnosis expert system is constructed, establishing a one-to-one mapping relationship between fault types and multiple fault symptoms.</p>
<sec id="s2-1">
<title>2.1 Using the belief rule base in the fault diagnosis process</title>
<p>The specific description of the kth rule in the belief rule base for fault diagnosis is provided in this article as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>F</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2227;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2227;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2227;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="normal">M</mml:mi>
</mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>T</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>In Eq. <xref ref-type="disp-formula" rid="e1">1</xref>, <italic>k</italic> represents that this belief rule is the kth rule in the belief rule base. <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi>&#x2148;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> indicates the reference values for the antecedent attributes; <italic>x</italic>
<sub>
<italic>i</italic>
</sub> (<inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) represents the ith input vector; and <italic>M</italic> indicates the number of fault symptoms in the kth rule. <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>K</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>K</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>K</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> represent the set formed by the reference values of antecedent attributes in the kth rule of the belief rule base. <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> indicate the output result after applying the reference values of input in the kth rule, where <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the output fault type and <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the confidence level of the conclusion for the fault type.</p>
<p>Through the reference values of antecedent attributes <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi>&#x2148;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>&#x2148;</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>&#x2148;</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the corresponding membership functions, evidence confidence <inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> for input symptom <italic>x</italic>
<sub>
<italic>i</italic>
</sub> can be calculated, where <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="normal">&#x2148;</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> represents the preset confidence level of the antecedent attribute (condition) and <inline-formula id="inf10">
<mml:math id="m11">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the actual value of feature <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>&#x2148;</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the threshold value for the symptom, and <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the limit value for the symptom.</p>
<p>For input variable <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the fuzzy membership function in this article is a linear membership function, and combining the threshold <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, limit <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and fuzzy membership function, the evidence confidence <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> corresponding to <italic>x</italic>
<sub>
<italic>i</italic>
</sub> is calculated.</p>
<p>Once the evidence confidence <inline-formula id="inf18">
<mml:math id="m19">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> for symptom <italic>x</italic>
<sub>
<italic>i</italic>
</sub> is obtained, the matching degree <inline-formula id="inf19">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for the current rule <italic>k</italic> can be calculated in Eq. <xref ref-type="disp-formula" rid="e2">2</xref>:<disp-formula id="e2">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>In the above equation, <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the matching degree for the current rule <italic>k</italic>, and <inline-formula id="inf21">
<mml:math id="m23">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the matching index, which is set based on expert experience; <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the preset confidence level for the antecedent attributes of the rule. If <inline-formula id="inf23">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is less than <inline-formula id="inf24">
<mml:math id="m26">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, it indicates that the matching degree for the current rule is less than the specified matching threshold. The matching result is true, and the confidence in matching for the conclusion is then computed. Otherwise, the matching result is false. The calculation for conclusion confidence is Eq. <xref ref-type="disp-formula" rid="e3">3</xref>:<disp-formula id="e3">
<mml:math id="m27">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mover accent="true">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>In the above equation, <inline-formula id="inf25">
<mml:math id="m28">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> represents the preset confidence level for the fault conclusion.</p>
<p>The belief rule base formed based on the expert system has certain limitations due to multiple fault symptoms related to multiple antecedent attributes being different, resulting in slow diagnostic times. This paper adopts Gaussian mixture clustering, and Naive Bayes theory iteratively learns the threshold <inline-formula id="inf26">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limit <inline-formula id="inf27">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for fault symptoms in the belief rule base. The inference calculation process of the belief rule base is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Inference calculation process of the belief rule base.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g001.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Belief rule-based optimization for fault diagnosis</title>
<p>This paper will integrate the theory of Naive Bayes and iteratively optimize the thresholds <inline-formula id="inf28">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf29">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the belief rule base to enhance the timeliness and accuracy of fault diagnosis results. The essence of Bayesian theory lies in determining the probability of the intrinsic attributes of a global incident based on the probability of the occurrence of local incidents. When analyzing a sample that is sufficiently large to approach the total sample size, the probability of incidents in the analyzed sample approaches the probability of incidents in the total sample. It is possible to infer the inherent attributes of the analyzed sample by examining the correlation between the analyzed and total samples. In this paper, the thresholds <inline-formula id="inf30">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf31">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for the analyzed sample are derived by analyzing the correlation between the analyzed and total samples.</p>
<p>A specific fault type is selected, and the historical operational data of various fault symptoms associated with that fault type as training sample <italic>D</italic> are used. The sliding window method is applied to partition the data sample <italic>D</italic>. It is divided into <italic>n</italic> windows, each with a width of <italic>L</italic>. <inline-formula id="inf32">
<mml:math id="m35">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Gaussian mixture clustering is performed on the fault symptom data <inline-formula id="inf33">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in each window to obtain the thresholds <inline-formula id="inf34">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf35">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for each fault symptom under that fault type in each window. <inline-formula id="inf36">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The fault data from each window are used as training samples, inputting both the thresholds <inline-formula id="inf37">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf38">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> corresponding to each window as labels into the Naive Bayes model. Then, another window is taken from a set of fault samples and input into the trained Bayesian model. The corrected thresholds <inline-formula id="inf39">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf40">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are calculated based on the correlation between this sample and the overall sample. The original thresholds <inline-formula id="inf41">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf42">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are replaced in the rule base with the new thresholds <inline-formula id="inf43">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limits <inline-formula id="inf44">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, respectively, iterating through all fault symptoms and sequentially completing the threshold and limit adjustments for all fault symptoms under that fault type. This process forms a completely new rule base. The third set of fault data is used to compare the diagnostic times between the original rule base and the new rule base. If the diagnostic time using the original rule base is ahead of the diagnostic time using the new rule base, iteration is continued. Otherwise, the optimization of the belief rule base is considered complete.</p>
<sec id="s3-1">
<title>3.1 Threshold and limit calculation based on Gaussian mixture clustering</title>
<p>Gaussian mixture clustering uses a probabilistic model to express clustering prototypes. The definition of a (multivariate) Gaussian distribution is as follows: for a random vector <italic>x</italic> in the <italic>n</italic>-dimensional sample space X, if <italic>x</italic> follows a Gaussian distribution, then the probability density function of <italic>x</italic> is given using the following equation:<disp-formula id="e4">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>F</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2227;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2227;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2227;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="normal">M</mml:mi>
</mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>A</mml:mi>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>T</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf45">
<mml:math id="m49">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the n-dimensional mean vector and <inline-formula id="inf46">
<mml:math id="m50">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf47">
<mml:math id="m51">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> covariance matrix. From Eq. <xref ref-type="disp-formula" rid="e4">4</xref>, it is evident that the Gaussian distribution is established solely by the parameters of the mean vector <inline-formula id="inf48">
<mml:math id="m52">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and the covariance matrix <inline-formula id="inf49">
<mml:math id="m53">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. To facilitate the representation of the relationship between the Gaussian distribution and its corresponding parameters, the probability density function of x is denoted as <inline-formula id="inf50">
<mml:math id="m54">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Thus, the definition of a Gaussian mixture distribution is given in Eq. <xref ref-type="disp-formula" rid="e5">5</xref>
<disp-formula id="e5">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>This distribution entails a total of <italic>k</italic> mixture components, each corresponding to a Gaussian distribution, where <inline-formula id="inf51">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf52">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>&#x2148;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the parameters of the ith Gaussian mixture component and <inline-formula id="inf53">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is the &#x201c;mixture coefficient&#x201d; corresponding to that parameter. Furthermore, there exists <inline-formula id="inf54">
<mml:math id="m59">
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Assuming the birth process of the samples is determined using a Gaussian mixture distribution, first a Gaussian mixture component is selected according to the distribution defined previously as <inline-formula id="inf55">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf56">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the probability of selecting the ith mixture component; upon selecting the mixture component, samples are drawn from its probability density function to generate the corresponding dataset.</p>
<p>Suppose the training set <inline-formula id="inf57">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is derived from the above process. Let the random variable <bold>
<italic>z</italic>
</bold>
<sub>
<italic>j</italic>
</sub>&#xf6; <inline-formula id="inf58">
<mml:math id="m63">
<mml:mrow>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> {<inline-formula id="inf59">
<mml:math id="m64">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>} represent the Gaussian mixture component for the jth sample <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub> in the training set, and its value is unknown to us. The prior probability <italic>P</italic> (<bold>
<italic>z</italic>
</bold>
<sub>
<italic>j</italic>
</sub> &#x3d; <italic>i</italic>) for <bold>
<italic>z</italic>
</bold>
<sub>
<italic>j</italic>
</sub> corresponds to <inline-formula id="inf60">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf61">
<mml:math id="m66">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. According to Bayes&#x2019; theorem, the expression for the posterior distribution of <bold>
<italic>z</italic>
</bold>
<sub>
<italic>j</italic>
</sub> should be<disp-formula id="e6">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>In other words, it provides the posterior probability that sample <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub> is generated by the ith Gaussian mixture component. For simplicity, let us denote it as <bold>
<italic>&#x3b3;</italic>
</bold>
<sub>
<italic>ji</italic>
</sub> (<inline-formula id="inf62">
<mml:math id="m68">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
<p>When the Gaussian mixture distribution in Eq. <xref ref-type="disp-formula" rid="e6">6</xref> is known, Gaussian mixture clustering will partition the dataset (<italic>D</italic>) into <italic>k</italic> clusters <bold>
<italic>E</italic>
</bold> &#x3d; {<inline-formula id="inf63">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>}, and the cluster label <bold>
<italic>&#x3bb;</italic>
</bold>
<sub>
<italic>j</italic>
</sub> for each sample <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub> is determined, as shown in Eq. <xref ref-type="disp-formula" rid="e7">7</xref>:<disp-formula id="e7">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">arg</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>Therefore, Gaussian mixture clustering describes prototypes using a probabilistic model based on the Gaussian distribution, and the cluster division is determined by the posterior probabilities corresponding to the prototypes.</p>
<p>So, for Eq. <xref ref-type="disp-formula" rid="e6">6</xref>, the method of solving the model parameters {(<bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x3bc;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x2211;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>}, setting the sample set <italic>D</italic>, can use maximum likelihood estimation. In other words, maximizing the (logarithm) likelihood, the calculation equation is as follows:<disp-formula id="e8">
<mml:math id="m71">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">ln</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x220f;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi mathvariant="italic">ln</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>The expectation&#x2013;maximization (EM) algorithm, a method for estimating parameters with hidden variables, is often used by the academic community for iterative optimization solutions. For easier understanding, a more accessible derivation is provided.</p>
<p>Assume that the parameters {(&#x3b1;<sub>
<italic>i</italic>
</sub>, <italic>&#x3bc;</italic>
<sub>
<italic>i</italic>
</sub>, &#x2211;<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>} maximize Eq. <xref ref-type="disp-formula" rid="e8">8</xref>; then from <inline-formula id="inf64">
<mml:math id="m72">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>, we obtain the Eq. <xref ref-type="disp-formula" rid="e9">9</xref>:<disp-formula id="e9">
<mml:math id="m73">
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:munder>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>From Eq. <xref ref-type="disp-formula" rid="e7">7</xref> and <inline-formula id="inf65">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="" close="|" separators="|">
<mml:mrow>
<mml:mi>&#x2148;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, we obtain the Eq. <xref ref-type="disp-formula" rid="e10">10</xref>:<disp-formula id="e10">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>that is, the means of all Gaussian mixture components can be estimated through an average calculated by assigning different weights to each sample, where the weight of each data sample is the posterior probability of that data sample belonging to the corresponding Gaussian mixture component. Similar to the above, we obtain the following equation:<disp-formula id="e11">
<mml:math id="m76">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>For the mixture coefficient <bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, in addition to maximizing LL (D), it is also necessary to satisfy the conditions <bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub> &#x2265; 0 and <inline-formula id="inf66">
<mml:math id="m77">
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The Lagrange form of LL (D) is shown in Eq. <xref ref-type="disp-formula" rid="e12">12</xref>:<disp-formula id="e12">
<mml:math id="m78">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>In the equation, <bold>
<italic>&#x3bb;</italic>
</bold> is the Lagrange multiplier. Calculating the derivative of Eq. <xref ref-type="disp-formula" rid="e12">12</xref> with respect to <bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub> and setting it to zero, we have<disp-formula id="e13">
<mml:math id="m79">
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:munder>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>l</mml:mi>
</mml:munder>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>Multiplying both sides by <bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub> and summing over all samples, it can be concluded that <bold>
<italic>&#x3bb;</italic>
</bold> &#x3d; &#x2013;<italic>m</italic>. Therefore, we have<disp-formula id="e14">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The mixture coefficient <bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub> for each Gaussian component is established based on the average posterior probability of the data samples assigned to that specific Gaussian component; it can be inferred from the information provided above.</p>
<p>The aforementioned derivation leads to the EM algorithm for Gaussian mixture models:</p>
<p>In each iteration of the process, the posterior probabilities <bold>
<italic>&#x3b3;</italic>
</bold>
<sub>
<italic>ji</italic>
</sub> are calculated first for each numerical sample determined for each component in the mixture based on the current parameter values (this is the E-step in the EM algorithm). Then, the model parameter values {(<italic>&#x3b1;</italic>
<sub>
<italic>i</italic>
</sub>, <italic>&#x3bc;</italic>
<sub>
<italic>i</italic>
</sub>, <italic>&#x2211;</italic>
<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>} are updated according to Eqs <xref ref-type="disp-formula" rid="e11">11</xref>, <xref ref-type="disp-formula" rid="e13">13</xref>, <xref ref-type="disp-formula" rid="e14">14</xref> (this is the M-step in the EM algorithm).</p>
<p>The pseudocode below provides a more intuitive representation of the algorithmic steps for the Gaussian mixture clustering algorithm, highlighting the calculation flow of the operations. From the pseudocode, it is evident that the first line initializes the model parameters for the Gaussian mixture distribution. Lines 2&#x2013;12 of the code involve iterative updates to the model parameters based on the EM algorithm. If the termination conditions for the EM algorithm are met [for example, reaching the maximum number of iterations or little to no increase in the likelihood function LL(D)], the code in lines 14&#x2013;17 determines the cluster assignments based on the pattern of the Gaussian mixture distribution, and finally, line 18 returns the clustering results.</p>
<p>The threshold <inline-formula id="inf67">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> caluculated from Eq. <xref ref-type="disp-formula" rid="e15">15</xref> for the ith window in this article is obtained by partitioning the weighted mean of each cluster. The limit <inline-formula id="inf68">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculated from Eq. <xref ref-type="disp-formula" rid="e16">16</xref> for window <italic>i</italic> is calculated by partitioning the sum of the weighted covariance of each cluster and the threshold:<disp-formula id="e15">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>1.96</mml:mn>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>Input: Sample set <inline-formula id="inf69">
<mml:math id="m85">
<mml:mrow>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>Number of Gaussian mixture components <italic>k</italic>.</p>
</list-item>
<list-item>
<p>Procedure:</p>
</list-item>
<list-item>
<p>1: Initialize the model parameters for the Gaussian mixture distribution {(<bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x3bc;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x2211;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>}</p>
</list-item>
<list-item>
<p>2: repeat</p>
</list-item>
<list-item>
<p>3: for <inline-formula id="inf70">
<mml:math id="m86">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> do (F-step)</p>
</list-item>
<list-item>
<p>4: calculate the posterior probability that <inline-formula id="inf71">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mover accent="true">
<mml:mi>j</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is generated by each mixture component, as follows: <inline-formula id="inf72">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="" close="|" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>5: end for</p>
</list-item>
<list-item>
<p>6: for <inline-formula id="inf73">
<mml:math id="m89">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> do (M-step)</p>
</list-item>
<list-item>
<p>7: calculate the new mean vector: <disp-formula id="inf74">
<mml:math id="m90">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</list-item>
<list-item>
<p>8: calculate the new covariance matrix:</p>
</list-item>
</list>
<disp-formula id="equ1">
<mml:math id="m91">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:munderover>
</mml:mstyle>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<list list-type="simple">
<list-item>
<p>9: Calculate the new mixture coefficients:</p>
</list-item>
</list>
<disp-formula id="equ2">
<mml:math id="m92">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<list list-type="simple">
<list-item>
<p>10: end for</p>
</list-item>
<list-item>
<p>11: update the model parameters {(<bold>
<italic>&#x3b1;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x3bc;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x2211;</italic>
</bold>
<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>} to{(<bold>
<italic>&#x3b1;</italic>
</bold>
<sup>
<italic>&#x2019;</italic>
</sup>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x3bc;</italic>
</bold>
<sup>
<italic>&#x2019;</italic>
</sup>
<sub>
<italic>i</italic>
</sub>, <bold>
<italic>&#x2211;</italic>
</bold>
<sup>
<italic>&#x2019;</italic>
</sup>
<sub>
<italic>i</italic>
</sub>)&#x7c;1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>}.</p>
</list-item>
<list-item>
<p>12: until the stopping condition is met (e.g., reaching the maximum number of iterations).</p>
</list-item>
<list-item>
<p>13: <bold>
<italic>E</italic>
</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <inline-formula id="inf75">
<mml:math id="m93">
<mml:mrow>
<mml:mo>&#x03D5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> (1 &#x2264; <italic>i</italic> &#x2264; <italic>k</italic>)</p>
</list-item>
<list-item>
<p>14: for <inline-formula id="inf76">
<mml:math id="m94">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> do</p>
</list-item>
<list-item>
<p>15: determine the cluster label <bold>
<italic>&#x3bb;</italic>
</bold>
<sub>
<italic>j</italic>
</sub> for <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub>.</p>
</list-item>
<list-item>
<p>16: assign <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub> to the corresponding cluster.</p>
</list-item>
<list-item>
<p>17: end for</p>
</list-item>
<list-item>
<p>Output: cluster partition <inline-formula id="inf77">
<mml:math id="m95">
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, mean set <inline-formula id="inf78">
<mml:math id="m96">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, covariance set <inline-formula id="inf79">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and weight coefficient set <inline-formula id="inf80">
<mml:math id="m98">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-2">
<title>3.2 Optimize thresholds and limits in the improved belief rule base</title>
<p>This paper focuses on improving the optimization of the best threshold limits in the belief rule base. It primarily consists of the following three parts: computing the optimal threshold and limit values, using the newly calculated threshold for fault diagnosis with the updated belief rule base, and iterating the belief rulebase.</p>
<sec id="s3-2-1">
<title>3.2.1 Using the Naive Bayes model to compute the optimal threshold</title>
<p>Based on the Bayesian formula and considering the correlation between historical operating data with a window width of M and the overall sample set D, the threshold <inline-formula id="inf81">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limit <inline-formula id="inf82">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are computed corresponding to the window. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>Step 1: The historical operating data corresponding to the rules (denoted as historical data 1 and 2) are taken and used as the training dataset and validation dataset, respectively.</p>
</list-item>
<list-item>
<p>Step 2: The sliding window method is used, with a window width set to <italic>M.</italic> Historical data 1 from step 1 are extracted, and for each window, Gaussian mixture clustering is performed on the data. This process yields the threshold <inline-formula id="inf83">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limit <inline-formula id="inf84">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for the fault symptom <italic>j</italic> in each window, where <inline-formula id="inf85">
<mml:math id="m103">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>.</italic>
</p>
</list-item>
<list-item>
<p>Step 3: The fault symptom data from each window are treated as a data sample <inline-formula id="inf86">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the training dataset <italic>D.</italic> The corresponding threshold <inline-formula id="inf87">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limit <inline-formula id="inf88">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculated in Step 2 are used as the class labels <italic>C</italic>
<sub>
<italic>i</italic>
</sub> for each data sample in <italic>D.</italic> Both are then input into the improved Naive Bayes model for training.</p>
</list-item>
</list>
</p>
<p>The expressions for the Naive Bayes model are Eq. <xref ref-type="disp-formula" rid="e17">17</xref> and Eq. <xref ref-type="disp-formula" rid="e18">18</xref>:<disp-formula id="e17">
<mml:math id="m107">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>In Eq. <xref ref-type="disp-formula" rid="e17">17</xref> and Eq. <xref ref-type="disp-formula" rid="e18">18</xref>, <italic>X</italic> represents the attribute feature set corresponding to <italic>D</italic>. <inline-formula id="inf89">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is an attribute feature vector, where <inline-formula id="inf90">
<mml:math id="m110">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf91">
<mml:math id="m111">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the n attributes in each attribute feature vector.<disp-formula id="e19">
<mml:math id="m112">
<mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>In Eq. <xref ref-type="disp-formula" rid="e19">19</xref> and Eq. <xref ref-type="disp-formula" rid="e20">20</xref>, <italic>Y</italic> represents the label set corresponding to <italic>X</italic>. <inline-formula id="inf92">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a label vector in the label set, where <inline-formula id="inf93">
<mml:math id="m115">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In Eq. <xref ref-type="disp-formula" rid="e21">21</xref> through Eq. <xref ref-type="disp-formula" rid="e24">24</xref>, prior probability <italic>P</italic> (<inline-formula id="inf94">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) and conditional probability <italic>P</italic> (<inline-formula id="inf95">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> &#x7c; <inline-formula id="inf96">
<mml:math id="m118">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) are determined during the model training process. After the completion of model training, for any <inline-formula id="inf97">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the feature vector <inline-formula id="inf98">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is extracted, <inline-formula id="inf99">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is substituted into h&#x2a;(&#xb7;), and the label vector <inline-formula id="inf100">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is obtained that maximizes <inline-formula id="inf101">
<mml:math id="m123">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x220f;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x7c;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>By inputting the window vector of the fault symptom data sample point into the model, the model can output the corresponding new threshold and limit values.</p>
<p>For ease of calculating conditional probability <italic>P</italic> (<inline-formula id="inf102">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> &#x7c; <inline-formula id="inf103">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), if the label vector <inline-formula id="inf104">
<mml:math id="m126">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is discrete, it can be made continuous. The calculation formula is as follows:<disp-formula id="e21">
<mml:math id="m127">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
<disp-formula id="e22">
<mml:math id="m128">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:msubsup>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:msubsup>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m129">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
<disp-formula id="e24">
<mml:math id="m130">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>In the equation, <inline-formula id="inf105">
<mml:math id="m131">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf106">
<mml:math id="m132">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the mean and variance of the first <italic>i</italic> window thresholds, respectively. Similarly, <inline-formula id="inf107">
<mml:math id="m133">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf108">
<mml:math id="m134">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the mean and variance of the first <italic>i</italic> window limits, respectively.<list list-type="simple">
<list-item>
<p>Step 4: After training the Naive Bayes model, a window width <italic>M</italic> of fault symptom data <italic>i</italic> is extracted from another set of fault data of the same fault type in Step 1 (historical data 2). These data are input into the trained Naive Bayes model, and the final threshold <inline-formula id="inf109">
<mml:math id="m135">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and limit <inline-formula id="inf110">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are obtained, corresponding to the window.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Diagnosing faults with the revised belief rule base</title>
<p>The computed threshold and limit values are taken as the threshold and limit values for the new belief rule base. Fault diagnosis is performed, the completion time of the diagnosis is recorded as <italic>T</italic>
<sub>2</sub>, and the completion time of the diagnosis for the original rule base is recorded as <italic>T</italic>
<sub>1</sub>. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>Step 1: Take the computed threshold and limit values as the new threshold and limit values for the original symptom j in the new belief rule-based, awaiting validation. Iterate through the <italic>H</italic> fault symptoms under this fault type, completing the replacement of all threshold and limit values for the fault symptoms under this fault type, where <inline-formula id="inf111">
<mml:math id="m137">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>.</italic>
</p>
</list-item>
<list-item>
<p>Step 2: Extract historical operating data for each fault symptom under the fault type in Step 1 (including another set of fault data). Input these data into both the original belief rule base before updating the symptom threshold and limit values and the new belief rule base after updating the symptom threshold and limit values. Perform fault diagnosis and compare the diagnosis completion times <italic>T</italic>
<sub>1</sub> and <italic>T</italic>
<sub>2</sub> between the two.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-2-3">
<title>3.2.3 Iterate the belief rule-based</title>
<p>The completion times <italic>T</italic>
<sub>1</sub> and <italic>T</italic>
<sub>2</sub> of the diagnosis are compared. If the time difference between <italic>T</italic>
<sub>2</sub> and <italic>T</italic>
<sub>1</sub> is greater than 10&#xa0;min, then the iteration for threshold and limit is concluded, completing the optimization of the belief rule base. Otherwise, iteration of the belief rule base is continued until the time difference between <italic>T</italic>
<sub>2</sub> and <italic>T</italic>
<sub>1</sub> is greater than 10&#xa0;min. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>Step 1: If the time difference between <italic>T</italic>
<sub>2</sub> and <italic>T</italic>
<sub>1</sub> is greater than 10&#xa0;min, assign the current best symptom threshold and limit values from the new belief rule base to the original belief rule base. Otherwise, increase the window width by <italic>L</italic> in Step 2 and go back to Step 3 for retraining. Repeat this process until the termination condition is met.</p>
</list-item>
<list-item>
<p>Step 2: After training is complete, output the number of training iterations and the calculated best symptom threshold and limit values. Modify the parameters of the symptom confidence function to create an improved belief rule base.</p>
</list-item>
</list>
</p>
<p>Fault symptoms that reach the threshold value later also achieve the corresponding confidence values later. However, when using the improved belief rule base in this paper for fault diagnosis, the confidence level of the symptom in the best confidence function reaches the matching value for determining the occurrence of the fault in the basic rule base faster and earlier. Therefore, it significantly improves the diagnosis speed of the belief rule base.</p>
<p>It is important to note that the offline training and validation process of the Naive Bayes model are specific to historical operating data related to a particular fault type, including fault data. During the model training process, the membership functions remain constant. On the other hand, the online application process is tailored to a determined fault type, selecting the model trained with historical operating data of the same fault type for the optimization of threshold and limit values. The flowchart of belief rule-based iterative optimization is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Flowchart of the belief rule-based iterative optimization.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g002.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Case study</title>
<p>In the instance verification of this paper, all program codes were executed in the same computing environment on a single computer. The specific hardware and software environments are presented in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Program hardware and software operating environment table.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="left">Hardware/software name</th>
<th align="left">Hardware/software model or version</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="4" align="left">Hardware environment</td>
<td align="left">Processing unit</td>
<td align="left">AMD Ryzen 5 5500&#xa0;U with Radeon Graphics @ 2.60&#xa0;GHz</td>
</tr>
<tr>
<td align="left">Random access memory (RAM)</td>
<td align="left">16&#xa0;GB</td>
</tr>
<tr>
<td align="left">Hard drive</td>
<td align="left">500&#xa0;GB</td>
</tr>
<tr>
<td align="left">Display card (computer)</td>
<td align="left">AMD Ryzen Graphics Processor (0 &#xd7; 164 C)</td>
</tr>
<tr>
<td rowspan="4" align="left">Software environment</td>
<td align="left">Operating system</td>
<td align="left">Windows 10 64-bit</td>
</tr>
<tr>
<td align="left">Python</td>
<td align="left">3.8.5</td>
</tr>
<tr>
<td align="left">TensorFlow</td>
<td align="left">2.3.0</td>
</tr>
<tr>
<td align="left">Keras</td>
<td align="left">2.1.0</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>First, using the established basic belief rule base for the heater, a fault diagnosis was conducted on the high-pressure heater and condenser of a 1000&#xa0;MW nuclear power plant. All operational data were sampled at 1-min intervals. The diagnostic results showed the following results.</p>
<p>The condenser D experienced cooling water copper tube leakage faults on 16 November 2016, at 11:53 a.m.; 18 October 2017, at 10:35 a.m.; and 5 November 2019, at 12:21 p.m. The rule-matching degrees at these three time points were 0.3915, 0.3896, and 0.3976, respectively. The confidence levels for the conclusion of cooling water copper tube leakage faults were 0.8673, 0.8312, and 0.8532, respectively.</p>
<p>The condenser E experienced insufficient circulating water faults on 28 October 2019, at 07:34 a.m.; 6 January 2020, at 06:24 a.m.; and 31 May 2020, at 17:06 p.m. The rule-matching degrees at these three time points were 0.3532, 0.3815, and 0.3369, respectively. The confidence levels for the conclusion of insufficient circulating water faults were 0.7617, 0.8124, and 0.7993, respectively.</p>
<p>The high-pressure heater F experienced tubing leakage faults on 20 December 2016, at 09:56 a.m.; 10 September 2018, at 20:01 p.m.; and 18 November 2019, at 15:16 p.m. The rule-matching degrees at these three time points were 0.3677, 0.3922, and 0.3767, respectively. The confidence levels for the conclusion of the tubing leakage faults were 0.7916, 0.7896, and 0.8373, respectively.</p>
<p>The above diagnostic results are consistent with the provided information from the nuclear power plant, and all diagnostic results are correct. For ease of understanding, the faults diagnosed by the basic belief rule base for the condenser and high-pressure heater at different times are referred to as the first, second, and third faults.</p>
<p>Before training the model, the training dataset is first subjected to data cleaning, removing outliers and blank data. Subsequently, normalization is performed using Eq. <xref ref-type="disp-formula" rid="e25">25</xref>. Data normalization not only enhances the convergence speed of the model but also improves the model&#x2019;s accuracy to some extent. After testing, the test results are subjected to inverse normalization to output the actual data.<disp-formula id="e25">
<mml:math id="m138">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>Here, <bold>
<italic>x</italic>
</bold>
<sub>
<italic>std</italic>
</sub> represents the normalized training dataset, <bold>
<italic>x</italic>
</bold>
<sub>
<italic>min</italic>
</sub> is the minimum value in the training dataset, and <bold>
<italic>x</italic>
</bold>
<sub>
<italic>max</italic>
</sub> is the maximum value in the training dataset.</p>
<p>To demonstrate the effectiveness of the improved method for calculating the optimal threshold and limit values in the belief rule base, a case study was conducted following the dataset partition shown in <xref ref-type="table" rid="T2">Table 2</xref>. The initial window width <italic>L</italic> was set to 60, and the increment in width <italic>M</italic> for each iteration was set to 60.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Division of the dataset for the optimal threshold limit calculation methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Dataset</th>
<th align="left">Data selection range</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="5" align="left">Training set</td>
<td align="left">Condenser D first copper tube leakage before failure</td>
</tr>
<tr>
<td align="left">50 &#xd7; <italic>L</italic> group data</td>
</tr>
<tr>
<td align="left">Condenser E first cycle water insufficient before failure</td>
</tr>
<tr>
<td align="left">50 &#xd7; <italic>L</italic> group data</td>
</tr>
<tr>
<td align="left">High-pressure heater F 50 &#xd7; <italic>L</italic> set of data before first tube system leakage failure</td>
</tr>
<tr>
<td rowspan="5" align="left">Validation set</td>
<td align="left">Condenser D second copper tube leakage before failure</td>
</tr>
<tr>
<td align="left">Group <italic>L</italic> data</td>
</tr>
<tr>
<td align="left">Condenser E second circulation water insufficient before failure</td>
</tr>
<tr>
<td align="left">Group <italic>L</italic> data</td>
</tr>
<tr>
<td align="left">High-pressure heater F second tubing system leakage before failure group <italic>L</italic> data</td>
</tr>
<tr>
<td rowspan="5" align="left">Test set</td>
<td align="left">Condenser D third copper tube leakage before failure</td>
</tr>
<tr>
<td align="left">400&#xa0;min for 400 datasets</td>
</tr>
<tr>
<td align="left">Condenser E third circulation water insufficient before failure</td>
</tr>
<tr>
<td align="left">400&#xa0;min for 400 datasets</td>
</tr>
<tr>
<td align="left">400 sets of data for 400&#xa0;min before the third leakage failure of the high-pressure heater F tube system</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Analyzing the dataset for condenser D, the improved model reached the constraint conditions after 11 training iterations. Using the improved belief rule base for the fault diagnosis of condenser D, a diagnosis of the third cooling water copper tube leakage fault for condenser D was made at 12:03 p.m. on 5 November 2019. The rule-matching degree and confidence level for the conclusion of a cooling water copper tube leakage fault at this time point were 0.3967 and 0.7965, respectively. Compared to the basic belief rule base, the diagnosis speed was improved by 18&#xa0;min.</p>
<p>If diagnosing the third cooling water copper tube leakage fault for condenser D using the basic belief rule base, the confidence states of each fault symptom around that time point are illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>. The red vertical dotted line corresponds to the moment when the improved belief rule base completes the diagnosis, and the orange vertical dotted line corresponds to the moment when the basic belief rule base completes the diagnosis. In the improved belief rule base, each fault symptom reaches the corresponding value in the confidence function defined by the optimal threshold and limit values faster than in the basic rule base. Therefore, the improved rule base has a faster diagnosis speed than the basic rule base.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Evidence confidence of each fault symptom before condenser D third cooling water copper tube leakage failure. <bold>(A)</bold> Hot well water level; <bold>(B)</bold> vacuum level; <bold>(C)</bold> temperature difference; <bold>(D)</bold> condensate sub-cooling; <bold>(E)</bold> condensate pump motor current; and <bold>(F)</bold> condensate pump outlet pressure.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g003.tif"/>
</fig>
<p>To more intuitively illustrate the advantages of the improved belief rule-based intelligent expert system, a comparative graph of the diagnostic results for the third cooling water copper tube leakage fault in condenser D of the nuclear power unit using both the basic and improved belief rule base is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. In the figure, the red vertical dotted line corresponds to the moment when the improved belief rule base completes the diagnosis, and the orange vertical dotted line corresponds to the moment when the basic belief rule base completes the diagnosis.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparative graph of diagnostic results for the second fault in condenser D using basic and improved belief rule bases.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g004.tif"/>
</fig>
<p>To test the universality of the improved belief rule base proposed in this paper, the same experimental process was followed for the dataset of condenser E. The improved model reached the constraint conditions after nine training iterations. The results indicate that the improved belief rule-based model can complete the diagnosis for the third insufficient circulating water fault in condenser E at 16:51 on 31 May 2020. The comparative results with the basic belief rule base are shown in <xref ref-type="fig" rid="F5">Figure 5</xref>. In the figure, the red vertical dotted line corresponds to the moment when the improved belief rule base completes the diagnosis, and the orange vertical dotted line corresponds to the moment when the basic belief rule base completes the diagnosis. For the second insufficient circulating water fault in condenser E, the improved belief rule base has a diagnosis speed improvement of 16&#xa0;min compared to the basic belief rule base.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Comparative graph of diagnostic results for the third fault in condenser E using basic and improved belief rule bases.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g005.tif"/>
</fig>
<p>Subsequently, the same experimental procedure was applied to analyze the dataset for high-pressure heater F. The improved model reached the constraint conditions after eight training iterations. It was found that the diagnosis of the third tube system leakage fault in heater F was completed at 15:01 on 18 November 2019. Compared to the basic belief rule base, the diagnosis speed was improved by 15&#xa0;min. The comparative results of the two rule bases are shown in <xref ref-type="fig" rid="F6">Figure 6</xref>. In the figure, the red vertical dotted line corresponds to the moment when the improved belief rule base completes the diagnosis, and the orange vertical dotted line represents the moment when the basic belief rule base completes the diagnosis.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Comparative graph of diagnostic results for the third fault in high-pressure heater F using basic and improved belief rule bases.</p>
</caption>
<graphic xlink:href="fenrg-12-1396841-g006.tif"/>
</fig>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In this paper, we conducted optimization research on belief rule bases using the Naive Bayes theory. Using Gaussian mixture clustering and Naive Bayes optimization, iteration is performed over the threshold and limit values of fault symptoms in the belief rule base, and we effectively addressed the timeliness and accuracy issues of a class of fault diagnoses with multiple fault symptoms related to multiple antecedent attribute differences. As historical fault samples accumulate, continuous iterative learning enhances the fit between the belief rule bases and real faults, promoting the speed of fault diagnosis. Diagnosing the cooling water copper tube leakage fault in condenser D using an improved belief rule-based approach resulted in an 18-min improvement in diagnostic speed compared to a basic belief rule-based approach. This approach has a certain reference value for fault rule-based diagnosis in process industries.</p>
<p>This optimization of the belief rule-based approach is researched based on the premise of certain membership functions. Further research could consider optimizing the membership functions. Additionally, fast convergence problems in fault diagnosis processes require further research.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>HQ: formal analysis, validation, and writing&#x2013;review and editing. YP: investigation, software, and writing&#x2013;original draft. XW: visualization and writing&#x2013;review and editing. ZL: supervision and writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This research was funded by the Nation Natural Science Foundation of Shanghai (Research on Uncertainty Reasoning and Correlation Mechanism in Nuclear Power Risk Assessment), grant number 192R1420700.</p>
</sec>
<ack>
<p>The authors thank the Shanghai Key Laboratory of Power Station Automation Technology for providing experimental facilities.</p>
</ack>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors XW and ZL were employed by China Nuclear Power Engineering Co., Ltd.</p>
<p>The remaining 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="s10">
<title>Publisher&#x2019;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>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ahmed</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Chakma</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>Hossain</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sarma</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>A combined belief rule based expert system to predict coronary artery disease</article-title>,&#x201d; in <conf-name>Proceedings of the 2020 International Conference on Inventive Computation Technologies (ICICT)</conf-name>, <conf-loc>Coimbatore, India</conf-loc>, <conf-date>26&#x2013;28 February 2020</conf-date>, <fpage>252</fpage>&#x2013;<lpage>257</lpage>.</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Qian</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Research on soot blowing diagnostic method of boiler heating surface based on evidence fusion</article-title>. <source>J. Electr. Power Sci. Technol.</source> <volume>33</volume> (<issue>3</issue>), <fpage>6</fpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.3969/j.issn.1673-9140.2018.03.021</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Frank</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Hall</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pfahringer</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2002</year>). &#x201c;<article-title>Locally weighted navie Bayes</article-title>,&#x201d; in <conf-name>Proceedings of the Nineteenth Conference on Uncertainty in Artificial Intelligence</conf-name>, <conf-loc>Acapulco, Mexico</conf-loc>, <conf-date>1&#x2013;5 August 2002</conf-date>, <fpage>249</fpage>&#x2013;<lpage>256</lpage>.</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lai</surname>
<given-names>C. S.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A multiscale recognition method for the optimization of traffic signs using GMM and category quality focal loss</article-title>. <source>Sensors</source> <volume>20</volume> (<issue>17</issue>), <fpage>4850</fpage>. <pub-id pub-id-type="doi">10.3390/s20174850</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Detection of moving targets by four-frame difference and modified Gaussian mixture model</article-title>. <source>Sci. Technol. Eng.</source> <volume>20</volume> (<issue>15</issue>), <fpage>6141</fpage>&#x2013;<lpage>6150</lpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.3969/j.issn.1671-1815.2020.15.037</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lv</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Moving image target detection based on modified Gaussian mixture model</article-title>. <source>Semicond. Optoelectron.</source> <volume>40</volume> (<issue>6</issue>), <fpage>874</fpage>&#x2013;<lpage>878</lpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.16818/j.issn1001-5868.2019.06.026</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>McLachlan</surname>
<given-names>G. J.</given-names>
</name>
<name>
<surname>Basford</surname>
<given-names>K. E.</given-names>
</name>
</person-group> (<year>1988</year>). <source>Mixture models: inference and applications to clustering</source>. <publisher-loc>New York, USA</publisher-loc>: <publisher-name>Marcel Dekker</publisher-name>.</citation>
</ref>
<ref id="B8">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Pearl</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1988</year>). <source>Probabilistic reasoning in intelligent systems: Networks of plausible inference</source>. <publisher-loc>Palo Alto, USA</publisher-loc>: <publisher-name>Morgan Kaufmann Publishers</publisher-name>. <pub-id pub-id-type="doi">10.1016/C2009-0-27609-4</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wolfe</surname>
<given-names>J. H.</given-names>
</name>
</person-group> (<year>1963</year>). <source>Object cluster analysis of social areas</source>. <publisher-loc>Berkeley</publisher-loc>: <publisher-name>University of California</publisher-name>. <comment>BS thesis</comment>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lv</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Gear fault recognition based on recurrence quantification analysis and Gaussian mixture model</article-title>. <source>J. Vibr. Eng.</source> <volume>24</volume> (<issue>1</issue>), <fpage>84</fpage>&#x2013;<lpage>88</lpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.3969/j.issn.1004-4523.2011.01.015</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>J. B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sii</surname>
<given-names>H. S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H. W.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Belief rule-base inference methodology using the evidential reasoning Approach-RIMER</article-title>. <source>IEEE Trans. Syst. Man. Cybern. Part A Syst. Humans</source> <volume>36</volume> (<issue>2</issue>), <fpage>266</fpage>&#x2013;<lpage>285</lpage>. <pub-id pub-id-type="doi">10.1109/TSMCA.2005.851270</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Research and realization of improved native Bayes classification algorithm under big data environment</article-title>. <source>J. Beijing Jiaot. Univ.</source> <volume>39</volume> (<issue>2</issue>), <fpage>35</fpage>&#x2013;<lpage>41</lpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.11860/j.issn.1673-0291.2015.02.006</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Qian</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Chu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fei</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Research on knowledge base of intelligent diagnosis expert based on tubing leakage of high-pressure heater in nuclear power plants</article-title>. <source>Nucl. Power Eng.</source> <volume>39</volume> (<issue>1</issue>), <fpage>146</fpage>&#x2013;<lpage>151</lpage>. <comment>(In Chinese)</comment>. <pub-id pub-id-type="doi">10.13832/j.jnpe.2018.01.0146</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>