Abstract:
A system ( 10 ) and method for measuring a composition in the blood fluid is disclosed. The system ( 10 ) comprises a non-invasive measuring unit ( 12 ) for measuring the composition; and at least one neural network ( 16 ) for processing a plurality of measurements taken by the non-invasive measuring unit ( 12 ) to determine an overall measurement of the composition in the blood fluid. A further aspect of the invention discloses a computer-readable medium for performing the above method.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a method and system for measuring a composition in the blood fluid. The invention is particularly suited to processing a set of blood glucose measurements of a person through at least one neural network to obtain an overall blood glucose level and will be described in this context. 
       BACKGROUND TO THE INVENTION 
       [0002]    The following discussion of the background of the invention is intended to facilitate an understanding of the present invention. However, it should be appreciated that the discussion is not an acknowledgement or admission that any of the material referred to was published, known or part of the common general knowledge in any jurisdiction as at the priority date of the application. 
         [0003]    A traditional way of measuring a person&#39;s blood glucose level is to use a fine needle to prick the finger of a person. This invasive technique then allows blood from the person&#39;s veins to be drawn through the incision caused by the needle. This blood is then placed on a strip containing reagents that react with glucose to form a chromophore. The strip is subsequently read by a reflectance colorimeter with an analyser (e.g. a glucose meter) to determine the level of glucose present in the blood. 
         [0004]    Such invasive approaches are undesirable in situations where the person is required to monitor his/her blood glucose level several times a day. This is due to the fact that taking multiple measurements in this manner:
       can cause unnecessary pain and hassle;   increases the risk of contamination in situations where needles are re-used. Conversely, if needles are not reused, the cost of needle disposal is increased in line with the number of measurements required to be taken on a daily basis; AND   Bio-waste products are increased in line with the number of measurements required to be taken on a daily basis which must then be appropriately dealt with.       
 
         [0008]    These problems with invasive techniques have led to the development of non-invasive techniques for measuring blood glucose levels. 
         [0009]    Out of the various non-invasive monitoring techniques, the optical absorption technique for the quantification of glucose has demonstrated to be a promising approach for non invasive blood glucose sensing/monitoring. The optical absorption technique principle centres on the use of an incident infrared radiation source of a certain wavelength being delivered to a measurement site through optical fibres. The wavelength of the infrared radiation is such that it is prone to absorption by glucose in the blood fluid. 
         [0010]    Thus, as the infrared radiation is directed through the measurement site, part of the radiation will be absorbed or reflected by glucose in the blood fluid to an optic fibre sensor. The amount of infrared radiation measured by the sensor is then used to compute a glucose level. To eliminate error in this process, additional optic fibre sensors may surround the sensor and communicate the level of infrared radiation each receives to the main sensor for inclusion in its computations. 
         [0011]    The problems introduced by non-invasive blood glucose measurement systems are many. In the case of the optical absorption technique described above, the problems include:
       differences in the pressure applied by the optical fibres affect the blood glucose measurement obtained. Accordingly, it is possible to obtain differing blood glucose level measurements from the same measurement site at different times. It is also possible for variations in sequential blood glucose measurements to arise as a result of variations in pressure between the two measurements;   The wavelengths used can be prone to soft tissue interference, which may result in higher blood glucose measurements;   The skin type of the person may affect the ability of the infrared radiation to penetrate tissue or may absorb the infrared radiation, again adversely affecting the accuracy of the resulting blood glucose measurement.   The wavelength chosen may be prone to absorption by other elements in the blood fluid, such as urea, water, etc. in addition to blood glucose.       
 
         [0016]    One method of dealing with the immediately preceding problems has been to implement systems relying on a plurality of infrared radiation beams of different wavelengths to measure the blood glucose level. These measurements are then processed using a partial least-square method for calculating the blood glucose level. 
         [0017]    The problem with this situation, however, is that the accuracy of the blood glucose measurement is reliant on the number of differing wavelengths used to take the measurement. While greater numbers of differing wavelengths improve such accuracy, they do so at increased cost. The end result has seen a situation where accuracy corresponding to that of invasive techniques has not been able to be obtained through non-invasive measurement techniques based on the optical absorption principle at a cost effective level. 
         [0018]    It is thus an object of the present invention to develop a system capable of measuring and determining blood fluid composition such as glucose, while ameliorating the above-mentioned problems thereby attempting to achieve a balance between cost and accuracy. 
       SUMMARY OF THE INVENTION 
       [0019]    Throughout this document, unless otherwise indicated to the contrary, the phrase “comprising”, “consisting of”, and the like, are to be construed as inclusive and not exhaustive. 
         [0020]    In accordance with a first aspect of the invention there is a system for measuring a composition of a blood fluid comprising at least one neural-network for processing a plurality of measurements taken by a non-invasive measuring unit to determine an overall measurement of the composition in the blood fluid. 
         [0021]    In accordance with a further aspect of the invention there is a system for measuring a composition of a blood fluid comprising a non-invasive measuring unit for measuring the composition; and at least one neural network for processing a plurality of measurements taken by the non-invasive measuring unit to determine an overall measurement of the composition in the blood fluid. 
         [0022]    In accordance with a further aspect of the invention there is a method of measuring a composition in a blood fluid comprising the steps of obtaining a plurality of measurements from a non-invasive measuring unit and processing the plurality of measurements by at least one neural network to determine an overall measurement of the composition in the blood fluid. 
         [0023]    Preferably, the at least one neural network implements a back propagation algorithm. 
         [0024]    The number of nodes in the input layer preferably matches the number of measurements in the plurality of measurements taken by the non-invasive measuring unit. Further, preferably the hidden layer comprises at least four nodes. 
         [0025]    A linear equation associated with each output node may be determined from a controlled source prior to training of the at least one neural network. The linear equation associated with each hidden node may be determined through automated processes. 
         [0026]    The output value for the hidden node can be a summation of weighted measurements. The output value for the output node also can be a summation of weighted normalized hidden node output values. 
         [0027]    The adjustment to the weightings for each link between a hidden node and an output node may be calculated with reference to an output gradient error. The output gradient error can be calculated as follows: 
         [0000]      δ k =( t   k   −n   k )· n   k ·(1 −n   k )
       where:
           n k  is the normalized output value for output node k.   t k  is the target output value for output node k as determined by the linear equation associated with output node k.   
               
 
         [0031]    The adjustment to the weightings for each link between a hidden node and an output node are calculated according to the formula: 
         [0000]      Δwho jk ( p+ 1)=η·δ k   ·f (net j )+ mΔwho   jk ( p )
       where:
           η denotes the learning rate.   m denotes the momentum composition.   δ k is the output gradient error.   Δwho jk (p+1) represents the updated change in weight.   Δwho jk (p) represents the previous change in weight.   f(net j ) is the normalized output value for hidden node j.   
               
 
         [0039]    The adjustment to the weightings for each link between an input node and a hidden node are preferably calculated with reference to a hidden layer gradient error. The hidden layer gradient error is calculated as follows: 
         [0000]    
       
         
           
             
               δ 
               j 
             
             = 
             
               
                 ( 
                 
                   
                     f 
                      
                     
                       ( 
                       
                         net 
                         j 
                       
                       ) 
                     
                   
                   · 
                   
                     ( 
                     
                       1 
                       - 
                       
                         f 
                          
                         
                           ( 
                           
                             net 
                             j 
                           
                           ) 
                         
                       
                     
                     ) 
                   
                 
                 ) 
               
                
               
                 
                   ∑ 
                   
                     k 
                     = 
                     1 
                   
                   Y 
                 
                  
                 
                   
                     δ 
                     k 
                   
                   · 
                   
                     
                       who 
                       jk 
                     
                      
                     
                       ( 
                       p 
                       ) 
                     
                   
                 
               
             
           
         
       
       
         
           
             where: 
             Y is the total number of neurons in the output layer of the neural network concerned.
           f(net j ) is the normalized output value for hidden node j.   δ k  is the output gradient error.   who jk (p) represents the current weight for the link between the hidden node j and the output node k.   
         
           
         
       
     
         [0045]    The adjustment to the weightings for each link between an input node and a hidden node may be calculated as follows: 
         [0000]      Δwih if ( p+ 1)=η·δ j   ·x   i   +mΔwih   ij ( p )
       where:
           η denotes the learning rate.   m denotes the momentum composition.   δ j  is the hidden layer gradient error.   x i  is the value of input node i.   wih ij (p+1) represents the updated change in weight.   wih ij (p) represents the previous change in weight.   
               
 
         [0053]    The learning rate (η) and the momentum parameter (m) may be automatically adjusted during training. Preferably, the learning rate (η) is a value in the range 0.01 to 0.1 and the momentum parameter (m) is a value in the range 0.8 to 0.9. 
         [0054]    Ideally, the at least one neural network comprises at least one bias. 
         [0055]    The output value for the hidden node may be a summation of weighted measurements and at least one weighted input bias. 
         [0056]    The output value for the output node may also be a summation of weighted normalized hidden node output values and at least one weighted output bias. 
         [0057]    The adjustments to the weightings of each link between each output bias and an output node may be calculated with reference to the output gradient error. Ideally, this is through use of the following equation: 
         [0000]      Δwho 0k =η·δ k  
       where:
           η is the learning rate.   δ k is the output gradient error.   
               
 
         [0061]    The adjustment to be made to the output value for the output node (neto k ) can be determined by the following equation: 
         [0000]    
       
         
           
             
               neto 
               k 
             
             = 
             
               
                 
                   who 
                   
                     0 
                     k 
                   
                 
                 · 
                 
                   bo 
                   k 
                 
               
               + 
               
                 
                   ∑ 
                   
                     j 
                     = 
                     1 
                   
                   X 
                 
                  
                 
                   
                     who 
                     jk 
                   
                   · 
                   
                     f 
                      
                     
                       ( 
                       
                         net 
                         j 
                       
                       ) 
                     
                   
                 
               
             
           
         
       
       
         
           
             where:
           X is the total number of nodes in the hidden layer of the neural network concerned   who 0k  is the weighting applied to the output bias for output node k.   bo k  is the output bias for output node k   who jk  is the weighting applied to the link between hidden node j and output node k.   f(net j ) is the normalized output value for hidden node j.   
         
           
         
       
     
         [0068]    Ideally, the at least one neural network comprises a first neural network and a second neural network, the first neural network configured so as to pre-process the plurality of measurements before passing the pre-processed measurements to the second neural network for determination of an overall measurement of the composition. The first and second neural networks may both implement back propagation algorithms. The back propagation algorithm implemented by the first neural network may be the same as that implemented by the second neural network. 
         [0069]    The at least one neural network may be trained until one of the following occurs: the mean square error per training set is within a predetermined range; the synaptic weights stabilise; the bias level stabilises; the mean square error of the system is within a predetermined range; the mean square error over the entire training set is within a predetermined range; a predetermined number of training iterations have been performed. In a preferred embodiment, the at least one neural network is trained until the global mean square error of the system is less than 0.0008. 
         [0070]    After training of the at least one neural network, the neural network(s) may be verified by comparing the results of the trained neural network against measurements of the substance obtained through invasive measuring techniques. 
         [0071]    The non-invasive measuring unit may comprise a plurality of laser diodes each emitting light at a unique wavelength absorbable by the composition, the measurements taken by each laser diode forming the plurality of measurements. 
         [0072]    The composition to be measured is preferably blood glucose and the wavelength of the light emitted by each of the plurality of laser diodes falls within the range 1600 nm to 1800 nm. 
         [0073]    Alternatively, the non-invasive measuring unit comprises at least one laser diode able to emit light at varying wavelengths absorbable by the composition, the measurements taken by the at least one laser diode at each of these varying wavelengths forming the plurality of measurements. 
         [0074]    The non-invasive measuring unit may further include a control laser diode which emits light at a wavelength not absorbable by the composition. 
         [0075]    In accordance with a further aspect of the invention, there is a computer-readable medium having recorded thereon a means for receiving a plurality of measurements of a composition of a blood fluid, and at least one neural network to process the plurality of measurements of the composition of the blood fluid, such that an overall measurement of the composition in the blood fluid is determined. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0076]    The following invention will be described with reference to the following drawings of which: 
           [0077]      FIG. 1  is a schematic representation of a system for measuring a composition in the blood fluid 
           [0078]      FIG. 2  is a schematic of a first neural network forming part of the system shown in  FIG. 1 . 
           [0079]      FIG. 3  is a series of glucose concentration graphs from which linear equations are manually determined for the purposes of training the first neural network as shown in  FIG. 2 . 
           [0080]      FIG. 4  is a schematic of a second neural network forming part of the system shown in  FIG. 1 . 
           [0081]      FIG. 5  is an isometric view of one version of a non-invasive blood glucose measurement setup. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0082]      FIG. 1  illustrates the first embodiment of the system  10  for measuring blood glucose in the blood fluid  42 . The system  10  comprises a non-invasive blood glucose measurement setup  12 , a data collection module  14 , a first neural network  16  and a second neural network  18 . In the context of the invention blood fluid is composed of blood cells suspended in a liquid called blood plasma. Plasma, which comprises 55% of blood fluid, is mostly water (about 90%), and contains dissolved proteins, glucose, mineral ions, hormones, carbon dioxide, platelets and blood cells themselves. The blood cells present in blood are mainly red blood cells (also called RBCs or erythrocytes) and white blood cells, including leukocytes and platelets (also called thrombocytes). Blood fluid is the main medium for excretory product transportation within vertebrates in vivo. The blood fluid may be measured in situ through a nail or it may be extracted and measured in a capillary in vitro. 
         [0083]    The non-invasive blood glucose measurement setup  12  comprises a source disc  22 , a selector disc  24  and a detector disc  26 . The selector disc  24  is positioned between the source disc  22  and the detector disc  26 . The non-invasive blood glucose measurement setup  12  is shown in  FIG. 5 . 
         [0084]    Source disc  22  has six laser diodes  28  attached thereto. The six laser diodes  28  are uniformly spaced about the circumference of the source disc  22 . Each laser diode  28  is oriented in the same direction as each other laser diode  28 . 
         [0085]    Each laser diode  28  is configured to emit a single infrared wavelength in the range of 1600 nm to 1800 nm. No laser diode  28  emits an infrared wavelength identical to that of any other laser diode  28 . 
         [0086]    Selector disc  24  is rotatable about axle  38 . Selector disc  24  has an aperture  32  offset from axle  38 . In this manner, when rotated, the aperture  32  in the selector disc  24  allows the infrared beam emitted by each of the laser diodes  28  to pass therethrough. The aperture  32  is sized such that only one infrared beam emitted by a laser diode  28  can pass therethrough at any one time. A securing means (not shown in the figure) maintains the position of the selector disc  24 . The securing means in this embodiment takes the form of a releasable clip. Thus when the clip engages the selector disc  24 , the selector disc  24  can not rotate, but when the clip is released from the selector disc  24 , the selector disc  24  is free to rotate about axle  38 . 
         [0087]    The detector disc  26  has six fibre optic heads  34  mounted thereon. The fibre optic heads  34  are arranged in an identical fashion to the laser diodes  28 . This allows for axial alignment between each fibre optic head  34  with its corresponding laser diode  28  To elaborate, fibre optic head  34   a  is axially aligned to laser diode  28   a , fibre optic head  34   b  is axially aligned to laser diode  28   b , and so on. 
         [0088]    Each fibre optic head  34  is in data communication with the data collection module  14 . The data collection module  14  is in turn in data communication with the first neural network  16 . The first neural network  16  is in turn in uni-directional data communication with the second neural network  18 . In this example, the first neural network  16  comprises an input layer  100 , a hidden layer  102 , and an output layer  104 . The input layer  100  consists of six input neurons  106 . Each input neuron  106  is in communication with each hidden neuron  108  in the hidden layer  102 . Each hidden neuron  108  is in turn connected to each output neuron  110  in the output layer  104 . In addition, there is a bias input  112  in the input layer  100  and bias input  114  in the hidden layer  102 . The values for the bias inputs  112 ,  114  are initially set at +1. 
         [0089]    The second neural network  18  comprises an input layer  200 , a hidden layer  202 , and an output layer  204 . The input layer  200  consists of six input neurons  206 . Each input neuron  206  is in communication with each hidden neuron  208  in the hidden layer  202 . Each hidden neuron  208  is in turn connected to the sole output neuron  210  in the output layer  204 . In addition, there is a bias input  212  in the input layer  200  and bias input  214  in the hidden layer  202 . The values for the bias inputs  212 ,  214  are initially set at +1. 
         [0090]    The connections between each input neuron  206  and each hidden neuron  208  is weighted. As shown in the accompanying figures and equations, this weighting is designated wih ij  with i representative of the input neuron  206  connected and j representative of the hidden neuron  208  connected. 
         [0091]    The invention will now be described in the context of its operation. Additional features necessary to the operation of the system  10  may also be introduced in the context of the following example. 
         [0092]    A set of forty (40) glucose solutions each having a known concentration of glucose in water are prepared. The glucose concentration between each solution differs. Each glucose solution, in turn, is irradiated by each of the laser diodes  28 . This creates a set of laser diode measurements for each glucose solution. 
         [0093]    Once laser diode measurements have been taken for all the glucose solutions, the set of measurements taken by a laser diode for each glucose concentration is then plotted on a graph of glucose concentration versus laser diode voltage measurement. In the context of this example, representative graphs are produced and examples of such graphs for four laser diodes are shown in  FIG. 3 . 
         [0094]    A manual review is then undertaken in respect of each graph and a “line of best fit” assessment made. The linear equation represented by the “line of best fit” is then calculated for each graph. The result is a set of six linear equations which are recorded with the data collection module  14  for use in training the first neural network  16 . 
         [0095]    In order to train the neural networks, a person  42  is requested to place his/her fingernail in the region delineated by the selector disc  24  and the detector disc  26 . Once the fingernail is so placed, an operator (not shown) releases the clip from the selector disc  24 . The operator then rotates the selector disc  24  until the aperture  34  is in co-axial alignment with the desired combination of laser diode  28  and fibre optic head  34 . Once properly aligned, the laser diode  28  is activated so as to emit an infrared beam at the fingernail. The portion of the infrared beam not absorbed by glucose in the person&#39;s blood fluid is subsequently detected by the co-axially aligned fibre optic head  34 . The fibre optic head  34  then provides a measurement reflective of the amount of infrared light received by it to the data collection module  14 . 
         [0096]    Once an infrared light measurement has been received by the data collection module  14  for the particular laser diode  28 , the selector disc  24  is manipulated such that infrared light measurement for another laser diode  28  can be received. This process repeats until infrared light measurements have been received for each laser diode  28 . 
         [0097]    The whole process is repeated on the person at regular intervals a further fifty-nine times until a training set of sixty measurements are obtained. Each element of the training set comprises a set of six infrared light measurements. Each such infrared light measurement relates to a laser diode  28 . To ensure that the training set does not include elements having substantially identical infrared light measurements, the person is required to consume a liquid that raises the blood glucose level over time prior to initiating the process that establishes the training set. 
         [0098]    So as to set a benchmark blood glucose measurement for each element of the training set, at the same time that measurements are taken using the non-invasive blood glucose measurement setup  12 , measurements are also taken using an invasive technique. In this embodiment, the invasive technique involves pricking the finger of the person and measuring the blood so obtained as would be known to a person skilled in the art. These sixty corresponding invasive blood glucose measurements form the verification set. 
         [0099]    As mentioned above, the blood glucose measurements that form the training set and verification set are communicated to the data collection module  14 . The data collection module  14  manipulates the data contained in both the training set and the verification set to form a training database  44 . Each record  46  in the training database  44  comprises:
       (i) An element from the training set. And   (ii) Its corresponding element in the verification set;       
 
         [0102]    In this example, forty records  46  of the training database  44  are chosen at random and marked as training samples. The remaining twenty records are marked as testing samples. 
         [0103]    The records  46  marked as training samples are then used to train the first neural network  16 . Training of the first neural network  16  will be described with reference to  FIG. 2 , where:
       x i  represents the light measurement value representative of the i th  input node.   wih ij  represents the weight of the relationship between input node i and hidden node j. The weighting of the relationship between the bias node bh j  and each hidden node j is designated wih 0j .   bh j  represents the bias of hidden node j.   who jk  represents the weight of the relationship between hidden node j and k th  output node n. The weighting of the relationship between the bias node bo k  and each output node n is designated who 0k .   bo k  represents the bias of the k th  output node n.   y i  represents the processed light measurement value representative of the i th  output node.       
 
         [0110]    These notations remain consistent in the following training process for the first neural network which involves the following steps:
       1. Each weight value (ie. wih ij , and who jk ) is initialized. The initialization process involves assigning a random number in the range −0.5 to +0.5 to each weight value.   For this example, the weight values after initialization are as follows:       
 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
             
             
               
                 wih   01           = −0.1954 
                 wih   21           = −0.2278 
                 wih   41           = 0.3462 
                 wih   61           = 0.3318 
               
               
                 wih   02           = −0.3103 
                 wih   22           = −0.3012 
                 wih   42           = 0.0252 
                 wih   62           = 0.0028 
               
               
                 wih   03           = −0.3066 
                 wih   23           = −0.4847 
                 wih   43           = −0.2974 
                 wih   63           = 0.2095 
               
               
                 wih   04           = 0.1822 
                 wih   24           = 0.2468 
                 wih   44           = 0.1721 
                 wih   64           = −0.0711 
               
               
                 wih   11           = −0.3611 
                 wih   31           = −0.0549 
                 wih   51           = 0.3381 
                   
               
               
                 wih   12           = −0.2972 
                 wih   32           = 0.4318 
                 wih   52           = −0.4804 
                   
               
               
                 wih   13           = −0.3013 
                 wih   33           = −0.0340 
                 wih   53           = 0.1813 
                   
               
               
                 wih   14           = 0.1038 
                 wih   34           = −0.0814 
                 wih   54           = −0.1205 
               
               
                   
               
             
          
         
       
     
         [0000]    
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 who   01           = 0.0466 
                 who   21           = 0.3537 
                 who   41           = 0.2271 
               
               
                 who   02           = −0.0551  
                 who   22           = 0.0936 
                 who   42           = −0.1907 
               
               
                 who   03           = 0.1946 
                 who   23           = −0.0034 
                 who   43           = 0.3385 
               
               
                 who   04           = 0.1213 
                 who   24           = 0.3998 
                 who   44           = 0.0681 
               
               
                 who   05           = 0.2948 
                 who   25           = 0.3216  
                 who   45           = −0.1296 
               
               
                 who   06           = −0.4568 
                 who   26           = 0.1449 
                 who   46           = 0.2027 
               
               
                 who   11           = 0.1972  
                 who   31           = 0.3180 
                   
               
               
                 who   12           = 0.0417  
                 who   32           = 0.1602 
                   
               
               
                 who   13           = −0.3491 
                 who   33           = −0.1580 
                   
               
               
                 who   14           = 0.1979 
                 who   34           = −0.2103 
                   
               
               
                 who   15           = −0.1216  
                 who   35           = −0.1588 
                   
               
               
                 who   16           = 0.3600 
                 who   36           = 0.0341 
               
               
                   
               
             
          
         
       
       
         
           
             2. Each bias value bh j  and bo k  are set to 1. 
             This example will now continue with reference to x i  values as follows:
           x 1 =−0.8096 x 2 =−0.2140 x 3 =−0.7366   x 4 =−0.8120 x 5 =−0.2866 x 6 =−0.5204   
         
             These values have been obtained off a person having a blood glucose level of 5.95. Further, the equations for setting target values (t i ) for each x i  value are as follows: 
           
         
       
     
         [0000]        t   1 =−0.0129 x   1 +0.3996
 
         [0000]        t   2 =−0.0130 x   2 +0.5072
 
         [0000]        t   3 =−0.0380 x   3 +0.8920
 
         [0000]        t   4 =−0.0159 x   4 +0.4271
 
         [0000]        t   5 =−0.0079 x   5 +0.5377
 
         [0000]        t   6 =−0.02642 x   6 +0.6863
       Using these equations the target values t i  for each x i  value in this iteration of the first neural network is as follows:
           t 1 =0.410 t 2 =0.510 t 3 =0.920   t 4 =0.440 t 5 =0.540 t 6 =0.700   
           3. The output value net j  for each hidden neuron j is calculated according to the following equation:       
 
         [0000]    
       
         
           
             
               net 
               j 
             
             = 
             
               
                 
                   wih 
                   
                     0 
                      
                     j 
                   
                 
                 · 
                 
                   bh 
                   j 
                 
               
               + 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   6 
                 
                  
                 
                   
                     wih 
                     ij 
                   
                    
                   
                     x 
                     i 
                   
                 
               
             
           
         
       
       
         
           
             In this example, the resulting net j  values are as follows:
           net 1 =−0.3646 net 2 =−0.2075 net 3 =0.1466 net 4 =0.0371   
         
             4. net j  is then normalized to obtain a f(net j )) value. The f(net j ) value is attained in accordance with the following equation: 
           
         
       
     
         [0000]    
       
         
           
             
               f 
                
               
                 ( 
                 
                   net 
                   j 
                 
                 ) 
               
             
             = 
             
               1 
               
                 1 
                 + 
                 
                   exp 
                    
                   
                     ( 
                     
                       - 
                       
                         net 
                         j 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
       
         
           
             The f(net j ) values thus becomes a value in the range 0 to 1. In this example, the f(net j ) values are as follows:
           f(net 1 )=0.4099 f(net 2 )=0.4483   f(net 3 )=0.5366 f(net 4 )=0.5093   
         
             5. The output value neto k  for output neuron n k  is then computed according to the following equation: 
           
         
       
     
         [0000]    
       
         
           
             
               neto 
               k 
             
             = 
             
               
                 
                   who 
                   
                     0 
                     k 
                   
                 
                 · 
                 
                   bo 
                   k 
                 
               
               + 
               
                 
                   ∑ 
                   
                     j 
                     = 
                     1 
                   
                   4 
                 
                  
                 
                   
                     who 
                     jk 
                   
                   · 
                   
                     f 
                      
                     
                       ( 
                       
                         net 
                         j 
                       
                       ) 
                     
                   
                 
               
             
           
         
       
       
         
           
             This produces the following neto k  values:
           neto 1 =0.4106 neto 2 =−0.0072 neto 3 =0.1376   neto 4 =0.3035 neto 5 =0.2379 neto 6 =−0.1288   
         
             6. The value of neto k  is thereafter normalized to obtain a n k  value. N k  is computed to a value between 0 and 1 according to the following equation: 
           
         
       
     
         [0000]    
       
         
           
             
               n 
               k 
             
             = 
             
               1 
               
                 1 
                 + 
                 
                   exp 
                    
                   
                     ( 
                     
                       - 
                       
                         neto 
                         k 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
       
         
           
             The resulting values are thus:
           n 1 =0.6012 n 2 =0.4982 n 3 =0.5343   n 4 =0.5753 n 5 =0.5592 n 6 =0.4693   
         
             7. Once the neural network output n k  is obtained, the output gradient error δ k  for the k th  output neuron in output layer is computed according to the following equation: 
           
         
       
     
         [0000]      δ k =( t   k   −n   k )· n   k ·(1 −n   k )
       This results in the following output gradient error (δ k ) values:
           δ 1 =−0.0458 δ 2 =0.0030 δ 3 =0.0960   δ 4 =−0.0331 δ 5 =−0.0047 δ 6 =0.0574   
           8. The output gradient error δ k  is also required to compute the hidden layer gradient error δ j  to be used in the current iteration of the first neural network. This is calculated by the following equation:       
 
         [0000]    
       
         
           
             
               δ 
               j 
             
             = 
             
               
                 ( 
                 
                   
                     f 
                      
                     
                       ( 
                       
                         net 
                         j 
                       
                       ) 
                     
                   
                   · 
                   
                     ( 
                     
                       1 
                       - 
                       
                         f 
                          
                         
                           ( 
                           
                             net 
                             j 
                           
                           ) 
                         
                       
                     
                     ) 
                   
                 
                 ) 
               
                
               
                 
                   ∑ 
                   
                     k 
                     = 
                     1 
                   
                   6 
                 
                  
                 
                   
                     δ 
                     k 
                   
                   · 
                   
                     
                       who 
                       jk 
                     
                      
                     
                       ( 
                       p 
                       ) 
                     
                   
                 
               
             
           
         
       
       
         
           
             where:
           who jk (p) represents the who jk  value used in the current iteration of the first neural network.   
         
             This produces the following set of values:
           δ 1 =−0.0023   δ 2 =−0.0056   δ 3 =−0.0049   δ 4 =0.0079   
         
             9. The output gradient error δ k  is required to compute the change in weight Δwho jk  to be used in the next iteration of the first neural network. This change is calculated by the following equation: 
           
         
       
     
         [0000]      Δwho jk ( p+ 1)=η·δ k   ·f (net j )+ m·Δwho   jk ( p )
       where:
           η denotes the learning rate.   m denotes the momentum composition.   Δwho jk (p+1) represents the updated change in weight.   Δwho jk (p) represents the previous change in weight.   
           This produces the following set of values:       
 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
             
             
               
                 Δwho   11           = −0.0019 
                 Δwho   21           = −0.0021 
                 Δwho   31           = −0.0025 
                 Δwho   41           = −0.0023 
               
               
                 Δwho   12           = 0.0001 
                 Δwho   22           = 0.0001 
                 Δwho   32           = 0.0002 
                 Δwho   42           = 0.0002 
               
               
                 Δwho   13           = 0.0039 
                 Δwho   23           = 0.0043 
                 Δwho   33           = 0.0051 
                 Δwho   43           = 0.0049 
               
               
                 Δwho   1       4           = −0.0014 
                 Δwho   24           = −0.0015 
                 Δwho   34           = −0.0018 
                 Δwho   44           = −0.0017 
               
               
                 Δwho   15           = −0.0002  
                 Δwho   25           = −0.0002 
                 Δwho   35           = −0.0003 
                 Δwho   45           = −0.0002 
               
               
                 Δwho   1       6           = 0.0024 
                 Δwho   26           = 0.0026 
                 Δwho   36           = 0.0031 
                 Δwho   46           = 0.0029 
               
               
                   
               
             
          
         
       
       
         
           
             It is noted that this formula is a recursive function. In order to facilitate this recursive function, each who jk  value is stored in an array for reference by future iterations of the first neural network. 
             The terms η and m, will be used throughout the remainder of this specification to denote the learning rate and momentum composition, respectively. 
             10. The weightings of the output bias values who 0k  are then revised by first determining the correction values according to the following formula: 
           
         
       
     
         [0000]      Δwho 0k =η·δ k  
       The resulting correction values are:
           Δwho 01 =−0.0046 Δwho 02 =0.0003 Δwho 03 =0.0096   Δwho 04 =−0.0033 Δwho 05 =−0.0005 Δwho 06 =0.0057   
           11. Having calculated δ j  it is then possible to calculate the correction values for wih ij  using the following formula:       
 
         [0000]      Δwih ij ( p+ 1)=η·δ j   x   i   +m Δwih ij ( p )
 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
             
             
               
                 Δwih   11           = −0.0002 
                 Δwih   23           = 0.0005 
                 Δwih   41           = 0.0004 
                 Δwih   53           = −0.0006 
               
               
                 Δwih   12           = 0.0000 
                 Δwih   24           = 0.0001  
                 Δwih   42           = 0.0001 
                 Δwih   54           = −0.0002 
               
               
                 Δwih   13           = 0.0002 
                 Δwih   31           = 0.0004 
                 Δwih   43           = 0.0004 
                 Δwih   61           = −0.0006 
               
               
                 Δwih   14           = 0.0002 
                 Δwih   32           = 0.0005 
                 Δwih   44           = 0.0004 
                 Δwih   62           = −0.0006 
               
               
                 Δwih   21           = 0.0001 
                 Δwih   33           = 0.0002  
                 Δwih   51           = 0.0001 
                 Δwih   63           = −0.0002 
               
               
                 Δwih   22           = 0.0001 
                 Δwih   34           = 0.0003 
                 Δwih   52           = 0.0003 
                 Δwih   64           = −0.0004 
               
               
                   
               
             
          
         
       
       
         
           
             As this is also a recursive function, each wih ij  value is stored in an array for reference by future iterations of the first neural network  16 . 
             12. The bias weighting correction values wih 0j  are then determined using the following formula: 
           
         
       
     
         [0000]      Δwih 0j =η·δ j  
       The resulting correction values are:
           Δwih 01 =−0.0002 Δwih 02 =−0.0006   Δwih 03 =−0.0005 Δwih 04 =0.0008   
           13. With the correction values determined, the weightings who jk  are updated according to the following formula:       
 
         [0000]      who jk ( p+ 1)=who jk ( p )+Δwho jk ( p+ 1)
       This equation also applies to the bias weighting values, thus resulting in a new set of weightings as follows:       
 
         [0000]    
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 who   01           = 0.0420 
                 who   21           = 0.3516 
                 who   41           = 0.2248 
               
               
                 who   02           = −0.0548 
                 who   22           = 0.0937 
                 who   42           = −0.1905 
               
               
                 who   03           = 0.2042 
                 who   23           = 0.0009 
                 who   43           = 0.3434 
               
               
                 who   04           = 0.1180 
                 who   24           = 0.3983 
                 who   44           = 0.0664 
               
               
                 who   05           = 0.2943 
                 who   25           = 0.3214  
                 who   45           = −0.1298 
               
               
                 who   06           = −0.4511 
                 who   26           = 0.1475 
                 who   46           = 0.2056 
               
               
                 who   11           = −0.1991 
                 who   31           = 0.3155 
                   
               
               
                 who   12           = 0.0418 
                 who   32           = 0.1604 
                   
               
               
                 who   13           = −0.3452 
                 who   33           = −0.1529 
                   
               
               
                 who   14           = 0.1965 
                 who   34           = −0.2121 
                   
               
               
                 who   15           = −0.1218 
                 who   35           = −0.1591 
                   
               
               
                 who   16           = 0.3624 
                 who   36           = 0.0372 
               
               
                   
               
             
          
         
       
       
         
           
             14. In an almost identical manner, the weightings wih u  are updated according to the following formula: 
           
         
       
     
         [0000]      wih ij ( p +1)=wih ij ( p )+Δwih ij ( p )+Δwih ij (p+1)
       This equation also applies to the bias weighting values, thus resulting in a new set of weightings as follows:       
 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
             
             
               
                 wih   01           = −0.1956  
                 wih   21           = −0.2278 
                 wih   41           = 0.3464 
                 wih   61           = 0.3319 
               
               
                 wih   02           = −0.3109 
                 wih   22           = −0.3011 
                 wih   42           = 0.0257 
                 wih   62           = 0.0031 
               
               
                 wih   03           = −0.3071 
                 wih   23           = −0.4846  
                 wih   43           = −0.2970  
                 wih   63           = 0.2098 
               
               
                 wih   04           = 0.1830 
                 wih   24           = 0.2466 
                 wih   44           = 0.1715 
                 wih   64           = −0.0715 
               
               
                 wih   11           = −0.3609 
                 wih   31           = −0.0547 
                 wih   51           = 0.3382 
                   
               
               
                 wih   12           = −0.2967  
                 wih   32           = 0.4322 
                 wih   52           = −0.4802 
                   
               
               
                 wih   13           = −0.3009  
                 wih   33           = −0.0336  
                 wih   53           = 0.1814 
                   
               
               
                 wih   14           = 0.1032 
                 wih   34           = −0.0820  
                 wih   54           = −0.1207 
               
               
                   
               
             
          
         
       
     
         [0171]    Processing then commences again at step  3  with a new set of x i  values taken from the training set. 
         [0172]    This process continues with x i  values taken from the training set being used or re-used as needed until such time as the global mean square error of the system is less than 0.0008. Typically, this is attained after several thousands of iterations. 
         [0173]    Once the first neural network has been trained, the second neural network is trained in an identical fashion, with the exception that there is only one output node n 1 . As such, a description of the processing needed to train the second neural network will not be repeated here. Once trained, the output layer values calculated by the first neural network are used as the x i  values for the second neural network. 
         [0174]    Once both neural networks have been trained using the training sets, the system as a whole is tested using the values contained in the verification set. If the system as tested using the verification set shows significant error, then the system is retrained using a new training set more representative of the verification set. 
         [0175]    A second embodiment of the system  10  for analysing measurements of a composition of a blood fluid, where like numerals reference like parts, will now be described. The system  10  comprises a data collection module  14 , a first neural network  16  and a second neural network  18 . The invention will now be described in the context of analysing measurements of blood glucose level in the blood fluid with the objective of determining an overall measurement of the composition in the blood fluid. Additional features necessary to the operation of the system  10  may also be introduced in the context of the following example. 
         [0176]    The data collection module  14  is configured to receive the following information. 
         [0177]    a. A set of sixty non-invasive blood glucose measurements obtainable via any non-invasive blood glucose measurements means. The set of sixty non-invasive blood glucose measurements forms the training set. 
         [0178]    b. A set of linear equations. Each linear equation depicts the relationship between varying level of blood glucose solutions and the unit of measurement of the non-invasive blood glucose measurements means. In the context of this embodiment, the non-invasive blood glucose measurements means is the blood measurement setup  12  as described in the first embodiment, thus six linear equations corresponding to the six laser diodes are obtained. 
         [0179]    c. A corresponding benchmark blood glucose measurement for each element of the training set, that measurements are taken using an invasive technique such as that which involves pricking the finger of the person and measuring the blood so obtained as would be known to a person skilled in the art. These sixty corresponding invasive blood glucose measurements form the verification set. 
         [0180]    The data collection module  14  manipulates the data contained in both the training set and the verification set to form a training database  44 . Each record  46  in the training database  44  comprises:
       (iii) An element from the training set. And   (iv) Its corresponding element in the verification set;       
 
         [0183]    In this example, forty records  46  of the training database  44  are chosen at random and marked as training samples. The remaining twenty records are marked as testing samples. 
         [0184]    The records  46  marked as training samples are then used to train the first neural network  16 . Training of the first neural network  16  will be described with reference to  FIG. 2 , where:
       x i  represents the light measurement value representative of the 1 th  input node.   wih ij  represents the weight of the relationship between input node i and hidden node j. The weighting of the relationship between the bias node bh j  and each hidden node j is designated wih 0j .   bh j  represents the bias of hidden node j.   who jk  represents the weight of the relationship between hidden node j and k th  output node n. The weighting of the relationship between the bias node bo k  and each output node n is designated who 0k .   bo k  represents the bias of the k th  output node n.   y i  represents the processed light measurement value representative of the i th  output node.       
 
         [0191]    These notations remain consistent in the following training process for the first neural network which involves the steps  1  to  14  as described in the first embodiment. The training process then commences again at step  3  with a new set of x i  values taken from the training set. 
         [0192]    This process iterates and continues with x i  values taken from the training set being used or re-used as needed until such time as the global mean square error of the system is less than 0.0008. Typically, this is attained after several thousands of iterations. 
         [0193]    Once the first neural network has been trained, the second neural network is trained in an identical fashion, with the exception that there is only one output node n 1 . As such, a description of the processing needed to train the second neural network will not be repeated here. Once trained, the output layer values calculated by the first neural network are used as the x i  values for the second neural network. 
         [0194]    Once both neural networks have been trained using the training sets, the system as a whole is tested using the values contained in the verification set. If the system as tested using the verification set shows significant error, then the system is retrained using a new training set more representative of the verification set. The trained neural networks verified by the verification set provide an overall measurement of the composition of blood glucose representative of the blood glucose level in the blood fluid. 
         [0195]    It should be appreciated by the person skilled in the art that the invention is not limited to the examples described. In particular, the following additions and/or modifications can be made without departing from the scope of the invention:
       At least one control laser diode(s) may be added to the wavelength source disc  22 . The control laser diodes(s) may also replace either one of the six laser diodes  28 . The control laser diode(s) is configured to emit an infrared wavelength that is not absorbable by glucose. Based on current knowledge, such wavelengths that fall within the range 1600 nm to 2200 nm as absorbable by glucose.   The control laser diode(s) may be used to determine the base intensity of infrared wavelength measured when no glucose are absorbed. Correspondingly, a control electrical voltage reading may be obtained and processed using signal processor  48 .   The rotation of the wavelength selector disc  24  may be performed manually, or may be automated using for example, a stepper motor.   Instead of using six laser diodes  28 , with each laser diode  28   a ,  28   b ,  28   c ,  28   d ,  28   e ,  28   f  emitting a fixed infrared wavelength, a single laser diode capable of emitting a plurality of varying infrared wavelengths may be used.   Either more or less laser diode(s) may be added or removed from the wavelength source disc.   Instead of the fingernail bed, the region of diagnosis may be any part of the person  42  known to be suitable for diagnosis by a person skilled in the art.   The system  10  may be used for the measurement of other compositions in the blood fluid besides glucose. In such alternative setup, the infrared wavelengths emitted by six laser diodes  28  is required to be re-calibrated and optimized to the composition&#39;s peak absorption wavelength.   The non-invasive blood glucose measurement setup  12  may be replaced by any alternative configuration for non-invasive blood glucose measurement as is known to a person skilled in the art.   The stopping criteria for stopping the training process of the neural networks  16 ,  18  may be any which is known to the person skilled in the art. Some examples include the consideration of absolute rate of change in mean squared error per training set; stability of synaptic weights and bias level; mean squared error over the entire training set, fixed number of iterations, etc.   The learning rate η and momentum constant m for each epoch p may be determined based on any set of rules known and obvious to the skilled person.   Alternative activation function(s) well known by a skilled person may be adopted in replacement of the sigmoidal activation function. However, these activation functions should be differentiable.   While the learning rate and momentum compositions can be any value between 0 and 1, more accurate results have been achieved where there is some trade off between the learning rate and momentum composition. The best results have been achieved where the learning rate is a value between 0.01 and 0.1, while the momentum composition is within the range 0.8 to 0.9.   The learning rate and momentum composition may be manually adjusted at any stage during training of either the first or second neural network. Typically, the learning rate is adjusted in situations where the error is oscillating.   To ensure the greatest accuracy in training of the neural networks, the training set should provide representative samples from varying ranges of blood glucose measurements. In order to do this, some manual intervention may be required.   The number of nodes in the hidden layer included in either neural network may be any number in excess of four.   The number of decimal places used for determining the weightings of each link in the neural networks may vary. However, for accuracy reasons, it has been determined that a minimum of three decimal places should be used.   The bias and bias weightings can be eliminated. However, it is believed that doing so may mean that the time needed to train a neural network will be increased.   The weightings may fall within other range sets beyond the −0.5 to 0.5 mentioned above. For instance, a weight value range of −0.25 to 0.25 may also be used.   While the invention as described in this specification has been illustrated with reference to one form of a back propagation algorithm, it should be appreciated that the invention is not limited to the use of this particular variant. Other variant back propagation algorithms may be used and such fall within the scope of the present invention.   It is also possible to use other activation functions to those described above without departing from the scope of the present invention. It is understood that any activation function that limits the resulting values to the range −1 to 1 may be used.   Training of the systems described above are examples of a sequential training mode. However, it is equally as possible to undertake training in batch mode. In such a situation, weightings are adjusted after the entire training set has been presented to the neural network being trained.   In a further variation of the above embodiment, the glucose solutions may be omitted. In its place a linear equation set is established out of the training set of blood glucose measurements. Ideally, this linear equation set has forty elements. The linear equations are then determined manually by plotting a graph for each laser diode of the signal voltage reading against the known blood glucose level (as determined by the invasive blood glucose measurement system). A “line of best” fit is then determined from the plotted graph.       
 
         [0218]    It should be further appreciated by the person skilled in the art that features and modifications discussed above, not being alternatives or substitutes, can be combined to form yet other embodiments that fall within the scope of the invention described.