<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Big Data</journal-id>
<journal-title>Frontiers in Big Data</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Big Data</abbrev-journal-title>
<issn pub-type="epub">2624-909X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fdata.2025.1599704</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Big Data</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Collaborative filtering based on nonnegative/binary matrix factorization</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Terui</surname> <given-names>Yukino</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/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Inoue</surname> <given-names>Yuka</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/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Hamakawa</surname> <given-names>Yohei</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/3143101/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Tatsumura</surname> <given-names>Kosuke</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2510662/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Kudo</surname> <given-names>Kazue</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2620050/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Computer Science, Ochanomizu University</institution>, <addr-line>Tokyo</addr-line>, <country>Japan</country></aff>
<aff id="aff2"><sup>2</sup><institution>Corporate Research and Development Center, Toshiba Corporation</institution>, <addr-line>Kawasaki</addr-line>, <country>Japan</country></aff>
<aff id="aff3"><sup>3</sup><institution>Graduate School of Information Sciences, Tohoku University</institution>, <addr-line>Sendai</addr-line>, <country>Japan</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: HanQin Cai, University of Central Florida, United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Md Yusuf Sarwar Uddin, University of Missouri-Kansas City, United States</p>
<p>Satakshi Singh, Sam Higginbottom University of Agriculture, Technology and Sciences, India</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Kazue Kudo <email>kudo&#x00040;is.ocha.ac.jp</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>29</day>
<month>07</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>8</volume>
<elocation-id>1599704</elocation-id>
<history>
<date date-type="received">
<day>24</day>
<month>04</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>11</day>
<month>07</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2025 Terui, Inoue, Hamakawa, Tatsumura and Kudo.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Terui, Inoue, Hamakawa, Tatsumura and Kudo</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>Collaborative filtering generates recommendations by exploiting user-item similarities based on rating data, which often contains numerous unrated items. To predict scores for unrated items, matrix factorization techniques such as nonnegative matrix factorization (NMF) are often employed. Nonnegative/binary matrix factorization (NBMF), which is an extension of NMF, approximates a nonnegative matrix as the product of nonnegative and binary matrices. While previous studies have applied NBMF primarily to dense data such as images, this paper proposes a modified NBMF algorithm tailored for collaborative filtering with sparse data. In the modified method, unrated entries in the rating matrix are masked, enhancing prediction accuracy. Furthermore, utilizing a low-latency Ising machine in NBMF is advantageous in terms of the computation time, making the proposed method beneficial.</p></abstract>
<kwd-group>
<kwd>Ising machine</kwd>
<kwd>low-latency</kwd>
<kwd>collaborative filtering</kwd>
<kwd>nonnegative/binary matrix factorization</kwd>
<kwd>combinatorial optimization</kwd>
</kwd-group>
<contract-num rid="cn001">JP23H04499</contract-num>
<contract-num rid="cn001">JP25H01522</contract-num>
<contract-sponsor id="cn001">Japan Society for the Promotion of Science<named-content content-type="fundref-id">https://doi.org/10.13039/501100001691</named-content></contract-sponsor>
<contract-sponsor id="cn002">Murata Science and Education Foundation<named-content content-type="fundref-id">https://doi.org/10.13039/501100008662</named-content></contract-sponsor>
<counts>
<fig-count count="8"/>
<table-count count="1"/>
<equation-count count="20"/>
<ref-count count="27"/>
<page-count count="10"/>
<word-count count="5879"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Data Science</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>Collaborative filtering is often applied in recommendation systems that primarily serve Internet services, such as e-commerce and video distribution platforms (Herlocker et al., <xref ref-type="bibr" rid="B9">2000</xref>; Su and Khoshgoftaar, <xref ref-type="bibr" rid="B23">2009</xref>). The essence of collaborative filtering lies in generating personalized recommendations based on the intrinsic similarities between users and items. Collaborative filtering relies on training data, in which users assign scores or ratings to various items. As it is common for users to omit ratings of specific items, leading to missing data, the central objective of collaborative filtering is to predict the scores for unrated items. Matrix factorization techniques, particularly nonnegative matrix factorization (NMF) (Lee and Seung, <xref ref-type="bibr" rid="B14">1999</xref>), are frequently employed. When using NMF for collaborative filtering, the ranking matrix <italic>V</italic>, whose entries are nonnegative, is approximated as the product of two nonnegative matrices <italic>W</italic> and <italic>H</italic>, that is, <italic>V</italic>&#x02248;<italic>WH</italic>. The standard approach involves minimizing the difference between <italic>V</italic> and <italic>WH</italic>. In the optimization procedure, each element of <italic>W</italic> and <italic>H</italic> is constrained to be nonnegative. While the multiplicative update algorithm is the most prevalent approach for NMF (Lee and Seung, <xref ref-type="bibr" rid="B15">2000</xref>), we focus on an alternative technique known as the nonnegative least-squares approach using the projected gradient method (PGM) (Lin, <xref ref-type="bibr" rid="B17">2007</xref>). The convergence of the alternative update method for NMF was proved by Lin (<xref ref-type="bibr" rid="B17">2007</xref>). Such an alternative optimization method is essential for solving nonnegative/binary matrix factorization (NBMF), which is an extension of NMF. O&#x00027;Malley et al. (<xref ref-type="bibr" rid="B20">2018</xref>) and Golden and O&#x00027;Malley (<xref ref-type="bibr" rid="B4">2021</xref>) used D-Wave&#x00027;s quantum annealers to solve quadratic binary optimization problems involved in NBMF and demonstrated a speedup compared with two classical solvers.</p>
<p>In recent years, Ising machines, initially designed to solve combinatorial optimization problems efficiently, have found new applications in the field of machine learning, expanding their scope beyond their original purpose (Kitai et al., <xref ref-type="bibr" rid="B13">2020</xref>; Willsch et al., <xref ref-type="bibr" rid="B25">2020</xref>; Nath et al., <xref ref-type="bibr" rid="B19">2021</xref>). Ising machines are special-purpose computers for solving combinatorial optimization problems. They are realized by several types of devices, such as quantum annealers (Johnson et al., <xref ref-type="bibr" rid="B12">2011</xref>), digital processors based on simulated annealing (Yamaoka et al., <xref ref-type="bibr" rid="B27">2016</xref>; Aramon et al., <xref ref-type="bibr" rid="B1">2019</xref>; Yamamoto et al., <xref ref-type="bibr" rid="B26">2020</xref>), digital processors based on simulated bifurcation (SB) (Goto et al., <xref ref-type="bibr" rid="B6">2019</xref>; Hidaka et al., <xref ref-type="bibr" rid="B10">2023</xref>), and coherent Ising machines (Inagaki et al., <xref ref-type="bibr" rid="B11">2016</xref>; McMahon et al., <xref ref-type="bibr" rid="B18">2016</xref>; Pierangeli et al., <xref ref-type="bibr" rid="B21">2019</xref>). As Ising machines usually accept problems described by the Ising model or quadratic unconstrained binary optimization formulation, their application to machine learning requires hybrid methods that utilize both an Ising machine and a general-purpose computer (e.g., a CPU). In NBMF, the matrix elements of <italic>H</italic> are binary, whereas those of <italic>W</italic> are real and nonnegative. Therefore, an Ising machine is employed to accelerate the update of matrix <italic>H</italic>, whereas a general-purpose computer handles the update of matrix <italic>W</italic>. As the updates of matrices <italic>H</italic> and <italic>W</italic> are repeated alternately, NBMF inevitably involves a computation time overhead owing to the communication between the Ising machine and the CPU. The advantages and disadvantages of NMF and NBMF remain unclear in terms of solution quality, computation time, and applicability to sparse problems.</p>
<p>In this paper, we propose a novel approach for applying NBMF to collaborative filtering and demonstrate the advantages of utilizing a low-latency Ising machine to execute the proposed method. Previous studies have employed NBMF for image analysis that deals with dense data matrices, where the majority of matrix elements have nonzero values (O&#x00027;Malley et al., <xref ref-type="bibr" rid="B20">2018</xref>; Asaoka and Kudo, <xref ref-type="bibr" rid="B2">2020</xref>, <xref ref-type="bibr" rid="B3">2023</xref>). By contrast, collaborative filtering involves sparse data matrices, with most elements remaining undetermined. We propose a modified NBMF algorithm that masks undetermined elements within the data matrix to improve the prediction accuracy. In addition, we compare NBMF with NMF in terms of solution quality and computation time, and investigate the dependency of these characteristics on the sparsity and size of the problem. To accelerate the NBMF algorithm, we used an SB-based machine implemented with a field-programmable gate array (FPGA) (Goto et al., <xref ref-type="bibr" rid="B5">2021</xref>; Hidaka et al., <xref ref-type="bibr" rid="B10">2023</xref>) that supports up to 2,048 spins and has full spin-to-spin connectivity (no need for minor embedding techniques required for local-connectivity Ising machines). Incorporating an SB-based machine to update the binary matrix elements yields a substantial reduction in the overall computational time required for NBMF compared with NMF.</p>
<p>Furthermore, the low-latency characteristic of the SB-based machine is advantageous for executing the iterative method using a general-purpose computer (a CPU) and an Ising machine, alternatively, reducing the communication time between them. It is also possible to use a cloud-hosted Ising machine for executing the proposed method. While a high-performance cloud-hosted Ising machine can significantly reduce computation time, the communication time of accessing it may negate the benefits. Therefore, utilizing the low-latency system is crucial. This study presents the first empirical evidence that NBMF, when implemented with a low-latency Ising machine, surpasses NMF in terms of both solution quality and overall computational efficiency.</p></sec>
<sec id="s2">
<title>2 Problem formulation</title>
<p>NBMF and NMF decompose a nonnegative <italic>n</italic>&#x000D7;<italic>m</italic> matrix <italic>V</italic> into an <italic>n</italic>&#x000D7;<italic>k</italic> matrix <italic>W</italic> and a <italic>k</italic>&#x000D7;<italic>m</italic> matrix <italic>H</italic>:</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>V</mml:mi><mml:mo>&#x02248;</mml:mo><mml:mi>W</mml:mi><mml:mi>H</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>W</italic> is a nonnegative real matrix. While <italic>H</italic> is a binary matrix in which each element is 0 or 1 for NBMF, it is a nonnegative real matrix for NMF. We assume that <italic>n</italic>&#x0003E;<italic>k</italic> and <italic>m</italic>&#x0003E;<italic>k</italic>, which implies that NBMF and NMF provide low-rank matrix approximations of <italic>V</italic>. The rank constraint is helpful to prevent overfitting. Moreover, NBMF can be more resilient to overfitting due to the binary nature of matrix <italic>H</italic>.</p>
<p>In the context of collaborative filtering, <italic>V</italic> is a rating matrix, where the (<italic>i, j</italic>) element <italic>v</italic><sub><italic>ij</italic></sub> represents user <italic>i</italic>&#x00027;s rating of item <italic>j</italic>. In matrix <italic>W</italic>, each row corresponds to a user, while each column represents a basis vector associated with user preferences. In other words, <italic>W</italic> consists of <italic>k</italic> basis vectors, with each dimension being <italic>n</italic>. Meanwhile, each column of <italic>H</italic> represents the coefficient vector related to the corresponding item. In NBMF, this coefficient vector indicates the combination of the selected basis vectors for the corresponding item. In general, the rating matrix contains numerous unrated entries. Matrix factorization techniques optimize <italic>W</italic> and <italic>H</italic> so that each rated entry in <italic>V</italic> is well approximated by the corresponding element of <italic>WH</italic>. Then, each unrated entry in <italic>V</italic> is estimated by the corresponding element of <italic>WH</italic>.</p>
<p>The comparison between NMF and other collaborative filtering techniques has already been extensively studied (Lee et al., <xref ref-type="bibr" rid="B16">2014</xref>; Singh et al., <xref ref-type="bibr" rid="B22">2024</xref>). Compared to user-based and item-based collaborative filtering techniques, matrix factorization techniques demonstrated better performance in recommendation systems on multi-criteria datasets (Singh et al., <xref ref-type="bibr" rid="B22">2024</xref>). In particular, NMF is scalable to large datasets and can capture individual user preferences. However, there has been no direct comparison between NMF and NBMF. This paper focuses on comparing the two methods.</p></sec>
<sec sec-type="methods" id="s3">
<title>3 Methods</title>
<sec>
<title>3.1 Algorithm</title>
<p>The approach to conducting matrix factorization involves minimizing ||<italic>V</italic>&#x02212;<italic>WH</italic>||<sub><italic>F</italic></sub>, where the Frobenius norm is defined as <inline-formula><mml:math id="M2"><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msqrt></mml:math></inline-formula>, and <italic>A</italic><sub><italic>ij</italic></sub> is the (<italic>i, j</italic>) element of <italic>A</italic>. To achieve minimization, NBMF employs an iterative alternative update procedure as follows:</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M3"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mtext>arg&#x000A0;min</mml:mtext></mml:mrow><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mi>&#x0211D;</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:munder><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>V</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>X</mml:mi><mml:mi>H</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mo>&#x003BB;</mml:mo><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x02016;</mml:mo><mml:mi>X</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="E3"><label>(3)</label><mml:math id="M4"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mtext>arg&#x000A0;min</mml:mtext></mml:mrow><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mo>&#x0007B;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x0007D;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:munder><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>V</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>W</mml:mi><mml:mi>X</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mo>&#x003BB;</mml:mo><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x02016;</mml:mo><mml:mi>X</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>
<p>where <italic>X</italic> is a matrix that corresponds to <italic>W</italic> and <italic>H</italic> in <xref ref-type="disp-formula" rid="E2">Equations 2</xref>, <xref ref-type="disp-formula" rid="E3">3</xref>, respectively. Hyperparameters &#x003BB;<sub>1</sub> and &#x003BB;<sub>2</sub> are positive.</p>
<p>Matrix <italic>W</italic> is updated row-by-row. The objective function for the row vector <italic>x</italic><sup>&#x022A4;</sup> of <italic>W</italic> is given by</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>v</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x022A4;</mml:mo></mml:mrow></mml:msup><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>v</italic><sup>&#x022A4;</sup> is the corresponding row vector in matrix <italic>V</italic>. We applied the PGM to minimize the objective function for each row vector, as detailed in Section 3.2. The PGM was executed using a general-purpose computer. In contrast, matrix <italic>H</italic> is updated column-by-column. The objective function for optimizing the column vector <italic>q</italic> (&#x02208;{0, 1}<sup><italic>k</italic></sup>) of <italic>H</italic> is given by</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>u</mml:mi><mml:mo>-</mml:mo><mml:mi>W</mml:mi><mml:mi>q</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>q</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>u</italic> is the corresponding column vector in matrix <italic>V</italic>. To minimize the objective function for each column, we employed an SB-based Ising machine, as <xref ref-type="disp-formula" rid="E5">Equation 5</xref> can be reformulated in the Ising model form (see Section 3.4 for details).</p>
<p>The overall flow of NBMF is illustrated in <xref ref-type="fig" rid="F1">Figure 1</xref>. The process of updating matrix <italic>W</italic>, followed by the update of matrix <italic>H</italic>, was repeated for 10 iterations in this paper.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Overall flow of NBMF. Matrix &#x01E7C; is an approximation of matrix <italic>V</italic>.</p></caption>
<alt-text>Flowchart illustrating a process with three main steps: starting with input V, updating matrix W following equation (2) using the PGM, then updating matrix H following equation (3) using the Ising machine, and resulting in the output of updated matrices W, H, and &#x01E7C; = WH.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0001.tif"/>
</fig>
<p>In this study, we compared NBMF with NMF. In NMF, <xref ref-type="disp-formula" rid="E2">Equations 2</xref>, <xref ref-type="disp-formula" rid="E3">3</xref> are also used; however, <italic>X</italic>&#x02208;{0, 1}<sup><italic>k</italic>&#x000D7;<italic>m</italic></sup> in <xref ref-type="disp-formula" rid="E3">Equation 3</xref> is substituted by <inline-formula><mml:math id="M7"><mml:mi>X</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x0002B;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Furthermore, each column vector <italic>q</italic> in <xref ref-type="disp-formula" rid="E5">Equation 5</xref> is nonnegative. <xref ref-type="disp-formula" rid="E4">Equations 4</xref>, <xref ref-type="disp-formula" rid="E5">5</xref> were minimized using the PGM in NMF, and the computation was executed on a general-purpose processor (a CPU).</p>
</sec>
<sec>
<title>3.2 Projected gradient method</title>
<p>The PGM (Lin, <xref ref-type="bibr" rid="B17">2007</xref>) for updating matrix <italic>W</italic> minimizes <xref ref-type="disp-formula" rid="E4">Equation 4</xref>, and the gradient is given by</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x02207;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>v</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x022A4;</mml:mo></mml:mrow></mml:msup><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The update rule for <italic>x</italic> is given by</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02207;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where the projection is defined as</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M10"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy='false'>[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy='false'>]</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x0003C;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>In this study, we set <italic>x</italic><sub>max</sub> &#x0003D; 1 as the upper bound of <italic>x</italic><sub><italic>i</italic></sub>. The learning rate &#x003B3;<sub><italic>t</italic></sub> was adjusted at each step <italic>t</italic> to satisfy the following inequality:</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mo>&#x02207;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x022A4;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003C3; &#x0003D; 0.01 in our experiments. Initially, we assigned &#x003B3;<sub><italic>t</italic>&#x02212;1</sub> to &#x003B3;<sub><italic>t</italic></sub> (&#x003B3;<sub>0</sub> &#x0003D; 1). If &#x003B3;<sub><italic>t</italic></sub> satisfies <xref ref-type="disp-formula" rid="E9">Equation 9</xref>, it is repeatedly divided by &#x003B2;, where we set &#x003B2; &#x0003D; 0.1 in our experiments, while the inequality holds. If &#x003B3;<sub><italic>t</italic></sub> does not satisfy <xref ref-type="disp-formula" rid="E9">Equation 9</xref>, it is repeatedly multiplied by &#x003B2; until the inequality is satisfied. Following this adjustment, we calculated <italic>x</italic><sup><italic>t</italic>&#x0002B;1</sup> using <xref ref-type="disp-formula" rid="E7">Equation 7</xref>. This procedure is repeated until ||<italic>x</italic><sup><italic>t</italic>&#x0002B;1</sup>&#x02212;<italic>x</italic><sup><italic>t</italic></sup>||&#x0226A;&#x003F5;, where &#x003F5; &#x0003D; 10<sup>&#x02212;7</sup> in our experiments.</p>
</sec>
<sec>
<title>3.3 Masking procedure</title>
<p>Given that the rating matrix is typically sparse, the handling of unrated entries has a significant impact on the performance of collaborative filtering. A straightforward approach is to assign a rating of zero to unrated entries, which is a simple and practical choice. Another method for handling unrated entries is to introduce a mask matrix of the same size as matrix <italic>V</italic> after assigning them a zero rating. The elements of the mask matrix <italic>M</italic> are defined as follows:</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M12"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>1</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02260;</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>For collaborative filtering, we propose a modified NBMF method in which the masked matrix is decomposed as</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mo>&#x01D52;</mml:mo><mml:mi>V</mml:mi><mml:mo>&#x02248;</mml:mo><mml:mi>M</mml:mi><mml:mo>&#x01D52;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>W</mml:mi><mml:mi>H</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x000B0; denotes the Hadamard product (<italic>M</italic>&#x000B0;<italic>V</italic>)<sub><italic>ij</italic></sub> &#x0003D; <italic>M</italic><sub><italic>ij</italic></sub><italic>V</italic><sub><italic>ij</italic></sub>.</p>
<p>In the modified NBMF algorithm, the objective function for updating matrix <italic>W</italic>, as defined by <xref ref-type="disp-formula" rid="E4">Equation 4</xref>, is replaced with</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x022A4;</mml:mo></mml:mrow></mml:msup><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>When updating the <italic>i</italic>th row, the <italic>j</italic>th element consists of &#x01E7D;<sub><italic>j</italic></sub> &#x0003D; <italic>M</italic><sub><italic>ij</italic></sub><italic>V</italic><sub><italic>ij</italic></sub> and <inline-formula><mml:math id="M15"><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x022A4;</mml:mo></mml:mrow></mml:msup><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Similarly, the objective function for updating matrix <italic>H</italic>, as expressed in <xref ref-type="disp-formula" rid="E5">Equation 5</xref>, is replaced by</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mi>q</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>q</mml:mi><mml:mo>|</mml:mo><mml:msup><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>When updating the <italic>j</italic>th column, the <italic>i</italic>th element consists of &#x00169;<sub><italic>i</italic></sub> &#x0003D; <italic>M</italic><sub><italic>ij</italic></sub><italic>V</italic><sub><italic>ij</italic></sub> and <inline-formula><mml:math id="M17"><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mi>q</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec>
<title>3.4 Ising formulation</title>
<p>The Ising machine (the SB-based machine in this study) seeks spin configurations that minimize the energy of the Ising model defined by</p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Here, <italic>s</italic><sub><italic>i</italic></sub> &#x0003D; &#x000B1;1 represents the <italic>i</italic>th spin, <italic>J</italic><sub><italic>ij</italic></sub> is the coupling coefficient between the <italic>i</italic>th and <italic>j</italic>th spins, and <italic>h</italic><sub><italic>i</italic></sub> is the local field on the <italic>i</italic>th spin. For minimizing <xref ref-type="disp-formula" rid="E5">Equation 5</xref>, <italic>J</italic><sub><italic>ij</italic></sub> and <italic>h</italic><sub><italic>i</italic></sub> are given as follows:</p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M19"><mml:msub><mml:mi>J</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mstyle displaystyle='true'><mml:msub><mml:mo>&#x02211;</mml:mo><mml:mi>r</mml:mi></mml:msub><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x02260;</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="E16"><label>(16)</label><mml:math id="M20"><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mi>r</mml:mi></mml:munder><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mi>j</mml:mi></mml:munder><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:mo>&#x02212;</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>u</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mo>&#x003BB;</mml:mo><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula>
<p>For minimizing <xref ref-type="disp-formula" rid="E13">Equation 13</xref> to update the <italic>j</italic>th row of <italic>M</italic>&#x000B0;(<italic>WH</italic>), <italic>W</italic><sub><italic>rl</italic></sub> in <xref ref-type="disp-formula" rid="E15">Equations 15</xref>, <xref ref-type="disp-formula" rid="E16">16</xref> are replaced with <inline-formula><mml:math id="M21"><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec>
<title>3.5 Simulated-bifurcation-based Ising machine</title>
<p>The SB algorithm, which is based on the adiabatic evolution in classical nonlinear systems that exhibit bifurcation, was introduced to accelerate combinatorial optimization (Goto et al., <xref ref-type="bibr" rid="B6">2019</xref>; Tatsumura et al., <xref ref-type="bibr" rid="B24">2020</xref>; Goto et al., <xref ref-type="bibr" rid="B5">2021</xref>). The SB algorithm has several variants, including adiabatic, ballistic, and discrete SB. In this study, we employed the ballistic SB method, whose update rule is described below (Goto et al., <xref ref-type="bibr" rid="B5">2021</xref>):</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M22"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E18"><label>(18)</label><mml:math id="M23"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x0002B;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi>a</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x003B7;</mml:mi><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mo>&#x00394;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E19"><label>(19)</label><mml:math id="M24"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mo>&#x00394;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>x</italic><sub><italic>i</italic></sub> and <italic>y</italic><sub><italic>i</italic></sub> are real numbers corresponding to the <italic>i</italic>th spin; <italic>a</italic><sub>0</sub>, <italic>c</italic><sub>0</sub>, and &#x003B7; are positive constants; and <italic>a</italic>(<italic>t</italic>) is a control parameter that increases from zero to <italic>a</italic><sub>0</sub>. The time increment is &#x00394;<sub><italic>t</italic></sub>; thus, <italic>t</italic><sub><italic>k</italic>&#x0002B;1</sub> &#x0003D; <italic>t</italic><sub><italic>k</italic></sub>&#x0002B;&#x00394;<sub><italic>t</italic></sub>. After updating <italic>x</italic><sub><italic>i</italic></sub> at each time step, if |<italic>x</italic><sub><italic>i</italic></sub>|&#x0003E;1, we replace <italic>x</italic><sub><italic>i</italic></sub> with sgn(<italic>x</italic><sub><italic>i</italic></sub>) &#x0003D; &#x000B1;1 and set <italic>y</italic><sub><italic>i</italic></sub> &#x0003D; 0.</p>
<p>In our experiments, we employed a device with the FPGA implementation of the SB algorithm (SB-based Ising machine) to minimize <xref ref-type="disp-formula" rid="E5">Equations 5</xref>, <xref ref-type="disp-formula" rid="E13">13</xref>. The SB-based Ising machine (<xref ref-type="fig" rid="F2">Figure 2</xref>) can solve fully-connected 2,048-spin Ising problems (the machine size <italic>M</italic> is 2,048), featuring a computational precision of 32-bit floating points and a system clock frequency of 259 MHz. As shown in <xref ref-type="fig" rid="F2">Figure 2a</xref>, the FPGA (Intel Stratix 10 SX 2800 FPGA) on the board (Intel FPGA PAC D5005 accelerator card) is connected to a CPU (Intel Core i9-9900K, 3.60 GHz) via a PCIe bus (Gen 3 &#x000D7; 16, peak bandwidth of 15.75 GB/s). The NBMF process is executed using a CPU; however, the Ising problems described in <xref ref-type="disp-formula" rid="E15">Equations 15</xref>, <xref ref-type="disp-formula" rid="E16">16</xref> are transferred/solved (offloaded) to/using the SB-based Ising machine. The computation times shown in Section 4 include the processing times of the CPU and FPGA and the data transfer times (overhead times) between them. The NMF process was executed only on the CPU (no data transfer time). The column update problems involved in updating matrix <italic>H</italic> (<xref ref-type="disp-formula" rid="E5">Equation 5</xref>), each formulated as an Ising problem of size <italic>k</italic> (<xref ref-type="disp-formula" rid="E15">Equations 15</xref>, <xref ref-type="disp-formula" rid="E16">16</xref>), are independent and thus can be processed simultaneously. By packing the multiple-column update problems as a large Ising problem, as shown in <xref ref-type="fig" rid="F2">Figure 2b</xref> (placing the small <italic>J</italic> matrices on the diagonal line with zero padding to the remaining off-diagonal components), we solve &#x0230A;<italic>M</italic>/<italic>k</italic>&#x0230B; column update problems simultaneously using the SB-based Ising machine with size <italic>M</italic>, where &#x0230A;<italic>A</italic>&#x0230B; is the floor function of <italic>A</italic>&#x02208;&#x0211D;.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>SB-based Ising machine. <bold>(a)</bold> System configuration. <bold>(b)</bold> Packing of multiple small Ising problems as a large Ising problem.</p></caption>
<alt-text>Diagram showing two panels: (a) A server setup with a CPU labeled &#x0201C;NBMF process&#x0201D; connected to an FPGA labeled &#x0201C;SB-based Ising machine&#x0201D; via a PCIe BUS. Arrows indicate data exchanges labeled siopt, Jij, and hi. (b) A matrix representation indicating Jij and hi, packing multiple small Ising problems as a large Ising problem.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0002.tif"/>
</fig>
</sec>
<sec>
<title>3.6 Data preparation</title>
<p>In this study, we used the MovieLens 1M dataset (Harper and Konstan, <xref ref-type="bibr" rid="B8">2015</xref>); Netflix Prize data<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref>; Yahoo! Music user ratings of songs with artist, album, and genre meta information<xref ref-type="fn" rid="fn0002"><sup>2</sup></xref>; and the CiaoDVD dataset (Guo et al., <xref ref-type="bibr" rid="B7">2014</xref>). These datasets were sparse, as shown in <xref ref-type="table" rid="T1">Table 1</xref>. The numbers of users and items presented in <xref ref-type="table" rid="T1">Table 1</xref> are the dataset sizes imported for the calculation in this study. The filling rate, which is the proportion of rated entries, differs among the datasets. To compare the results of these datasets, we extracted data from them to create a rating matrix with a specified filling rate.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Dataset sizes (the numbers of users and items) and filling rates used in this study.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#8f9496;color:#ffffff">
<th valign="top" align="left"><bold>Dataset</bold></th>
<th valign="top" align="center"><bold>Users</bold></th>
<th valign="top" align="center"><bold>Items</bold></th>
<th valign="top" align="center"><bold>Filling rate</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">MovieLens</td>
<td valign="top" align="center">6,040</td>
<td valign="top" align="center">3,706</td>
<td valign="top" align="center">4.47%</td>
</tr> <tr>
<td valign="top" align="left">Netflix</td>
<td valign="top" align="center">432,229</td>
<td valign="top" align="center">1,406</td>
<td valign="top" align="center">1.15%</td>
</tr> <tr>
<td valign="top" align="left">Yahoo</td>
<td valign="top" align="center">2,677</td>
<td valign="top" align="center">126,478</td>
<td valign="top" align="center">0.30%</td>
</tr>
<tr>
<td valign="top" align="left">CiaoDVD</td>
<td valign="top" align="center">21,019</td>
<td valign="top" align="center">71,633</td>
<td valign="top" align="center">0.11%</td>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The original sizes of the Netflix and Yahoo datasets are significantly larger: the Netflix dataset includes 480,189 users, and the Yahoo dataset includes 1.8 million users.</p>
</table-wrap-foot>
</table-wrap>
<p>The method for extracting data at a specified filling rate is as follows. First, we sorted the columns in descending order by the percentage of filled elements in each column and then sorted the rows similarly. Next, we selected an <italic>n</italic>&#x000D7;<italic>m</italic> matrix whose (1, 1) element coincides with the first-row and first-column element of the sorted table, and calculated the filling rate of the matrix. By shifting the (1, 1)-element location by one row and one column in the sorted table, we repeated the calculation of the filling rate. The <italic>n</italic>&#x000D7;<italic>m</italic> matrix with the closest filling rate to the desired filling rate was selected as the rating matrix.</p>
</sec>
<sec>
<title>3.7 Parameter settings and evaluation</title>
<p>By extracting data from each dataset, we constructed a rating matrix in which 20% of the elements were rated unless otherwise specified. The numbers of users (rows) and items (columns) in the rating matrix are <italic>n</italic> &#x0003D; 250 and <italic>m</italic> &#x0003D; 500, respectively, and the number of features is set to half the number of users, that is, <italic>k</italic> &#x0003D; <italic>n</italic>/2, unless otherwise specified. For the learning process, which involved the execution of NBMF/NMF, we concealed 20% of the rated elements together with the unrated ones. To evaluate the performance, we used the root mean squared error (RMSE) of the rated elements:</p>
<disp-formula id="E20"><label>(20)</label><mml:math id="M26"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:mrow></mml:munder></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M27"><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow></mml:math></inline-formula> is the set of rated elements, and <inline-formula><mml:math id="M28"><mml:mo>|</mml:mo><mml:mrow><mml:mi mathvariant="script">D</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:math></inline-formula> is the number of rated elements. <italic>v</italic><sub><italic>ij</italic></sub> is user <italic>i</italic>&#x00027;s rating for item <italic>j</italic>, and <italic>r</italic><sub><italic>ij</italic></sub> denotes the corresponding predicted rating.</p>
<p>We set the hyperparameters in <xref ref-type="disp-formula" rid="E2">Equations 2</xref>, <xref ref-type="disp-formula" rid="E3">3</xref> as <inline-formula><mml:math id="M29"><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula><mml:math id="M30"><mml:msub><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, which were tuned for the MovieLens dataset using a grid search. Parameters in <xref ref-type="disp-formula" rid="E9">Equations 9</xref>, <xref ref-type="disp-formula" rid="E17">17</xref> were also tuned for the case of the MovieLens dataset. Although the optimal values may depend on the dataset and matrix size, we used the fixed values for simplicity.</p>
<p>In our experiments, we applied NBMF and NMF to the same rating matrix. To ensure a comprehensive evaluation, we divided the rated elements into five distinct sets and performed five trials, masking one set at a time. The average was calculated for five trials unless otherwise specified.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Results and discussion</title>
<p><xref ref-type="fig" rid="F3">Figure 3</xref> shows a comparison of RMSE and computation time of NBMF and NMF for 10 epochs. Each epoch involves updating matrix <italic>W</italic> followed by updating matrix <italic>H</italic>. The data points represent the averages of RMSE and computation time at each epoch, with some error bars too small to be observed. <xref ref-type="fig" rid="F3">Figure 3</xref> shows that the RMSE decays more rapidly in NBMF than in NMF for all datasets. Although the difference in the RMSE at each epoch between NBMF and NMF was negligible, the difference among the datasets was remarkable. The difference among the datasets originates from the frequency distribution of the ratings in each dataset. As elaborated later, when the distribution was sharp and the variance was small, the RMSE tended to be small. In contrast, when the variance in the frequency was large, the RMSE was relatively large.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>RMSE and computation time at each epoch, averaged over five trials, for <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets. The error bars denote the standard deviation.</p></caption>
<alt-text>Four line graphs labeled (a) to (d) compare NBMF, a blue line, and NMF, a red line, in terms of root mean squared error (RMSE) over time in seconds. In each graph, the RMSE decreases over time, stabilizing at a lower value.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0003.tif"/>
</fig>
<p>The filling rate of a rating matrix, which is the proportion of rated elements, influences collaborative filtering. However, the filling rate dependence of the RMSE varied across the datasets, as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. Here, the RMSE was calculated after 10 epochs and averaged over five trials.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Filling rate dependence of RMSE for <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets. Training data with filling rates of more than 45%, 25%, and 20% could not be extracted for <bold>(b&#x02013;d)</bold>, respectively. The data were averaged over five trials, with error bars denoting the standard deviation.</p></caption>
<alt-text>Four line graphs labeled (a) to (d) compare RMSE versus filling rate percentages for NMF and NBMF. Each graph shows two lines: NBMF in blue and NMF in red. Graphs (a), (b), and (c) show increasing trends, while graph (d) exhibits a decline.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0004.tif"/>
</fig>
<p>NMF is expected to produce lower RMSE values than NBMF due to its higher resolution. However, in <xref ref-type="fig" rid="F4">Figure 4</xref>, case (a) demonstrates that the RMSE values for both NBMF and NMF were similar when the filling rate was around 20%. Furthermore, in case (d), the RMSE for NBMF was smaller than that for NMF at the filling rate of &#x0007E;20%. This inconsistent behavior suggests that the datasets have significant differences in their features.</p>
<p><xref ref-type="fig" rid="F5">Figure 5</xref> shows the advantages of the masking procedure. The masking data for each dataset were the same as those used for NBMF in <xref ref-type="fig" rid="F3">Figure 3</xref>. Notably, the RMSE without the masking procedure was about more than three times larger than the RMSE with the masking procedure for all datasets. Furthermore, the difference in computation time between the two procedures was minimal. These findings indicate that the masking procedure provides apparent benefits in collaborative filtering, despite a minor drawback in terms of computation time.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>RMSE and computation time at each epoch with and without the masking procedure for NBMF for <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets. The data were averaged over five trials, with error bars denoting the standard deviation.</p></caption>
<alt-text>Four graphs labeled (a) to (d) display RMSE over time for two conditions: &#x0201C;without&#x00027; and &#x0201C;with,&#x0201D; indicated in purple and blue, respectively. All graphs show a decrease in RMSE for both conditions over about 60 seconds, with the &#x0201C;with&#x0201D; condition consistently having lower RMSE values than the &#x0201C;without&#x0201D; condition.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0005.tif"/>
</fig>
<p>The results indicate that the RMSE reflects specific properties of the data. Here, we focus on the frequency distribution of ratings, as illustrated in <xref ref-type="fig" rid="F6">Figure 6</xref>. The distribution represents the percentage of ratings (1, 2, 3, 4, and 5) among the rated elements in a rating matrix, with a filling rate of 20%. The distributions in (a) and (b) showed a broad peak, and the corresponding RMSE had a similar value at 10 epochs in <xref ref-type="fig" rid="F3">Figures 3a, b</xref>. However, the distribution in (c) showed two peaks at 1 and 5, resulting in significant variance. The corresponding RMSE at 10 epochs in <xref ref-type="fig" rid="F3">Figure 3c</xref> was larger than those of the other three data. By contrast, the distribution in (d) had a steep peak at 4, indicating that more than 80% of the rated elements had a value of 4. The corresponding RMSE at 10 epochs in <xref ref-type="fig" rid="F3">Figure 3d</xref> was significantly smaller than those of the other three data. This observation indicates that a distribution with a sharp peak and small variance typically results in a smaller RMSE. However, a distribution with a broader peak and larger variance often results in a larger RMSE.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Frequency distributions of ratings expressed as percentages for <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets.</p></caption>
<alt-text>Four bar charts labeled (a) to (d) display ratings from one to five on the x-axis and percentage on the y-axis. Chart (a) shows higher percentages for ratings three and four. Chart (b) shows a peak at rating three. Chart (c) has higher percentages for ratings one and five. Chart (d) shows a significant peak at rating four.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0006.tif"/>
</fig>
<p>The computation time for NBMF was significantly shorter than that for NMF under the same problem setup, as shown in <xref ref-type="fig" rid="F7">Figure 7</xref>, for all the datasets. The total time required to update matrix <italic>W</italic> over 10 epochs was the same for both NMF and NBMF. However, the time required to update matrix <italic>H</italic> in NMF was approximately six times longer than that in NBMF. This discrepancy suggests that the use of an SB-based machine accelerates the computation to update <italic>H</italic>. Additional time is required to minimize <xref ref-type="disp-formula" rid="E13">Equation 13</xref> during the update of <italic>H</italic>. Executing minimization using the SB-based machine involves transforming the objective function into the Ising model form, as explained in Section 3.4. Using the SB-based machine causes the communication time between the CPU and the FPGA, although it is a small fraction of the total time. Nevertheless, the overall computation time for NBMF, including these additional factors, was shorter than that for NMF.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Computation time for 10 epochs in NBMF and NMF methods for the <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets. The blue and green bars represent the total times spent on updating matrices <italic>W</italic> and <italic>H</italic>, respectively.</p></caption>
<alt-text>Four bar charts labeled (a) to (d) compare time in seconds for W updating and H updating for NMF and NBMF. In each chart, NMF has a higher total time than NBMF. Blue and green sections represent W updating and H updating, respectively, each varying slightly across charts.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0007.tif"/>
</fig>
<p>Throughout this study, the ratio of the number of features to the number of users was fixed at <italic>k</italic>/<italic>n</italic> &#x0003D; 0.5. In general, the RMSE tends to decrease as the ratio increases. However, the computation time increases with the ratio because the matrix sizes of <italic>H</italic> and <italic>W</italic> increase. Therefore, a moderate value needs to be selected for this ratio. As shown in <xref ref-type="fig" rid="F8">Figure 8</xref>, the rate of improvement in the RMSE was slow for ratios of 0.5 or greater across all datasets. Considering this result, we chose <italic>k</italic>/<italic>n</italic> &#x0003D; 0.5 as an appropriate value for this ratio.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>RMSE as a function of the ratio of the number of features <italic>k</italic> to that of users <italic>n</italic> for <bold>(a)</bold> MovieLens, <bold>(b)</bold> Netflix, <bold>(c)</bold> Yahoo, and <bold>(d)</bold> CiaoDVD datasets. The data were averaged over five trials, with error bars denoting the standard deviation.</p></caption>
<alt-text>Graphs showing RMSE versus k/n (the ratio of the number of features k to that of users n) for NMF and NBMF. Each panel (a, b, c, d) displays trends for different datasets. RMSE decreases as k/n increases, however, the rate of improvement in the RMSE was slow for ratios of 0.5 or greater.</alt-text>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fdata-08-1599704-g0008.tif"/>
</fig>
<p>Our results support the computational advantages of NBMF. However, several limitations exist. Notably, the performance of NBMF is susceptible to the characteristics of datasets. NMF, which operates on continuous variables, shows comparable or superior accuracy in certain instances compared to NBMF. This higher accuracy is due to the greater resolution of continuous representations compared to binary ones. Furthermore, it is necessary to employ a low-latency system to realize the advantage of computation time. Even with a high-performance Ising machine, communication overhead between the CPU and the Ising machine can significantly impact overall performance. Therefore, utilizing a low-latency Ising machine is crucial for efficiently executing NBMF.</p></sec>
<sec sec-type="conclusions" id="s5">
<title>5 Conclusions</title>
<p>In summary, we proposed a novel approach that employs NBMF with masking for collaborative filtering, and our findings demonstrate a substantial improvement in estimation performance as a result of the masking procedure. Moreover, our results highlighted the computational advantage of employing an SB-based machine in NBMF. NBMF with masking can be applied in collaborative filtering across various datasets. This study reveals the potential of NBMF by utilizing an Ising machine for a wide range of applications.</p>
<p>The efficacy of hybrid concepts using both a general-purpose processor and an Ising machine can extend to other algorithms, indicating significant potential for further research in this area. Similar hybrid algorithms will become increasingly active in the future as low-latency Ising machines become more advanced and popular.</p></sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>YT: Formal analysis, Investigation, Writing &#x02013; review &#x00026; editing. YI: Formal analysis, Writing &#x02013; review &#x00026; editing, Investigation. YH: Investigation, Writing &#x02013; review &#x00026; editing, Software. KT: Software, Investigation, Writing &#x02013; review &#x00026; editing. KK: Supervision, Writing &#x02013; original draft, Funding acquisition, Writing &#x02013; review &#x00026; 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 and/or publication of this article. This study was partially supported by JSPS KAKENHI (grant numbers JP23H04499 and JP25H01522) and Murata Science and Education Foundation.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>KT was an inventor on a Japanese patent application related to this work filed by the Toshiba Corporation (no. P2019-164742, filed 10 September 2019). This study was conducted as collaborative research between Ochanomizu University and Toshiba Corporation. YH and KT were employed at the Toshiba Corporation. 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 id="s9">
<title>Generative AI statement</title>
<p>The author(s) declare that no Gen AI was used in the creation of this manuscript.</p></sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>Netflix Prize data, <ext-link ext-link-type="uri" xlink:href="https://www.kaggle.com/datasets/netflix-inc/netflix-prize-data">https://www.kaggle.com/datasets/netflix-inc/netflix-prize-data</ext-link>.</p></fn>
<fn id="fn0002"><p><sup>2</sup>Verizon Media Webscope, Yahoo! Music User Ratings of Songs with Artist, Album, and Genre Meta Information, v. 1.0, <ext-link ext-link-type="uri" xlink:href="https://library.mcmaster.ca/data/yahoo-webscope-program-datasets">https://library.mcmaster.ca/data/yahoo-webscope-program-datasets</ext-link>.</p></fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aramon</surname> <given-names>M.</given-names></name> <name><surname>Rosenberg</surname> <given-names>G.</given-names></name> <name><surname>Valiante</surname> <given-names>E.</given-names></name> <name><surname>Miyazawa</surname> <given-names>T.</given-names></name> <name><surname>Tamura</surname> <given-names>H.</given-names></name> <name><surname>Katzgraber</surname> <given-names>H. G.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Physics-inspired optimization for quadratic unconstrained problems using a digital annealer</article-title>. <source>Front. Phys</source>. <volume>7</volume>:<fpage>48</fpage>. <pub-id pub-id-type="doi">10.3389/fphy.2019.00048</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Asaoka</surname> <given-names>H.</given-names></name> <name><surname>Kudo</surname> <given-names>K.</given-names></name></person-group> (<year>2020</year>). <article-title>Image analysis based on nonnegative/binary matrix factorization</article-title>. <source>J. Phy. Soc. Jpn</source>. <volume>89</volume>:<fpage>085001</fpage>. <pub-id pub-id-type="doi">10.7566/JPSJ.89.085001</pub-id><pub-id pub-id-type="pmid">33327096</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Asaoka</surname> <given-names>H.</given-names></name> <name><surname>Kudo</surname> <given-names>K.</given-names></name></person-group> (<year>2023</year>). <article-title>Nonnegative/binary matrix factorization for image classification using quantum annealing</article-title>. <source>Sci. Rep</source>. <volume>13</volume>:<fpage>16527</fpage>. <pub-id pub-id-type="doi">10.1038/s41598-023-43729-z</pub-id><pub-id pub-id-type="pmid">37783730</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Golden</surname> <given-names>J.</given-names></name> <name><surname>O&#x00027;Malley</surname> <given-names>D.</given-names></name></person-group> (<year>2021</year>). <article-title>Reverse annealing for nonnegative/binary matrix factorization</article-title>. <source>PLoS ONE</source> <volume>16</volume>:<fpage>e0244026</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0244026</pub-id><pub-id pub-id-type="pmid">33406162</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Goto</surname> <given-names>H.</given-names></name> <name><surname>Endo</surname> <given-names>K.</given-names></name> <name><surname>Suzuki</surname> <given-names>M.</given-names></name> <name><surname>Sakai</surname> <given-names>Y.</given-names></name> <name><surname>Kanao</surname> <given-names>T.</given-names></name> <name><surname>Hamakawa</surname> <given-names>Y.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>High-performance combinatorial optimization based on classical mechanics</article-title>. <source>Sci. Adv</source>. <volume>7</volume>:<fpage>eabe7953</fpage>. <pub-id pub-id-type="doi">10.1126/sciadv.abe7953</pub-id><pub-id pub-id-type="pmid">33536219</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Goto</surname> <given-names>H.</given-names></name> <name><surname>Tatsumura</surname> <given-names>K.</given-names></name> <name><surname>Dixon</surname> <given-names>A. R.</given-names></name></person-group> (<year>2019</year>). <article-title>Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems</article-title>. <source>Sci. Adv</source>. <volume>5</volume>:<fpage>eaav2372</fpage>. <pub-id pub-id-type="doi">10.1126/sciadv.aav2372</pub-id><pub-id pub-id-type="pmid">31016238</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>G.</given-names></name> <name><surname>Zhang</surname> <given-names>J.</given-names></name> <name><surname>Thalmann</surname> <given-names>D.</given-names></name> <name><surname>Yorke-Smith</surname> <given-names>N.</given-names></name></person-group> (<year>2014</year>). &#x0201C;ETAF: an extended trust antecedents framework for trust prediction,&#x0201D; in <italic>Proceedings of the 2014 International Conference on Advances in Social Networks Analysis and Mining (ASONAM)</italic> (Beijing IEEE). <pub-id pub-id-type="doi">10.1109/ASONAM.2014.6921639</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Harper</surname> <given-names>F. M.</given-names></name> <name><surname>Konstan</surname> <given-names>J. A.</given-names></name></person-group> (<year>2015</year>). <article-title>The movielens datasets: history and context</article-title>. <source>ACM Trans. Interact. Intell. Syst</source>. <volume>5</volume>:<fpage>19</fpage>. <pub-id pub-id-type="doi">10.1145/2827872</pub-id></citation>
</ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Herlocker</surname> <given-names>J. L.</given-names></name> <name><surname>Konstan</surname> <given-names>J. A.</given-names></name> <name><surname>Riedl</surname> <given-names>J.</given-names></name></person-group> (<year>2000</year>). <article-title>&#x0201C;Explaining collaborative filtering recommendations,&#x0201D;</article-title> in <italic>Proceedings of the 2000 ACM Conference on Computer Supported Cooperative Work, CSCW &#x00027;00</italic> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Association for Computing Machinery</publisher-name>), <fpage>241</fpage>&#x02013;<lpage>250</lpage>. <pub-id pub-id-type="doi">10.1145/358916.358995</pub-id></citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hidaka</surname> <given-names>R.</given-names></name> <name><surname>Hamakawa</surname> <given-names>Y.</given-names></name> <name><surname>Nakayama</surname> <given-names>J.</given-names></name> <name><surname>Tatsumura</surname> <given-names>K.</given-names></name></person-group> (<year>2023</year>). <article-title>Correlation-diversified portfolio construction by finding maximum independent set in large-scale market graph</article-title>. <source>IEEE Access</source> <volume>11</volume>, <fpage>142979</fpage>&#x02013;<lpage>142991</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2023.3341422</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Inagaki</surname> <given-names>T.</given-names></name> <name><surname>Haribara</surname> <given-names>Y.</given-names></name> <name><surname>Igarashi</surname> <given-names>K.</given-names></name> <name><surname>Sonobe</surname> <given-names>T.</given-names></name> <name><surname>Tamate</surname> <given-names>S.</given-names></name> <name><surname>Honjo</surname> <given-names>T.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>A coherent Ising machine for 2000-node optimization problems</article-title>. <source>Science</source> <volume>354</volume>, <fpage>603</fpage>&#x02013;<lpage>606</lpage>. <pub-id pub-id-type="doi">10.1126/science.aah4243</pub-id><pub-id pub-id-type="pmid">27811271</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Johnson</surname> <given-names>M. W.</given-names></name> <name><surname>Amin</surname> <given-names>M. H. S.</given-names></name> <name><surname>Gildert</surname> <given-names>S.</given-names></name> <name><surname>Lanting</surname> <given-names>T.</given-names></name> <name><surname>Hamze</surname> <given-names>F.</given-names></name> <name><surname>Dickson</surname> <given-names>N.</given-names></name> <etal/></person-group>. (<year>2011</year>). <article-title>Quantum annealing with manufactured spins</article-title>. <source>Nature</source> <volume>473</volume>, <fpage>194</fpage>&#x02013;<lpage>198</lpage>. <pub-id pub-id-type="doi">10.1038/nature10012</pub-id><pub-id pub-id-type="pmid">21562559</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kitai</surname> <given-names>K.</given-names></name> <name><surname>Guo</surname> <given-names>J.</given-names></name> <name><surname>Ju</surname> <given-names>S.</given-names></name> <name><surname>Tanaka</surname> <given-names>S.</given-names></name> <name><surname>Tsuda</surname> <given-names>K.</given-names></name> <name><surname>Shiomi</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Designing metamaterials with quantum annealing and factorization machines</article-title>. <source>Phys. Rev. Res</source>. <volume>2</volume>:<fpage>013319</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevResearch.2.013319</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lee</surname> <given-names>D. D.</given-names></name> <name><surname>Seung</surname> <given-names>H. S.</given-names></name></person-group> (<year>1999</year>). <article-title>Learning the parts of objects by non-negative matrix factorization</article-title>. <source>Nature</source> <volume>401</volume>, <fpage>788</fpage>&#x02013;<lpage>791</lpage>. <pub-id pub-id-type="doi">10.1038/44565</pub-id><pub-id pub-id-type="pmid">10548103</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lee</surname> <given-names>D. D.</given-names></name> <name><surname>Seung</surname> <given-names>H. S.</given-names></name></person-group> (<year>2000</year>). <article-title>&#x0201C;Algorithms for non-negative matrix factorization,&#x0201D;</article-title> in <italic>Proceedings of the 13th International Conference on Neural Information Processing Systems, NIPS&#x00027;00</italic> (<publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>MIT Press</publisher-name>), <fpage>535</fpage>&#x02013;<lpage>541</lpage>.</citation>
</ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lee</surname> <given-names>J.</given-names></name> <name><surname>Bengio</surname> <given-names>S.</given-names></name> <name><surname>Kim</surname> <given-names>S.</given-names></name> <name><surname>Lebanon</surname> <given-names>G.</given-names></name> <name><surname>Singer</surname> <given-names>Y.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Local collaborative ranking,&#x0201D;</article-title> in <italic>Proceedings of the 23rd International Conference on World Wide Web, WWW &#x00027;14</italic> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Association for Computing Machinery</publisher-name>), <fpage>85</fpage>&#x02013;<lpage>96</lpage>. <pub-id pub-id-type="doi">10.1145/2566486.2567970</pub-id></citation>
</ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname> <given-names>C. J.</given-names></name></person-group> (<year>2007</year>). <article-title>Projected gradient methods for nonnegative matrix factorization</article-title>. <source>Neural Comput</source>. <volume>19</volume>, <fpage>2756</fpage>&#x02013;<lpage>2779</lpage>. <pub-id pub-id-type="doi">10.1162/neco.2007.19.10.2756</pub-id><pub-id pub-id-type="pmid">17716011</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>McMahon</surname> <given-names>P. L.</given-names></name> <name><surname>Marandi</surname> <given-names>A.</given-names></name> <name><surname>Haribara</surname> <given-names>Y.</given-names></name> <name><surname>Hamerly</surname> <given-names>R.</given-names></name> <name><surname>Langrock</surname> <given-names>C.</given-names></name> <name><surname>Tamate</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>A fully programmable 100-spin coherent Ising machine with all-to-all connections</article-title>. <source>Science</source> <volume>354</volume>, <fpage>614</fpage>&#x02013;<lpage>617</lpage>. <pub-id pub-id-type="doi">10.1126/science.aah5178</pub-id><pub-id pub-id-type="pmid">27811274</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nath</surname> <given-names>R. K.</given-names></name> <name><surname>Thapliyal</surname> <given-names>H.</given-names></name> <name><surname>Humble</surname> <given-names>T. S.</given-names></name></person-group> (<year>2021</year>). <article-title>A review of machine learning classification using quantum annealing for real-world applications</article-title>. <source>SN Comput. Sci</source>. <volume>2</volume>:<fpage>365</fpage>. <pub-id pub-id-type="doi">10.1007/s42979-021-00751-0</pub-id></citation>
</ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>O&#x00027;Malley</surname> <given-names>D.</given-names></name> <name><surname>Vesselinov</surname> <given-names>V. V.</given-names></name> <name><surname>Alexandrov</surname> <given-names>B. S.</given-names></name> <name><surname>Alexandrov</surname> <given-names>L. B.</given-names></name></person-group> (<year>2018</year>). <article-title>Nonnegative/binary matrix factorization with a D-Wave quantum annealer</article-title>. <source>PLoS ONE</source> <volume>13</volume>:<fpage>e0206653</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0206653</pub-id><pub-id pub-id-type="pmid">30532243</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pierangeli</surname> <given-names>D.</given-names></name> <name><surname>Marcucci</surname> <given-names>G.</given-names></name> <name><surname>Conti</surname> <given-names>C.</given-names></name></person-group> (<year>2019</year>). <article-title>Large-scale photonic Ising machine by spatial light modulation</article-title>. <source>Phys. Rev. Lett</source>. <volume>122</volume>:<fpage>213902</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevLett.122.213902</pub-id><pub-id pub-id-type="pmid">31283311</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Singh</surname> <given-names>R.</given-names></name> <name><surname>Dwivedi</surname> <given-names>P.</given-names></name> <name><surname>Kant</surname> <given-names>V.</given-names></name></person-group> (<year>2024</year>). <article-title>Comparative analysis of collaborative filtering techniques for the multi-criteria recommender systems</article-title>. <source>Multimed. Tools Appl</source>. <volume>83</volume>, <fpage>64551</fpage>&#x02013;<lpage>64571</lpage>. <pub-id pub-id-type="doi">10.1007/s11042-024-18164-5</pub-id><pub-id pub-id-type="pmid">24161830</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Su</surname> <given-names>X.</given-names></name> <name><surname>Khoshgoftaar</surname> <given-names>T. M.</given-names></name></person-group> (<year>2009</year>). <article-title>A survey of collaborative filtering techniques</article-title>. <source>Adv. Artif. Intell</source>. <volume>2009</volume>:<fpage>e421425</fpage>. <pub-id pub-id-type="doi">10.1155/2009/421425</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Tatsumura</surname> <given-names>K.</given-names></name> <name><surname>Hidaka</surname> <given-names>R.</given-names></name> <name><surname>Yamasaki</surname> <given-names>M.</given-names></name> <name><surname>Sakai</surname> <given-names>Y.</given-names></name> <name><surname>Goto</surname> <given-names>H.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;A currency arbitrage machine based on the simulated bifurcation algorithm for ultrafast detection of optimal opportunity,&#x0201D;</article-title> in <italic>2020 IEEE International Symposium on Circuits and Systems (ISCAS)</italic> (<publisher-loc>Seville</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/ISCAS45731.2020.9181114</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Willsch</surname> <given-names>D.</given-names></name> <name><surname>Willsch</surname> <given-names>M.</given-names></name> <name><surname>De Raedt</surname> <given-names>H.</given-names></name> <name><surname>Michielsen</surname> <given-names>K.</given-names></name></person-group> (<year>2020</year>). <article-title>Support vector machines on the D-wave quantum annealer</article-title>. <source>Comput. Phys. Commun</source>. <volume>248</volume>:<fpage>107006</fpage>. <pub-id pub-id-type="doi">10.1016/j.cpc.2019.107006</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Yamamoto</surname> <given-names>K.</given-names></name> <name><surname>Ando</surname> <given-names>K.</given-names></name> <name><surname>Mertig</surname> <given-names>N.</given-names></name> <name><surname>Takemoto</surname> <given-names>T.</given-names></name> <name><surname>Yamaoka</surname> <given-names>M.</given-names></name> <name><surname>Teramoto</surname> <given-names>H.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>&#x0201C;Statica: a 512-spin 0.25M-weight full-digital annealing processor with a near-memory all-spin-updates-at-once architecture for combinatorial optimization with complete spin-spin interactions,&#x0201D;</article-title> in <italic>2020 IEEE International Solid-State Circuits Conference</italic>- (<italic>ISSCC)</italic> (<publisher-loc>San Francisco, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>138</fpage>&#x02013;<lpage>140</lpage>. <pub-id pub-id-type="doi">10.1109/ISSCC19947.2020.9062965</pub-id></citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yamaoka</surname> <given-names>M.</given-names></name> <name><surname>Yoshimura</surname> <given-names>C.</given-names></name> <name><surname>Hayashi</surname> <given-names>M.</given-names></name> <name><surname>Okuyama</surname> <given-names>T.</given-names></name> <name><surname>Aoki</surname> <given-names>H.</given-names></name> <name><surname>Mizuno</surname> <given-names>H.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>A 20k-spin Ising chip to solve combinatorial optimization problems with CMOS annealing</article-title>. <source>IEEE J. Solid-State Circ</source>. <volume>51</volume>, <fpage>303</fpage>&#x02013;<lpage>309</lpage>. <pub-id pub-id-type="doi">10.1109/JSSC.2015.2498601</pub-id><pub-id pub-id-type="pmid">38499524</pub-id></citation></ref>
</ref-list>
</back>
</article> 