<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSIP</journal-id><journal-title-group><journal-title>Journal of Signal and Information Processing</journal-title></journal-title-group><issn pub-type="epub">2159-4465</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsip.2012.33037</article-id><article-id pub-id-type="publisher-id">JSIP-22102</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Rapid Algorithm for Independent Component Analysis
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>yota</surname><given-names>Yokote</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yasuo</surname><given-names>Matsuyama</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Waseda University</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>rrryokote@wiz.cs.waseda.ac.jp(YY)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>31</day><month>08</month><year>2012</year></pub-date><volume>03</volume><issue>03</issue><fpage>275</fpage><lpage>285</lpage><history><date date-type="received"><day>March</day>	<month>30th,</month>	<year>2012</year></date><date date-type="rev-recd"><day>May</day>	<month>2nd,</month>	<year>2012</year>	</date><date date-type="accepted"><day>May</day>	<month>10th,</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  A class of rapid algorithms for independent component analysis (ICA) is presented. This method utilizes multi-step past information with respect to an existing fixed-point style for increasing the non-Gaussianity. This can be viewed as the addition of a variable-size momentum term. The use of past information comes from the idea of surrogate optimization. There is little additional cost for either software design or runtime execution when past information is included. The speed of the algorithm is evaluated on both simulated and real-world data. The real-world data includes color images and electroencephalograms (EEGs), which are an important source of data on human-computer interactions. From these experiments, it is found that the method we present here, the RapidICA, performs quickly, especially for the demixing of super-Gaussian signals.
 
</p></abstract><kwd-group><kwd>Independent Component Analysis; Speedup; Past Information; Momentum; Super-Gaussian; Negentropy</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Optimization of the amount of information leads to a rich class of learning algorithms for various types of signal processing. The learning phase is usually iterative, which is often the cause of their effective-but-slow nature. The speed of a learning algorithm is important, because this facilitates the application to real-world problems. Independent component analysis (ICA) [<xref ref-type="bibr" rid="scirp.22102-ref1">1</xref>] is a typical example of such an algorithm. Among the various ICA methods, the FastICA, which is a fixed-point algorithm [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>], is the most popular one because it usually out-performs the fastest version of the gradient-style algorithms [3-5]. However, the need for ever faster ICAs has arisen ubiquitously [6,7].</p><p>Reflecting this necessity for speedup, this paper presents a class of rapid ICA algorithms. The core idea is the introduction of past information to the fixed-point ICA. This method inherits the idea for the speedup of the gradient-style algorithm using a surrogate function [3-5].</p><p>When a new class of learning algorithms is presented, it is necessary to check the following:</p><p>1) Is its merit on the performance enough?</p><p>2) Is it applicable to substantial real-world problems?</p><p>In this paper, we present the RapidICA algorithm and the results of testing it on both artificial and real-world data. As practical data, we adopted color images and electroencephalograms (EEGs) for pattern recognition. After extensive experiments, the effectiveness of the RapidICA over the existing fixed-point ICA can be fully recognized.</p><p>The organization of this paper is as follows. In Section 2, preliminaries to the ICA problem are given. Section 3 shows three types of fast versions, starting with the simplest one. Next, a summarized version is given, along with a strategy for stabilization and a measure of the convergence. Section 4 presents the results of experiments comparing the RapidICA with the FastICA for both artificial and real-world data. The practical data were color images and electroencephalograms (EEGs). In Section 5, concluding remarks are given.</p></sec><sec id="s2"><title>2. Preliminaries to ICA</title><sec id="s2_1"><title>2.1. Formulation of ICA</title><p>In this section, we present our notation and the minimum necessary preliminaries for ICA. Given a measured random vector x, the problem of ICA starts with the relationship of the superposition.</p><disp-formula id="scirp.22102-formula6133"><label>(1)</label><graphic position="anchor" xlink:href="1-3400194\e022d645-287c-4c6b-b639-52720eefbf7e.jpg"  xlink:type="simple"/></disp-formula><p>Here,</p><disp-formula id="scirp.22102-formula6134"><label>(2)</label><graphic position="anchor" xlink:href="1-3400194\c39c43b0-7719-4e6c-af43-092beba843b3.jpg"  xlink:type="simple"/></disp-formula><p>is zero mean. The matrix A is an n &#215; n unknown nonsingular matrix. The column vector</p><disp-formula id="scirp.22102-formula6135"><label>(3)</label><graphic position="anchor" xlink:href="1-3400194\a9ee5829-3408-4f6b-ab3d-3d93f6f59ad9.jpg"  xlink:type="simple"/></disp-formula><p>is also unknown. Its components are assumed to be independent of each other, and to be non-Gaussian except for one component. The necessity of these assumptions indicates the following:</p><p>1) For the consistency of the ICA problem, it is desirable that the x<sub>i</sub> are far from a Gaussian distribution.</p><p>2) There are two classes that are non-Gaussian. One is super-Gaussian and the other is sub-Gaussian. But by the central limit theorem, the summation of only a few independent sub-Gaussian random variables easily becomes an almost Gaussian one. Therefore, real-world sub-Gaussian mixtures x<sub>i</sub> for ICA applications are rare. On the other hand, super-Gaussian mixtures x<sub>i</sub> are found in many signal processing sources. Thus, experiments on real-world data will be mainly on super-Gaussian mixtures.</p><p>Using the data production mechanism of (1)-(3), the problem of ICA is to estimate both A and s using only x. This is, however, a semi-parametric problem where uncertainty remains. Therefore, we will be satisfied if the following y and W are successfully obtained.</p><disp-formula id="scirp.22102-formula6136"><label>(4)</label><graphic position="anchor" xlink:href="1-3400194\4696feb9-fcd4-4a36-b65d-26503ee2776c.jpg"  xlink:type="simple"/></disp-formula><p>Here, the random vector y is an estimated column vector with independent components. Note that the ordering of components of y is allowed to be permuted from that of s. The amplitude of s<sub>i</sub> is also uncertain in this generic ICA formulation. Therefore, W is an estimation of<img src="1-3400194\92e35a15-b97c-47ad-9660-a70dc34c601f.jpg" />. Here, <img src="1-3400194\ff386311-f57e-47f8-baaa-e15c32de1aa4.jpg" />is a nonsingular diagonal matrix, and <img src="1-3400194\62bc0a52-db61-41c0-abbe-ea4fa182d4fa.jpg" /> is a permutation matrix.</p></sec><sec id="s2_2"><title>2.2. Cost Functions for Independence</title><p>There are several cost functions that measure the independence of random variables. A popular target function is the minimization of the Kullback-Leibler divergence, or, equivalently, the minimum average mutual information. The methods we present in this paper are related to this information measure.</p><sec id="s2_2_1"><title>2.2.1. Minimum Average Mutual Information and Its Extension</title><p>As is well known from information theory [<xref ref-type="bibr" rid="scirp.22102-ref8">8</xref>], the average mutual information works as a directed distance between two probability densities of a Kullback-Leibler divergence. By choosing a probability density function (pdf) q to be an independent one, the cost function to be minimized is expressed as follows.</p><disp-formula id="scirp.22102-formula6137"><label>(5)</label><graphic position="anchor" xlink:href="1-3400194\ce720a0e-4b6f-47d2-b003-b6f76590b296.jpg"  xlink:type="simple"/></disp-formula><p>This average mutual information becomes zero if and only if the <img src="1-3400194\9b32a969-6ccb-408d-83d3-585cf577a857.jpg" /> are independent of each other. Thus differentiation with respect to W leads to a gradient descent algorithm. This method can be generalized by using a convex divergence that includes the average mutual information of (5) as a special case.</p><p>The convex divergence is an information quantity expressed as follows [<xref ref-type="bibr" rid="scirp.22102-ref9">9</xref>].</p><disp-formula id="scirp.22102-formula6138"><label>(6)</label><graphic position="anchor" xlink:href="1-3400194\2ca2d0ef-c38a-4d4f-916b-f8e42b4e47ab.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\d7694258-840a-4014-9e07-e133ce9ddfb0.jpg" />is convex on<img src="1-3400194\400429df-6435-42ab-a619-f9e8d8158d34.jpg" />, and <img src="1-3400194\c35bd8c2-156f-44ac-b1b8-3c9120209950.jpg" /> is a dual convex function. Note that the special case of</p><disp-formula id="scirp.22102-formula6139"><label>(7)</label><graphic position="anchor" xlink:href="1-3400194\6628c2f6-31b9-4ecb-831c-cb31be7d768d.jpg"  xlink:type="simple"/></disp-formula><p>is reduced to the average mutual information (5). The differentiation of <img src="1-3400194\3b8df2aa-a0a7-41c5-a324-30d7951407c4.jpg" /> with respect to W leads to a gradient descent update for the demixing matrix [<xref ref-type="bibr" rid="scirp.22102-ref5">5</xref>].</p><disp-formula id="scirp.22102-formula6140"><label>(8)</label><graphic position="anchor" xlink:href="1-3400194\dba59083-def3-4c5f-aa99-6bae504bc1ea.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.22102-formula6141"><label>(9)</label><graphic position="anchor" xlink:href="1-3400194\976b0a1f-ea8e-4b46-b311-42f42849aaac.jpg"  xlink:type="simple"/></disp-formula><p>Here, t is the iteration index for the update, and <img src="1-3400194\00b1cf51-2924-427b-95a7-cda4378cbd8c.jpg" /> is a delay. The symbol <img src="1-3400194\aac22cab-f717-4fb6-8732-b5cad2cfb36c.jpg" /> represents a natural gradient of g in Equation (6) multiplied by<img src="1-3400194\7f797504-9944-4a6c-9109-8652584d74a1.jpg" />, where c is a positive constant associated with the Fisher information matrix [<xref ref-type="bibr" rid="scirp.22102-ref10">10</xref>]. <img src="1-3400194\a0ccca2c-e036-442f-b448-09bfc556f293.jpg" />is a design parameter. I is the identity matrix. The matrix</p><disp-formula id="scirp.22102-formula6142"><label>(10)</label><graphic position="anchor" xlink:href="1-3400194\a9d28037-5cf0-41b1-b073-965a527ac43c.jpg"  xlink:type="simple"/></disp-formula><p>is unknown in practice since <img src="1-3400194\23e6a3be-2c21-4229-bbb2-60b5bb621925.jpg" /> is unknown in the formulation of the ICA. Therefore, in practical ICA execution, the function <img src="1-3400194\dc2d0120-a276-49f3-ae1d-2d54bcc22aa2.jpg" />is assumed to be a nonlinear one, such as <img src="1-3400194\e62766f8-59a5-4352-a58a-0e3e50dbd06a.jpg" /> or<img src="1-3400194\01583aed-59c3-4e55-be5d-6b1c93d90044.jpg" />.</p><p>An important point in this preliminary section appears in the last line of Equation (9). If<img src="1-3400194\263c7495-e453-4e3e-97d0-3c8d3b5ef250.jpg" />, then the second term disappears, and it becomes the method of minimum average mutual information using Equation (5). On the other hand, the method of minimum convex divergence generates the momentum term by<img src="1-3400194\7c837213-3fa7-4d2a-98a4-d2c131de6560.jpg" />. This was the fastest ICA by the gradient descent method [<xref ref-type="bibr" rid="scirp.22102-ref3">3</xref>]. But, it could not beat the fixed-point algorithm of [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>], which is based on the non-Gaussianity maximization.</p></sec><sec id="s2_2_2"><title>2.2.2. Non-Gaussianity Maximization Based upon Approximated Negentropy</title><p>Non-Gaussianity can be measured by the KullbackLeibler divergence (5) from a pdf <img src="1-3400194\021b2491-a529-4da4-a327-87a11a695a23.jpg" /> to a Gaussian pdf<img src="1-3400194\5d4a23b2-416f-4067-973f-8808e20e0671.jpg" />, which is called negentropy.</p><disp-formula id="scirp.22102-formula6143"><label>(11)</label><graphic position="anchor" xlink:href="1-3400194\f102456f-4f91-4781-a91d-0e2dbd2ce382.jpg"  xlink:type="simple"/></disp-formula><p>A criterion for the ICA of Equation (4) can be set to the maximization of the negentropy (11). It is not possible to maximize the negentropy directly since <img src="1-3400194\3e48f04e-16a4-4ddf-be12-fdfa5b3aa5fe.jpg" /> is unknown. Therefore, in the FastICA [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>], the negentropy maximization is approximated. For this approximation, we pose an assumption that the x<sub>i</sub> are pre-whitened to be uncorrelated with each other.</p><disp-formula id="scirp.22102-formula6144"><label>(12)</label><graphic position="anchor" xlink:href="1-3400194\721a7e36-3276-4d29-b952-a88bb4c1011d.jpg"  xlink:type="simple"/></disp-formula><p>Note that this assumption was not needed in the method of Section 2.2.1.</p><p>Then, using a predetermined contrast function<img src="1-3400194\eb077a1e-7b88-4471-9de7-dceebe843378.jpg" />, the maximization of (11) is approximated by the following optimization with constraint [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>].</p><disp-formula id="scirp.22102-formula6145"><label>(13)</label><graphic position="anchor" xlink:href="1-3400194\39004746-836f-4ff9-8179-12cf3ccc54d7.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\dce0d9bd-15e6-4279-ab69-def01c1e4721.jpg" />is a zero-mean, unit-variance Gaussian random variable. By virtue of the above drastic approximation, the FastICA with a couple of variants [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>] is obtained.</p><disp-formula id="scirp.22102-formula6146"><label>(14)</label><graphic position="anchor" xlink:href="1-3400194\d9cf3e51-8b7c-4943-aedd-f75cd8df86e8.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\2ef97bca-df24-43c3-bd23-c6628f3e6769.jpg" />and <img src="1-3400194\25f1049d-5ef5-49cc-a98c-f7f385664a68.jpg" /> are the first and second derivatives of a contract function<img src="1-3400194\349e4009-811d-4ec0-b01c-5f1276a62c62.jpg" />. Examples of <img src="1-3400194\8c53a7f4-79a4-4a06-9fa0-43b786b26395.jpg" /> are y<sup>4</sup>, log cosh y, and<img src="1-3400194\3b68130d-6c2f-4861-8f2e-72a03933470a.jpg" />. The update method (14) is a fixed-point algorithm and, because of its speed, it is the current de facto standard for ICA.</p></sec><sec id="s2_2_3"><title>2.2.3. Mediation between Gradient Descent and Fixed-Point Algorithms for Speedup</title><p>So far, two preliminary sections have been presented. The first one, Section 2.2.2, presents a direct minimization of the convex divergence between the current and independent pdfs. The last term of the last line of Equation (9) is the important one.</p><p>1) This term, which depends on the past information, is the core of the speedup [<xref ref-type="bibr" rid="scirp.22102-ref10">10</xref>].</p><p>2) The case of <img src="1-3400194\a2005aba-95dd-4658-a508-b4336f5a1ce1.jpg" /> corresponds to the optimization of the Kullback-Leibler divergence or its subsidiary, the entropy.</p><p>The second preliminary, the FastICA derived from the entropy difference, updates Equation (14) in a fixedpoint style. Based upon the theoretical foundation of the derivation of Equation (9), one may conjecture that the acceleration methods for Equation (14) would be obtainable by using the strategy of Equation (9). The rest of this paper will show that this conjecture is answered in the affirmative. We comment here in advance that the process we use to obtain the accelerated version of the fixed-point method is not na&#239;ve. It requires more artifice than the method of Section 2.2.1 since orthonormalization steps need to be interleaved. But we will see that the result will be easy to code as software.</p></sec></sec></sec><sec id="s3"><title>3. Rapid Methods for ICA</title><p>In this section, several steps towards the final rapid version are presented. From this point on, the description will be more software oriented.</p><sec id="s3_1"><title>3.1. Observed Signal Preprocessing and Additive Update Expression</title><p>Instead of the measured vector x, its whitened version z, obtained in the following way, is used as a target source to be demixed.</p><disp-formula id="scirp.22102-formula6147"><label>(15)</label><graphic position="anchor" xlink:href="1-3400194\f30e1e33-4810-4d5f-995c-4f2cdc0b21cb.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.22102-formula6148"><label>(16)</label><graphic position="anchor" xlink:href="1-3400194\423190cc-a5fc-4430-8478-c5ed484fc3aa.jpg"  xlink:type="simple"/></disp-formula><p>Here, D is the diagonal matrix constructed from the largest <img src="1-3400194\33700d12-a24e-4e9a-89e8-ac70069e421a.jpg" /> eigenvalues of the covariance matrix<img src="1-3400194\e6c03448-0458-4a79-bf86-173eda7147c3.jpg" />, and e<sub>i</sub>, <img src="1-3400194\b961edce-3160-455a-8e12-435ac3dcca91.jpg" />, are the corresponding eigen-vectors. Then, the update and orthonormalization steps of the fixed-point method are expressed as follows:</p><p>Update step: W is updated by the following computation.</p><disp-formula id="scirp.22102-formula6149"><label>(17)</label><graphic position="anchor" xlink:href="1-3400194\09395830-5133-4178-89a7-761a235b50a0.jpg"  xlink:type="simple"/></disp-formula><p>Orthonormalization step: W is orthonormalized by using the eigenvalue decomposition.</p><disp-formula id="scirp.22102-formula6150"><label>(18)</label><graphic position="anchor" xlink:href="1-3400194\6131935a-acae-4ccd-ba37-05449a023499.jpg"  xlink:type="simple"/></disp-formula><p>Since we will use the speedup method of Section 2.2.1, it is necessary to rewrite (17) as an additive form.</p><disp-formula id="scirp.22102-formula6151"><label>(19)</label><graphic position="anchor" xlink:href="1-3400194\feb7fa59-68d3-4dfa-9557-af9c4077c5b5.jpg"  xlink:type="simple"/></disp-formula><p>Equation (19) can be derived by dividing the righthand side of Equation (14) by<img src="1-3400194\9b8fbe8b-5b44-4df8-87d5-0cd94fbac6e5.jpg" />. This is allowed since the orthonormalization step for W follows.</p><p>Then the basic method, which is the FastICA, is described as follows:</p><p>[Basic Method]</p><p>Step 1: <img src="1-3400194\9b3d2310-038f-418b-840d-e36f24f5b122.jpg" /></p><p>Step 2: <img src="1-3400194\455e8869-3c0d-45c8-a799-b7b6ad8ad0e1.jpg" /></p><p>Step 3: <img src="1-3400194\a6bd514d-c1ef-455d-a071-ae757ce5aeda.jpg" /></p><p>Beginning in the next subsection, a series of speedup versions is presented. Findings in each version are supported by extensive experiments. Except for the destination algorithm, intermediate experimental results are omitted in order to save space.</p></sec><sec id="s3_2"><title>3.2. High-Speed Version I</title><p>For the basic method, which is the FastICA, it has been pointed out that the orthonormalization of Step 3 sometimes hinders the learning of non-Gaussianity by causing a slow convergence. Therefore, we start by considering an algorithm that simply increases the update amount.</p><p>[Method 0: Na&#239;ve version]</p><p>Step 1: <img src="1-3400194\1b0621bf-ee60-4770-a2b0-e635f5931462.jpg" /></p><p>Step 2: <img src="1-3400194\a4153576-ae2d-48c7-bc04-f36e40f0bf08.jpg" /></p><p>Step 3: <img src="1-3400194\694d8dad-1ed9-42ef-bcc5-83a508a9b8c6.jpg" /></p><p>Step 4: <img src="1-3400194\1c2c7196-991e-4109-9459-323fefda02d2.jpg" /></p><p>This na&#239;ve method is too simple, in that convergence will frequently fail for unadjusted<img src="1-3400194\c4e7e834-9ab0-42cf-a4d8-e624107e9da9.jpg" />, even for small figures. Therefore, we make this increase usable by inserting an orthonormalization step.</p><p>[Method 1: Opening version]</p><p>Step 1: <img src="1-3400194\e5b63cdb-1a82-484c-bc50-372d40b4189f.jpg" /></p><p>Step 2: <img src="1-3400194\d8ab6416-2997-40e9-91e3-cc86c6c09e80.jpg" /></p><p>Step 3: <img src="1-3400194\1d552336-bbc5-4372-94cb-99690510367d.jpg" /></p><p>Step 4: <img src="1-3400194\75042a94-d6ab-43ee-8f54-78318b404048.jpg" /></p><p>Step 5: <img src="1-3400194\13b7d4b0-27a7-4c35-8091-1411faa44c0e.jpg" /></p><p>Step 6: <img src="1-3400194\ae9a29d5-f465-4843-90d2-141a959186ba.jpg" /></p><p>One might think that this version simply computes the same update twice, but the following observations lead us to better versions:</p><p>1) Step 2 requires much more computational power than do the others.</p><p>2) Without Step 4, the increase by <img src="1-3400194\96ce0907-cccf-4552-a3a3-d119f94f71ac.jpg" /> could cause oscillations.</p></sec><sec id="s3_3"><title>3.3. High-Speed Version II</title><p>By integrating Method 1 and the usage of the past information described in Section 2.2.1, the following method is derived.</p><p>[Method 2: Second-order version]</p><p>Step 1: <img src="1-3400194\e6580c48-e765-4699-8539-0187ec23eac0.jpg" /></p><p>Step 2: <img src="1-3400194\5a1e5dc1-c9b1-494e-9443-7698a2e51407.jpg" /></p><p>Step 3: <img src="1-3400194\f89f783e-ef29-40d2-abda-81c4a4543299.jpg" /></p><p>Step 4: <img src="1-3400194\2dddb6f4-2f61-4836-b7c6-e027f89f12e7.jpg" /></p><p>Step 5: <img src="1-3400194\b870a212-c32f-47ce-a431-7f072d0ca5d0.jpg" /></p><p>Step 6: <img src="1-3400194\0cf9187a-5a1d-44df-a92a-6a32b9c941ae.jpg" /></p><p>Step 7: <img src="1-3400194\81fec630-f21c-43a0-ad15-67b209f049d4.jpg" /></p><p>The key point of this method is that there are two types of increments. The first type is in Step 3 and the second one is in Step 6. This method has the following properties:</p><p>1) Each increment uses different time information. This is equivalent to the usage of a higher-order strategy.</p><p>2) The computed increments <img src="1-3400194\8619cba6-0b24-4ff6-bd9c-c4e2bb66dcd1.jpg" /> of Step 5 gradually converge to the null matrix O. Therefore, this method is more stable than Method 1.</p><p>3) The computational load of Step 5 is negligible compared to that of Step 3. Therefore, the reduction of iterations will be directly reflected in the runtime speedup.</p></sec><sec id="s3_4"><title>3.4. High-Speed Version III</title><p>In High-speed Version II, the adjusting parameter <img src="1-3400194\8a52ec1f-82d5-4108-80b7-a56645c0024a.jpg" /> of the increment was a scalar, such as 0.1. The next step is to find reasonable values of <img src="1-3400194\0ea94887-ba15-455a-9a89-692bafd276c8.jpg" /> that depend on the row indices i of W.</p><p>[Method 3: Variable step-size version]</p><p>Step 1: <img src="1-3400194\46311fc8-e21e-4a30-a314-26894c6115d8.jpg" /></p><p>Step 2: <img src="1-3400194\832c891c-83c0-4502-a263-05c5e5f4f24d.jpg" /></p><p>Step 3: <img src="1-3400194\e2167074-06fd-42ed-a6ba-ea5cb43d9b4a.jpg" /></p><p>Step 4: <img src="1-3400194\62530c41-b54e-4de4-b9f4-2a147eb6bb92.jpg" /></p><p>Step 5: <img src="1-3400194\b12e7fd4-2e0e-4b77-af94-83f05b1ab14f.jpg" /></p><p>Step 6: <img src="1-3400194\3753ec3c-04fc-4096-9280-13cc8cdfa46a.jpg" /></p><p>Step 7: <img src="1-3400194\29d002d2-1632-47a9-92be-e151e2fc7f3b.jpg" /></p><p>In this method, the main issue is how to find an effecttive<img src="1-3400194\96f71e48-0b65-47d2-8d46-a2792e75a158.jpg" />. Here, we adopt the idea of jointly using current and past information.</p><disp-formula id="scirp.22102-formula6152"><label>(20)</label><graphic position="anchor" xlink:href="1-3400194\41ac0f19-cdb8-490f-b3e0-cb381cbc8757.jpg"  xlink:type="simple"/></disp-formula><p>Equation (20) has the property that a large change in the direction of <img src="1-3400194\2c9e5862-c8bf-427e-a89a-69d777662857.jpg" /> from <img src="1-3400194\87804e92-9033-4bc0-8d94-f32d68870636.jpg" /> causes the value of <img src="1-3400194\96192e47-9328-40e2-a660-3265c77b9a45.jpg" /> to be small. This property is useful in helping to avoid oscillations during the intermediate steps. However, the magnitude of <img src="1-3400194\2651a0de-95dd-463f-ab2d-1017c4fb703f.jpg" /> is not taken into account. Also, near to the convergence maximum, the value of <img src="1-3400194\08542b07-609f-434c-8235-ca3259f44b14.jpg" /> might become numerically unstable since division by zero could occur. We now get to the final form.</p><disp-formula id="scirp.22102-formula6153"><label>(21)</label><graphic position="anchor" xlink:href="1-3400194\8b241429-1f57-4a52-a1d2-429060737430.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\06d971a3-b0b5-4c5c-b308-e6e23bd1cab2.jpg" />is a constant, but it can be omitted (i.e.,<img src="1-3400194\1363a52e-2401-433d-9a06-36d0913ea73a.jpg" />). The constant <img src="1-3400194\bb11b0ce-f4d5-4b0e-bc06-6f858af82d88.jpg" /> serves the purpose of providing numerical stability by preventing division by zero (<img src="1-3400194\08d4b657-c792-49cf-b380-2f0b8cc439bd.jpg" />for 32-bit machines). Equation (21) has the following properties:</p><p>1) When <img src="1-3400194\da56eaf9-75b4-4d8c-a757-89318ad8bb1f.jpg" /> and <img src="1-3400194\fa2e28fa-4976-465f-a660-f706e5b1beeb.jpg" /> are close together, the value of <img src="1-3400194\8d69be67-d237-440e-9d84-6d5ab85a4850.jpg" /> is large since this direction needs to be emphasized. On the other hand, if the directions of <img src="1-3400194\6809939b-3446-4892-bdde-22d8465c512c.jpg" /> and <img src="1-3400194\917e0cc0-5c41-4e3b-8875-6af096a8e2c2.jpg" /> are considerably different (the extreme case is anti-parallel), the value of <img src="1-3400194\b129b5e2-a76a-4a9f-bd40-0f4bb5a04dbc.jpg" /> is close to zero.</p><p>2) Because of<img src="1-3400194\2e446837-544d-4d05-8ef4-0879c9a47643.jpg" />, a small <img src="1-3400194\42037db3-f08a-406f-bcf4-12a316b3fae2.jpg" /> generates a small<img src="1-3400194\ef23e18b-b661-4e1d-a66a-6fc3eb99e7e0.jpg" />.</p><p>Properties 1) and 2) give us hope that considerable speedup can be obtained with very little increase in computational complexity. There is one more property on which to comment.</p><p>3) It should be noted that every ICA algorithm has the possibility of non-convergence. The FastICA [<xref ref-type="bibr" rid="scirp.22102-ref2">2</xref>] is not an exception [<xref ref-type="bibr" rid="scirp.22102-ref6">6</xref>]. There are many sources that cause this, and one can easily generate such a case by using data that is non-Gaussian but almost Gaussian. In such a case, a little bit of a slowdown greatly helps the stability.</p><disp-formula id="scirp.22102-formula6154"><label>(22)</label><graphic position="anchor" xlink:href="1-3400194\e15f90b8-98ef-4998-8a29-f20a9f41849c.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\dce2898e-3e45-4239-b8cb-d9a05bf6f814.jpg" />is a slowdown constant. The case of <img src="1-3400194\0ea04e36-2e0e-424b-935a-c655955275bd.jpg" /> is the FastICA, which may not converge on some data. In our preliminary experiments with Method 3, <img src="1-3400194\ce26c3c8-f2a9-4a0c-9bfb-e259b4ca584f.jpg" />worked well in achieving convergence without too much slowdown.</p></sec><sec id="s3_5"><title>3.5. Total Algorithm: The RapidICA</title><p>Up to this point, we have presented steps that increase the speedup and stabilization. Integrating all these steps is expected to produce an even faster ICA than the existing ones. The following procedure summarizes the RapidICA.</p><p>[RapidICA]</p><p>Step 1: <img src="1-3400194\376f3cc8-f0f5-46e6-9a78-0d8b8bfa412d.jpg" /></p><p>Step 2: <img src="1-3400194\0a01c84d-d1d3-4ce5-841c-12f37a819c14.jpg" /></p><p>Step 3: <img src="1-3400194\07ba4b74-9826-48a3-a52b-8a154aa8a5e8.jpg" /></p><p>where</p><p><img src="1-3400194\e812839d-2db1-421f-afa2-9591043f9abb.jpg" /></p><p>Step 4: <img src="1-3400194\9e6ef268-67cf-4346-9ebb-cf3fa9a72973.jpg" /></p><p>Step 5: <img src="1-3400194\855f2225-4724-4778-b28d-8ed59b1cba37.jpg" /></p><p>Step 6: <img src="1-3400194\9b08d619-fb45-49a1-8165-ccfbdd7cbf90.jpg" /></p><p>Step 7: <img src="1-3400194\f4572753-b4c8-4f12-ab27-62591723ee42.jpg" /></p><p>with <img src="1-3400194\d335dfcd-be7e-45cf-ad11-ef43cf45638e.jpg" /> of Equation (21).</p><p>Step 8: <img src="1-3400194\e63d1408-ccdb-4265-bc47-f18265dd0f79.jpg" /></p><p>In the appendix, we will give the source code of the RapidICA in the programming language R.</p><p>It is important to emphasize the following:</p><p>1) The algorithm of the RapidICA utilizes past information over three steps in a single cycle. This is illustrated in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Let the iteration index be denoted by t. Given the demixing matrix<img src="1-3400194\1c97a6d2-9d7f-478f-b14d-6541273630e2.jpg" />, an estimation of the independent component <img src="1-3400194\996f71cd-0bd8-4530-a5aa-ab52db57dcc7.jpg" /> is computed. This step requires the most computation. This <img src="1-3400194\ba360817-b72a-4f8b-b06d-ea56411a3316.jpg" /> is then used to compute<img src="1-3400194\8f4da1d9-2446-4cb8-909b-36f225e5c27c.jpg" />. By orthonormalization, <img src="1-3400194\6904a928-1856-4f01-b660-c00cf6984989.jpg" />proceeds to<img src="1-3400194\aceb347a-d06b-4b05-a439-3905bcc84e44.jpg" />. Then, this <img src="1-3400194\d089c7bd-d89e-43c7-9dd3-639579ed912d.jpg" /> together with <img src="1-3400194\7b3efcdb-9fce-4f7a-a7c2-f57864048020.jpg" /> is used in the computation of<img src="1-3400194\3c0c40a5-1a39-4549-8b30-4f6d7c71eda5.jpg" />. Finally, <img src="1-3400194\76f03164-5145-4c92-9eb5-e603e343e846.jpg" />is computed by using<img src="1-3400194\37eeeb0f-d947-4912-acaa-e786fcb53ed3.jpg" />, <img src="1-3400194\231bf165-e5b4-47eb-b6de-f1d53906ad71.jpg" />, and<img src="1-3400194\4c5d0e7b-4cc5-43ad-94cb-c6debf2a4bae.jpg" />, which was saved as<img src="1-3400194\7fa951bf-8f66-4e9d-ac21-adec9f39994a.jpg" />. Thus, the RapidICA uses the update information from up to three prior steps. Note that the RapidICA of Method 2 (constant step coefficient) lacks the arrow from <img src="1-3400194\f7cf7579-dbd9-48ac-a3bc-3fb0e2a45747.jpg" /> to<img src="1-3400194\bd9fbf63-81cd-4236-bb39-d0d4b2c44179.jpg" />. Therefore, the RapidICA of Method 2 makes use of past information of no more than two prior steps.</p><p>2) From <xref ref-type="fig" rid="fig1">Figure 1</xref>, one may be reminded of the use of a momentum variable with a dynamical system to turn it into a learning system [<xref ref-type="bibr" rid="scirp.22102-ref11">11</xref>]. The use of a momentum term appears in various iterative methods. The FastICA is not</p><p>an exception, since acceleration methods for the natural gradient ICA have already been presented [3-5] based upon the idea of surrogate optimization of the likelihood ratio [<xref ref-type="bibr" rid="scirp.22102-ref10">10</xref>]. In fact, the RapidICA presented in this paper is an embodiment of the momentum term of the α-ICA applied to the fixed-point ICA expressed by the additive form (19). Besides the RapidICA of this paper, further variants are possible, some of which might show performances comparable to that of the RapidICA. We also note here that the surrogate optimization used in the alpha-HMM [<xref ref-type="bibr" rid="scirp.22102-ref12">12</xref>] originates in the same place [<xref ref-type="bibr" rid="scirp.22102-ref10">10</xref>] as does the RapidICA.</p><p>3) Computationally, the heaviest parts are Steps 1 and 3 of the High-speed Versions II and III. Let n be the number of independent components and T be the number of samples. Then the order of the computation is<img src="1-3400194\739dfe56-fec0-4300-bbbd-568ede7a1d9f.jpg" />.</p><p>The computation of<img src="1-3400194\f269f364-6035-4f49-9594-e439caa5355b.jpg" />, however, is only<img src="1-3400194\2ace207f-2e44-4e3d-9212-df70b1237c7a.jpg" />. Since <img src="1-3400194\65c3cbfc-f003-4663-979c-6e33232f9bfa.jpg" /> holds for most cases, the computational overhead for realizing the RapidICA from the FastICA remains small. Therefore a reduction in the number of iterations leads directly to a speedup in CPU time.</p><p>In the next section, the speedup effects of the RapidICA will be measured by the number of iterations and the CPU time.</p></sec></sec><sec id="s4"><title>4. Comparison of Convergence</title><p>We evaluated the performance of the RapidICA with respect to simulated and real-world data. Because of the semi-parametric nature of the ICA formulation, methods to measure convergence are different between simulated and real-world data.</p><sec id="s4_1"><title>4.1. Error Measures for Simulated and Real-World Data</title><p>The evaluation of simulated data is important since the mixing matrix A is specified in advance. Note that this matrix is assumed to be unknown in the ICA setting.</p><p>For simulated data, the first measure of error counts how close <img src="1-3400194\701ac099-27e2-4b8d-bd81-1b9ca8d9bc77.jpg" /> is to A. There is also the permutation uncertainty. Therefore, the error measure is based on the matrix</p><disp-formula id="scirp.22102-formula6155"><label>(23)</label><graphic position="anchor" xlink:href="1-3400194\499d8d9d-0a6b-484d-b417-42c824df4f7d.jpg"  xlink:type="simple"/></disp-formula><p>Here, V is a transformation matrix of Equation (16). The error measure is then defined as follows [<xref ref-type="bibr" rid="scirp.22102-ref13">13</xref>].</p><disp-formula id="scirp.22102-formula6156"><label>(24)</label><graphic position="anchor" xlink:href="1-3400194\1d31de4a-100a-4f6a-97eb-2f54a9b39583.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\693be410-acb4-49f7-957c-c8fb4873154d.jpg" />is the element of the matrix P. If<img src="1-3400194\25806074-fbc6-4a13-8466-da09df079863.jpg" />, i.e., the source signal is regarded as a preprocessed one, then the matrix P becomes a permutation matrix.</p><p>The second error measure reflects the independence by using<img src="1-3400194\a77ee46c-b652-474d-8cc0-2c03e2e9e271.jpg" />.</p><disp-formula id="scirp.22102-formula6157"><label>(25)</label><graphic position="anchor" xlink:href="1-3400194\92efe60f-122a-4ee9-9cd0-f01489258189.jpg"  xlink:type="simple"/></disp-formula><p>This is applicable to both simulated and real-world data.</p><p>The third error criterion measures the convergence of the demixing matrix. Let <img src="1-3400194\eba16c23-62de-4598-8194-85c525711305.jpg" /> and <img src="1-3400194\6fe7e667-74da-4442-ac97-2716498e06b0.jpg" /> be the row vectors of W and<img src="1-3400194\a5954e3b-1050-4ace-b001-5837e943295d.jpg" />, respectively. Here, W is the currently orthonormalized version. Thus the convergence measure is defined as follows.</p><disp-formula id="scirp.22102-formula6158"><label>(26)</label><graphic position="anchor" xlink:href="1-3400194\70d1cc40-6ff4-44eb-b894-33990b1aa9e6.jpg"  xlink:type="simple"/></disp-formula><p>This is the most important convergence measure, since it can be used as a stop criterion for the iteration.</p><disp-formula id="scirp.22102-formula6159"><label>(27)</label><graphic position="anchor" xlink:href="1-3400194\a7a5223c-5a00-4edc-b6c4-450f00f66b08.jpg"  xlink:type="simple"/></disp-formula><p>A typical value for <img src="1-3400194\7d407b6f-a42d-411b-ba29-d9fbd7a9fcf9.jpg" /> is <img src="1-3400194\eae3ebae-60ea-4590-8692-e862e9e6924a.jpg" /> to<img src="1-3400194\6157d7ef-d2ba-47bd-8199-b04d138d5586.jpg" />.</p></sec><sec id="s4_2"><title>4.2. Experiments on Simulated Data</title><p>First, we generated a super-Gaussian source from Gaussian random numbers, as follows:</p><p>Step 1: A mixture matrix A was selected.</p><p>Step 2: We drew N(0, 1) Gaussian pseudo-random numbers.</p><p>Step 3: For each random number r, <img src="1-3400194\31f6d22e-1f2d-4c30-a6e4-0d2278b69f62.jpg" />was applied to obtain an s.</p><p>Step 4: A total of 2000 such s were generated.</p><p>Step 5: The time series of s was renormalized to have zero mean and unit variance.</p><p>Step 6: A total of <img src="1-3400194\355a010d-0d5d-456d-9a1f-2172e604c2fe.jpg" /> of such super-Gaussian sources were generated.</p><p>Step 7: The mixture signal x was generated by Equation (1).</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> illustrates a super-Gaussian component generated by the above method. For this class of subsources, simulations were performed by using the following contrast functions.</p><p><img src="1-3400194\c4f8598c-dde1-4eff-a602-e7a89386a4fb.jpg" /><img src="1-3400194\ca191c8b-a2f5-4af7-a28c-5b72acceacb9.jpg" /> (28)</p><disp-formula id="scirp.22102-formula6160"><label>(29)</label><graphic position="anchor" xlink:href="1-3400194\f89f186a-733d-463b-a978-90d8bab7c960.jpg"  xlink:type="simple"/></disp-formula><p><xref ref-type="fig" rid="fig3">Figure 3</xref> illustrates the resulting speedup comparison of three methods: the FastICA, the RapidICA with a constant<img src="1-3400194\50e86cc4-e7ca-4905-9cf4-ba491493180a.jpg" />, and the RapidICA with the <img src="1-3400194\4e4e3a40-14c4-4ddf-b2e5-a74a6cf892d6.jpg" /> of Equation (21). The last method of the three types is simply called the RapidICA. In <xref ref-type="fig" rid="fig3">Figure 3</xref>, the horizontal axis indicates the number of iterations, and the vertical axis indicates the error of Equation (24) using a logarithmic scale. As can be observed from this figure, the RapidICA outperformed the FastICA.</p><p><xref ref-type="fig" rid="fig4">Figure 4</xref> illustrates the trend of iterations versus the log cosh measure of Equation (25), which was used to check if the converged result had enough independence. This trend was compatible with that of the convergence of <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><p>In Figures 3 and 4, both types of RapidICAs outperformed the FastICA. Also, the RapidICA, with <img src="1-3400194\12b613a6-77d7-451b-8ef4-628c22760864.jpg" /> of Equation (21), outperformed the version with <img src="1-3400194\cd97b0ac-2fc3-4c02-9df8-23c684b779d5.jpg" /> const. This means that the diagonal matrix <img src="1-3400194\1f3b4255-abba-4add-8be7-6235cd4e9bb9.jpg" /> appropriately changed its elements. Since there are n = 20 elements, we computed their average so that a general trend could be more easily seen. <xref ref-type="fig" rid="fig5">Figure 5</xref> illustrates the course of the average:</p><disp-formula id="scirp.22102-formula6161"><label>(30)</label><graphic position="anchor" xlink:href="1-3400194\c6909a51-f026-455d-b6d6-9af353eb1f19.jpg"  xlink:type="simple"/></disp-formula><p>From <xref ref-type="fig" rid="fig5">Figure 5</xref>, we observed the following properties:</p><p>1) During the first two iterations, <img src="1-3400194\2568fe23-f0f4-4be6-ae56-d38582cff060.jpg" />was set to zero since there was no past information.</p><p>2) Once the adjustment of <img src="1-3400194\6f03f6ef-aef4-494e-9699-878a5430afd6.jpg" /> started, iterations used this information to adjust the step size and the direction of<img src="1-3400194\0c29e1b4-afc8-4b68-8932-eecb15999136.jpg" />. The average <img src="1-3400194\3e76f0df-60e9-4d26-bf7b-a26341481cee.jpg" /> became close to zero as the iteration proceeded. In <xref ref-type="fig" rid="fig5">Figure 5</xref>, this phenomenon could be observed after the 17th iteration. This coincided with the convergence of Figures 3 and 4. Note that at the 17th iteration, the FastICA and the RapidICA with a constant set of <img src="1-3400194\2ce602b1-1b3c-453f-b84c-4950f7a87264.jpg" /> were still in the course of learning updates.</p></sec><sec id="s4_3"><title>4.3. ICA Comparison on Real-World Data: Obtaining Bases for Images</title><p>Digital color images are popular real-world data for ICA benchmarking. First, we checked to see the trend of the convergence by using a single typical natural image. We first present this, and then follow with the average performance on 200 images.</p><sec id="s4_3_1"><title>4.3.1. Convergence Comparison on a Typical Natural Image</title><p>We applied the ICAs to obtain image bases. In this case, the true mixing matrix A was unknown.</p><p>Step 1: Image patches of x were collected directly from RGB source images. First, we drew a collection of 8 &#215; 8 size patches. The total number was 15,000.</p><p>Step 2: Each patch x was regarded as a 192-dimensional vector (192 = 8 &#215; 8 &#215; 3).</p><p>Step 3: By the whitening of Equation (15), the dimension was reduced to 64.</p><p>In this experiment, the contrast function of Equations (28) and (29) was used.</p><p><xref ref-type="fig" rid="fig6">Figure 6</xref> compares the convergence of three ICA methods: the FastICA, the RapidICA with fixed<img src="1-3400194\a98c314c-4f5b-448e-a1f2-5a27873227a4.jpg" />, and the RapidICA with adjusting<img src="1-3400194\e2811d30-461b-4822-90f7-74b968bede6e.jpg" />. The performance measure was Equation (25). Here, the horizontal axis is the CPU time. It can be observed that the RapidICA again outperformed the FastICA.</p><p>It is important for ICA users to understand that there are difficulties with using log cosh as a performance measure. This is because its value cannot be known in advance because of the semi-parametric formulation of the ICA problem. We can understand this by comparing the vertical axis levels of Figures 4 and 6. For this reason, the convergence criterion (26) is the most practical one. <xref ref-type="fig" rid="fig7">Figure 7</xref> compares this convergence criterion for three ICA methods; the FastICA, the RapidICA with fixed<img src="1-3400194\57fa2a73-be03-4890-abd6-d554c3817a12.jpg" />, and the RapidICA with adjusting<img src="1-3400194\ccd4cbe2-3b58-4500-bcff-e57a8111ceb5.jpg" />. In this figure, the horizontal axis is CPU time, and the vertical axis is the convergence measure of Equation (26). The convergence speed of the RapidICA obviously outperformed that of the FastICA. Moreover, the RapidICA achieved a better convergence region (on the vertical axis) than that which the FastICA could attain. One can easily see this in <xref ref-type="fig" rid="fig7">Figure 7</xref> by drawing a horizontal line at<img src="1-3400194\70f66eb3-7b59-4421-a55b-47efa9f1d7c1.jpg" />.</p><p>By examining <xref ref-type="fig" rid="fig7">Figure 7</xref>, one realizes that the iterationtruncated matrices for the demixing W are different</p><p>among the three ICA methods, but they are expected to be similar to each other except for the ordering permutetion. Figures 8 and 9 are sets of bases obtained by the RapidICA and the FastICA at the 300th iteration. These are raster-scan visualizations of the column vectors of the matrix</p><disp-formula id="scirp.22102-formula6162"><label>(31)</label><graphic position="anchor" xlink:href="1-3400194\c979542c-19ed-4077-9467-c95376d4d62e.jpg"  xlink:type="simple"/></disp-formula><p>Here, <img src="1-3400194\101b354a-124c-418b-ab8e-c19e0db3c8d0.jpg" />is a Moor-Penrose generalized inverse of V. <img src="1-3400194\87ccbc08-4169-4bfe-8f6a-f7076db1413d.jpg" />is an estimation of the unknown mixing matrix<img src="1-3400194\7398d93d-286d-4788-a604-e086bb41115e.jpg" />.</p><p>By considering the permutation, we compare two sets of bases</p><disp-formula id="scirp.22102-formula6163"><label>(32)</label><graphic position="anchor" xlink:href="1-3400194\14c35a06-32d8-4919-b4d4-2ee65ea410ec.jpg"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.22102-formula6164"><label>(33)</label><graphic position="anchor" xlink:href="1-3400194\8858ccb6-70f1-49fd-a6b4-ac914bcdbc3f.jpg"  xlink:type="simple"/></disp-formula><p>by the computation procedure described in <xref ref-type="fig" rid="fig1">Figure 1</xref>0.</p><p>If<img src="1-3400194\ea416ff0-b1e0-4863-a903-d26b7d4372c3.jpg" />, we can regard the two basis sets as having a similar role. By the computation of S in <xref ref-type="fig" rid="fig1">Figure 1</xref>0 for the basis sets of Figures 8 and 9, we found that<img src="1-3400194\6130a239-c060-474e-ab18-95a76d2956d7.jpg" />. Therefore, the basis sets of <xref ref-type="fig" rid="fig8">Figure 8</xref> (RapidICA) and <xref ref-type="fig" rid="fig9">Figure 9</xref> (FastICA) essentially play the same role. In other words, both the RapidICA and the FastICA converged to the sound and similar local optimum.</p></sec><sec id="s4_3_2"><title>4.3.2. Convergence Comparison by 200 Images: Super-Gaussian Data Set</title><p>We prepared a data set of 200 color images as follows.</p><p>As will be seen, the image data are mostly super-Gaussian.</p><p>Step 1: Each color image was resized to 150 &#215; 112 pixels.</p><p>Step 2: From each image, a set of 16,800 patches of &#160;8 &#215; 8 pixels was drawn by overlapped sampling.</p><p>Step 3: Each set of patches was normalized to have zero mean.</p><p>Step 4: By the whitening method of Equations (15) and (16), the patch vector’s dimension of 192 = 8 &#215; 8 &#215; 3 was reduced to 64.</p><p>For the color image data set prepared as described above, we conducted an experiment to compare the RapidICA (Method 3) and the FastICA. The adopted contrast function was log cosh. <xref ref-type="fig" rid="fig1">Figure 1</xref>1 is a histogram of the iteration speedup by the RapidICA. Here, the horizontal axis is the speedup ratio, where the truncation criterion of (27) is<img src="1-3400194\e7787c40-d292-4d80-b7a2-e4d6647d9b76.jpg" />.</p><disp-formula id="scirp.22102-formula6165"><label>(34)</label><graphic position="anchor" xlink:href="1-3400194\ac742fbe-339d-4b6d-bcc9-a512f9f25988.jpg"  xlink:type="simple"/></disp-formula><p>The vertical axis is the number of occurrences. Obviously, the RapidICA outperformed the FastICA in all 200 cases. For the total of 200 ICA trials, the RapidICA required 5349 iterations with a CPU time of 1837 seconds by a conventional PC. On the other hand, the FastICA required 9848 iterations with a CPU time of 3031 seconds. Therefore, the average iteration speedup ratio was 1.67, and the CPU speedup ratio was 1.65. The most frequent speedup ratio for the iterations was 1.80, and its CPU speedup ratio was 1.78. In all of the 200 cases, the RapidICA outperformed the FastICA.</p><p>Accompanied by the 200 image experiments, we used the measure of –log cosh to check the non-Gaussianity. This is illustrated in <xref ref-type="fig" rid="fig1">Figure 1</xref>2. The horizontal axis is the non-Gaussianity, and the vertical axis is the number of occurrences. The heavy black arrow is the position of the Gaussian distribution:</p><disp-formula id="scirp.22102-formula6166"><label>(35)</label><graphic position="anchor" xlink:href="1-3400194\46b44cf9-ef4b-4ac5-8559-fbe4655edcd8.jpg"  xlink:type="simple"/></disp-formula><p>As can be understood from <xref ref-type="fig" rid="fig1">Figure 1</xref>2, the color image data are super-Gaussian.</p></sec><sec id="s4_3_3"><title>4.3.3. Convergence Comparison by 200 EEG Data: Almost Gaussian Data Set</title><p>We prepared a data set of 200 EEG vector time series. As will be seen, EEG data are weakly super-Gaussian. That is, they are almost Gaussian, which can cause difficulties in ICA decomposition, as was stated in the ICA formulation of Section 2.1. The EEG data sets were prepared and preprocessed in the following way:</p><p>Step 1: 200 EEG time series were drawn at random from the data of [<xref ref-type="bibr" rid="scirp.22102-ref14">14</xref>]. Each time series had 59 channels.</p><p>Step 2: Each EEG time series was divided into chunks that were 8 seconds in length. This generated 8000 samples (1 KHz sampling).</p><p>Step 3: Each EEG time series was normalized to have zero mean.</p><p>Step 4: By the whitening method of Equations (15) and (16), the EEG channel dimension of 59 was reduced to 32.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>3 illustrates the histogram of the speedup ratio of Equation (34), where the convergence truncation is<img src="1-3400194\c5f56cc9-1c36-4912-b2d7-c6a0b74b8dee.jpg" />. For the 200 data sets, the Rapid ICA again outperformed the FastICA in 181 cases. For the total of 200 ICA trials, the RapidICA required a total of 7305 iterations with a CPU time of 613 seconds by a conventional PC. On the other hand, the FastICA required 8256 iterations with a CPU time of 656 seconds. Therefore, the iteration speedup was 1.13, and the CPU speedup ratio was 1.07. The most frequent speedup ratio on the iteration was 1.30, and its CPU speedup ratio was 1.23. Upon obtaining this result, we checked the degree of the nonGaussianity.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>4 illustrates the non-Gaussianity by using the measure of –log cosh. The position of the heavy black arrow is that of the Gaussian distribution of Equation (35). As can be observed, sub-Gaussian EEGs were mixed in the test data set. By comparing Figures 12 and 14, one finds that the EEG data drawn from [<xref ref-type="bibr" rid="scirp.22102-ref14">14</xref>] are very weak super-Gaussian. Some data sets contained multiple Gaussian signals. Such cases violate the assumption of the ICA formulation of Section 2.1. This indicates that appropriate preprocessing is desirable for EEGs before the ICA is applied. We will consider this point in the next section.</p></sec></sec></sec><sec id="s5"><title>5. Concluding Remarks</title><p>In this paper, a class of speedy ICA algorithms was presented. This method, called the RapidICA, outperformed the FastICA. Since the increase in computation is very light, the reduction of iterations directly realizes the CPU speedup. The speedup is drastic if the sources are superGaussian, which is the case when the source data are natural images. Since ICA bases have the roles of expressing texture information for data compression and measuring the similarity between different images, they</p><p>can be used in this system for the similar-image retrieval [<xref ref-type="bibr" rid="scirp.22102-ref7">7</xref>]. In such a case, the speedup of the RapidICA is quite good.</p><p>For the case of signals that are nearly Gaussian, such as the EEGs, the RapidICA again outperformed the FastICA in terms of speed. But the margin of improvement is less than that in the case of images. This is because cases of multiple Gaussian sources need to be excluded from the ICA formulation, including both the RapidICA and the FastICA. For such cases, if the ICA is applied, it is necessary to transform raw EEG data into good superGaussian data. This is possible on the EEGs since the purpose of using these data in only for the detection of event changes in source signals. This approach will be presented in future papers.</p></sec><sec id="s6"><title>6. Acknowledgements</title><p>This study was supported by the Ambient SoC Global COE Program of Waseda University from MEXT Japan. Waseda University Grant for Special Research Projects No. 2010B and the Grant-in-Aid for Scientific Research No. 22656088 are also acknowledged.</p></sec><sec id="s7"><title>REFERENCES</title></sec><sec id="s8"><title>Appendix: R Code of RapidICA</title><p># settings</p><p>iter.max &lt; − 100</p><p>eps &lt; − 1e−5</p><p>p.alpha &lt; − 1.0</p><p>p.beta &lt; − 1.0</p><p>p.gamma &lt; − 1e−6</p><p># initialization</p><p>W &lt; − diag(1, d, d)</p><p>dW1 &lt; − matrix(0, d, d)</p><p>dW2 &lt; − matrix(0, d, d)</p><p>eta &lt; − matrix(0, d, d)</p><p># iterations</p><p>for (p in 1:iter.max) {</p><p>&#160; # (learning non-gaussianity)</p><p>&#160; Wold &lt; − W</p><p>&#160; y &lt; − W %*% z</p><p>&#160; dW1 &lt; −</p><p>&#160;&#160;&#160; −p.alpha *</p><p>&#160;&#160;&#160; diag(1 / rowSums(G2(y))) %*%</p><p>&#160;&#160;&#160; (G1(y) %*% t(z))</p><p>&#160; W &lt; − W + dW1</p><p>&#160; W &lt; − orth(W)</p><p>&#160;</p><p>&#160; # (convergence test)</p><p>&#160; conv &lt; −</p><p>&#160;&#160;&#160;&#160; 1 − sum(abs(diag(W %*% t(Wold)))) / d</p><p>&#160; if (conv &lt; eps) break</p><p>&#160;</p><p>&#160; # (acceleration steps)</p><p>&#160; dW2old &lt; − dW2</p><p>&#160; dW2 &lt; − W − Wold</p><p>&#160; for (i in 1:d) {</p><p>&#160;&#160;&#160; eta.i.num &lt; −</p><p>&#160;&#160;&#160;&#160;&#160; max(t(dW2[i,]) %*% dW2old[i,], 0)</p><p>&#160;&#160;&#160; eta.i.den &lt; −</p><p>&#160;&#160;&#160;&#160;&#160; max(t(dW2[i,]) %*%</p><p>&#160;&#160;&#160;&#160;&#160; dW2[i,], t(dW2old[i,]) %*%</p><p>&#160;&#160;&#160;&#160;&#160; dW2old[i,])</p><p>&#160;&#160;&#160; eta[i,i] &lt; − p.beta *</p><p>&#160;&#160;&#160;&#160;&#160; eta.i.num / (eta.i.den + p.gamma)</p><p>&#160; }</p><p>&#160; W &lt; − W + eta * dW2</p><p>&#160; W &lt; − orth(W)</p><p>}</p></sec></body><back><ref-list><title>References</title><ref id="scirp.22102-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">P. Common and C. Jutten, Eds., “Handbook of Blind Source Separation: Independent Component Analysis and Applications,” Academic Press, Oxford, 2010.</mixed-citation></ref><ref id="scirp.22102-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">A Hyv?rinen, “Fast and Robust Fixed-Point Algorithms for Independent Component Analysis,” IEEE Transactions on Neural Networks, Vol. 10, No. 3, 1999, pp. 626- 634.</mixed-citation></ref><ref id="scirp.22102-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Y. Matsuyama, N. Katsumata, Y. Suzuki and S. Imahara, “The α-ICA Algorithm,” Proceedings of 2nd International Workshop on ICA and BSS, Helsinki, 2000, pp. 297-302.</mixed-citation></ref><ref id="scirp.22102-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Y. Matsuyama, N. Katsumata and S. Imahara, “Convex Divergence as a Surrogate Function for Independence: The f-Divergence ICA,” Proceedings of 4th International Workshop on ICA and BSS, Nara, 2003, pp. 173-178.</mixed-citation></ref><ref id="scirp.22102-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Y. Matsuyama, N. Katsumata and R. Kawamura, “Independent Component Analysis Minimizing Convex Divergence,” Lecture Notes in Computer Science, No. 2714, 2003, pp. 27-34.</mixed-citation></ref><ref id="scirp.22102-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">V. Zarzoro, P. Common and M. Kallel, “How Fast Is FastICA?” 14th European Signal Processing Conference (EUSIPCO), 4-8 September 2006, pp. 4-8.</mixed-citation></ref><ref id="scirp.22102-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">N. Katsumata and Y. Matsuyama, “Database Retrieval from Similar Images Using ICA and PCA Bases,” Engineering Applications of Artificial Intelligence, Vol. 18, No. 6, 2005, pp. 705-717.  
doi:10.1016/j.engappai.2005.01.002</mixed-citation></ref><ref id="scirp.22102-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">T. Cover and J. Thomas, “Elements of Information Theory,” John Wiley and Sons, New York, 1991.  
doi:10.1002/0471200611</mixed-citation></ref><ref id="scirp.22102-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">I. Csiszár, “Information-Type Measures of Difference of Probability Distributions and Indirect Observations,” Studia Scientiarum Mathematicarum Hungarica, Vol. 2, 1967, pp. 299-318.</mixed-citation></ref><ref id="scirp.22102-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Y. Matsuyama, “The α-EM Algorithm: Surrogate Likelihood Maximization Using α-Logarithmic Information Measures,” IEEE Transactions on Information Theory, Vol. 49, No. 3, 2003, pp. 692-706.  
doi:10.1109/TIT.2002.808105</mixed-citation></ref><ref id="scirp.22102-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">C. M. Bishop, “Neural Networks for Pattern Recognition,” Oxford University Press, Oxford, 1995.</mixed-citation></ref><ref id="scirp.22102-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Y. Matsuyama, “Hidden Markov Model Estimation Based on Alpha-EM Algorithm: Discrete and Continuous Alpha-HMMs,” Proceedings of International Joint Conference on Neural Networks, San Jose, 7 July-5 August 2011, pp. 808-816.</mixed-citation></ref><ref id="scirp.22102-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">H. H. Yang and S. Amari, “Adaptive Online Learning Algorithm for Blind Separation: Maximum Entropy and Minimum Mutual Information,” Neural Computation, Vol. 9, No. 7, 1997, pp. 1457-1482.  
doi:10.1162/neco.1997.9.7.1457</mixed-citation></ref><ref id="scirp.22102-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">B. Blankertz, G. Dornhege, M. Lrauledat, K. R. Muller and G. Curio, “The Non-Invasive Brain-Computer Interface: Fast Acquisition of Effective Performance in Untrained Subjects,” Nueroimage, Vol. 37, No. 2, 2007, pp. 539-550. doi:10.1016/j.neuroimage.2007.01.051</mixed-citation></ref></ref-list></back></article>