SYSTEM AND METHOD FOR EVALUATING A COGNITIVE LOAD ON A USER
CORRESPONDING TO A STIMULUS
REFERENCE TO RELATED APPLICATIONS
[001] The present application claims priority from an Indian provisional patent application 3025/MUM/2013.
TECHNICAL FIELD
[002] The present disclosure relates to a field of measurement of cognitive load. More particularly, the present disclosure relates to a system and method for evaluating the cognitive load on a user with respect to a stimulus.
BACKGROUND
[003] The study of emotions in human-computer interaction has increased in recent years for variety of purposes. The study of emotions has led to a growing need for computer applications to detect cognitive load experienced by an individual. For a mental task given to the individual, the cognitive load experienced by different individuals is different. The measurement of cognitive load may be used in real-time personalized content generation for distant learning, customize and test various applications on mobile devices, and many other areas related to human interactions.
[004] Electroencephalogram (EEG) signals are used to analyze the brain signals to measure the cognitive load for the individual. Conventional methods for measurement of cognitive load using EEG signals use a supervised approach. The methodology of using the EEG signals for measurement of the cognitive load may include issues related to change in intensity and signal range for a same individual for different trials. Also, the EEG signals may vary due to spatial shift in the positioning of the leads from one trial to another for the same individual.
[005] Models generated for measurement of cognitive load using supervised learning approach may not address the issue of normalization related to the EEG signals unless the EEG signals are normalized before training. The supervised approach requires use of two step model generation requiring user training at two stages, which is time-consuming and tedious.
SUMMARY
[006] This summary is provided to introduce concepts related to systems and methods for evaluating cognitive load on a user corresponding to stimulus and the concepts are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[007] In one implementation, a method for evaluating a cognitive load, on a user, corresponding to a stimulus is disclosed. The method comprises receiving electroencephalogram (EEG) data of the user. The EEG data is generated corresponding to the stimulus. The method further comprises splitting the EEG data into a plurality of slots. A slot of the plurality of slots comprises a subset of the EEG data. The method further comprises extracting one or more EEG features from the subset of the EEG data. The one or more EEG features are represented in one of a frequency domain, and a time domain. The method further comprises grouping a plurality of data points present in the one or more EEG features into two or more clusters using an unsupervised learning technique. The two or more clusters comprise one or more data points of the plurality of data points. The one or more data points correspond to a level of the cognitive load. The method of receiving, the splitting, the extracting, and the grouping are performed by a processor using programmed instructions stored in a memory.
[008] In one implementation, a system for evaluating a cognitive load, on a user, corresponding to a stimulus is disclosed. The system comprises a processor and a memory coupled to the processor. The processor executes a plurality of modules stored in the memory. The plurality of modules comprises a receiving module to receive electroencephalogram (EEG) data of the user. The EEG data is generated corresponding to the stimulus. The plurality of modules further comprises a splitting module to split the EEG data into a plurality of slots. A slot of the plurality of slots comprises a subset of the EEG data. The plurality of modules further comprises an extracting module to extract one or more EEG features from the subset of the EEG data. The one or more EEG features are represented in one of a frequency domain and a time domain. The plurality of modules further comprises a grouping module to group a plurality of data points present in the one or more EEG features into two or more clusters using an unsupervised learning technique. The two or more clusters comprise one or more data points of the plurality of data points. The one or more data points correspond to a level of the cognitive load.
[009] In one implementation, a non-transitory computer readable medium embodying a program executable in a computing device for evaluating a cognitive load, on a user, corresponding to a stimulus is disclosed. The program comprises a program code for receiving electroencephalogram (EEG) data of the user. The EEG data is generated corresponding to the stimulus. The program further comprises a program code for splitting the EEG data into a plurality of slots. A slot of the plurality of slots comprises a subset of the EEG data. The program further comprises a program code for extracting one or more EEG features from the subset of the EEG data. The one or more EEG features are represented in one of a frequency domain and a time domain. The program further comprises a program code for grouping a plurality of data points present in the one or more EEG features into two or more clusters using an unsupervised learning technique. The two or more clusters comprise one or more data points of the plurality of data points. The one or more data points correspond to a level of the cognitive load.
BRIEF DESCRIPTION OF THE DRAWINGS
[010] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
[011] Figure 1 illustrates a network implementation of a system for evaluating a cognitive load on a user, corresponding to a stimulus, in accordance with an embodiment of the present disclosure.
[012] Figure 2 illustrates the system, in accordance with an embodiment of the present disclosure.
[013] Figure 3A and Figure 3B illustrate Stroop test slides used for measuring the level of the cognitive load, in accordance with an exemplary embodiment of the present disclosure.
[014] Figure 4A and Figure 4B illustrate logical reasoning test comprising logical questions for measuring the level of the cognitive load, in accordance with an exemplary embodiment of the present disclosure.
[015] Figure 5 illustrates a method for implementing Component -wise Fuzzy C-means (CFCM) algorithm, in accordance with an exemplary embodiment of the present disclosure.
[016] Figure 6 illustrates a method for evaluating the cognitive load, on the user, corresponding to the stimulus, in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION
[017] System(s) and method(s) for evaluating a cognitive load, on a user, corresponding to a stimulus are disclosed. Electroencephalogram (EEG) data corresponding to the stimulus given to the user is received. The stimulus corresponds to a mental task performed by the user. The EEG data is split into a plurality of slots. A slot of the plurality of slots comprises a subset of the EEG data. One or more EEG features are extracted from the subset of the EEG data. The one or more EEG features are represented in at least one of a frequency domain and a time domain. A plurality of data points present in the one or more EEG features is grouped into two or more clusters using an unsupervised learning technique. The two or more clusters comprise one or more data points of the plurality of data points. The one or more data points correspond to a level of the cognitive load.
[018] The unsupervised learning technique comprises at least one of a Fuzzy c-Means algorithm, and a Component-wise Fuzzy c-Means algorithm. Use of the unsupervised learning technique to measure the levels of the cognitive load overcomes issues related to normalization of the EEG data.
[019] While aspects of described system and method for evaluating a cognitive load, on a user, corresponding to a stimulus may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system.
[020] Referring now to Figure.1, a network implementation 100 of a system 102 for evaluating a cognitive load, on a user, corresponding to a stimulus is illustrated, in accordance with an embodiment of the present disclosure.
[021] Although the present disclosure is explained by considering a scenario that the system 102 is implemented as an application on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2... 104-N, collectively referred to as user devices 104 hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
[022] In one implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[023] Referring now to Figure.2, the system 102 is illustrated in accordance with an embodiment of the present disclosure. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 206.
[024] The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with a user directly or through the user devices 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[025] The memory 206 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 206 may include modules 208 and system data 230.
[026] The modules 208 include routines, programs, objects, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation,
the modules 208 may include a receiving module 210, a splitting module 212, an extracting module 214, a grouping module 216 and other modules 218. The other modules 218 may include programs or coded instructions that supplement applications and functions of the system 102.
[027] The system data 230, amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the modules 208. The system data 230 may also include a system database 232 and other data 234. The other data 234 may include data generated as a result of the execution of one or more modules in the other modules 218.
[028] In one implementation, at first, a user may use the client device 104 to access the system 102 via the I/O interface 204. The working of the system 102 may be explained in detail in Figures 2, and3 explained below. The system 102 may be used for evaluating the cognitive load, on the user, corresponding to the stimulus. In order to evaluate the cognitive load, the system 102, at first, receives Electroencephalogram (EEG) data of the user. Specifically, in the present implementation, the EEG data is received by the receiving module 210.
[029] In one embodiment, the receiving module 210 receives the EEG data of the user from an EEG device. The EEG device may be worn on head of the user to receive EEG signal. The EEG data represents the EEG signal generated corresponding to the stimulus of the user. The EEG data may comprise intensity and signal range variation among different users and the signal range variation for the same user for different experiments. The intensity may vary for different users due to the shape of the head or scalp of different users. The signal range variation may occur due to spatial shift in positioning of leads of the EEG device from one experiment to another for the same user. The intensity and the signal range variation are referred to as issues related to normalization.
[030] In one exemplary embodiment, the EEG data may be recorded using 14-channel Emotive neuro-headset. The EEG device may use a 10-20 electrode configuration for channel fixing. Sampling frequency of the EEG device may be set to 128Hz.
[031] The cognitive load may be defined as an amount of load experienced by working memory of the user to perform a task. The cognitive load may be classified into at least one of an intrinsic load, an extraneous load, and a germane load. Type of the cognitive load may affect learning and decision making process of the user. The intrinsic load may refer to complexity of the task. The extraneous load may refer to an additional load caused by presentation method of the task. The germane load may refer to the load due to learning of a new technology or schema.
[032] In one exemplary embodiment, based on the type of the cognitive load, the cognitive load on the user corresponding to the stimulus may be evaluated using at least one of a Stroop test, a Generic User Interface test, and a Logical reasoning test. The Stroop test and the Generic User Interface test may be used to evaluate the extraneous load. The logical reasoning test may be used to evaluate the germane load. The stimulus may impart two levels of complexity, i.e. low level of the cognitive load and high level of the cognitive load. The Stroop test, the Generic User Interface test, and the Logical reasoning test may be performed for generating the stimulus.
[033] In one embodiment, in the Stroop test, the user may be asked to read colors of text presented on a slide while the user is wearing the EEG device. The Stroop test used for measuring the level of the cognitive load is illustrated in Figure.3 A and Figure. 3B. Figure.3A illustrates the slide for the Stroop test measuring the low level of the cognitive load. In one exemplary embodiment, in order to measure the low level of the cognitive load, name of the colors printed in a color identified by the name may be shown to the user. Figure. 3B illustrates the slide for the Stroop test measuring the high level of the cognitive load. In one exemplary embodiment, in order to measure the high level of the cognitive load, a name printed in a color, which is not identified by the name may be shown to the user. For the above scenarios, the user may be asked to read the color denoted by the text instead of name of the color.
[034] In one embodiment, for the Logical reasoning test, a set of logical reasoning questions having different levels of the cognitive load may be presented to the user. The questions comprising single logical error may be presented to impart the low level of the cognitive load. Further, the questions comprising multiple logical errors may be presented to impart the high level of the cognitive load. Figure.4A and Figure. 4B illustrate the exemplary logical questions that may be presented to the user for measuring the low level of the cognitive load and the high level of the cognitive load respectively.
[035] In one embodiment, in the Generic User Interface test, the user may be asked to type phrases using different onscreen keyboard layouts. For example, the user may be presented with a numerical keyboard comprising numbers and a QWERTY layout keyboard to type phrases comprising combination of numerical and alphabetic characters.
[036] The EEG data may be received by the receiving module 210 as the EEG signals from the user performing the task. The EEG data received may be split into a plurality of slots. In one embodiment, the EEG data may be split by the splitting module 212. A slot of the plurality of slots may comprise a subset of the EEG data. In one embodiment, the subset of
the EEG data may be received during a pre-defined time span. For example, the subset of the data may be received in a 10 second time span. In one embodiment, the subset of the EEG data may be filtered using a Common Spatial Pattern (CSP) Filter. In one embodiment, the subset of the EEG data may be filtered by a filtering module (not shown). In one exemplary embodiment, the subset of the EEG data may be fed as an input to the CSP filter to filter the subset of the EEG data based on variance of the subset of the EEG data.
[037] The subset of the EEG data may comprise low spatial resolution. In order to overcome the low spatial resolution, the CSP filter may be used to maximize a variance of a band-pass filtered subset of the EEG data from a class of the subset of the EEG data and minimize the variance of the band-pass filtered subset of the EEG data from other class.
[038] In one embodiment, one or more EEG features may be extracted from the subset of the EEG data. In one embodiment, the one or more EEG features may be extracted by the extracting module 214. The one or more EEG features maybe represented in one of a frequency domain, and a time domain. The one or more EEG features may comprise one of a log variance, Hjorth parameters, and band power estimates. Further, the one or more EEG features may comprise at least one of entropy, or a gravity frequency, or wavelet coefficients. The one or more EEG features may comprise EEG features other than disclosed and use of such EEG features is obvious to a person skilled in the art. The one or more EEG features may be extracted to determine the level of the cognitive load imparted by the stimulus.
[039] In one exemplary embodiment, the one or more EEG features may be extracted from the CSP filter channels after the subset of the EEG data i.e. the EEG signals are fed to the CSP filter. In one exemplary embodiment, the CSP filter channels may comprise 14 CSP channels. The following description describes a manner in which the one or more EEG features may be constructed. However, the construction of the one or more features other than embodiments disclosed is obvious to a person skilled in the art.
[040] The one or more EEG features may be extracted as explained in the following embodiment. Let x[n] represent a time sample on one of the CSP filter channels output and X[fj a corresponding frequency domain representing the EEG signal for a given the slot, then Total Band Power (TBP) may be defined as:
TBP =∑ £ X2 ( "Qwhere, f^ and f^may represent lower and upper cut-off frequencies for a particular EEG frequency band. In other words, all the frequency bins within the range of f^ and f^may be squared and may be added to get a total power in a particular frequency band. Different EEG frequency bands may be defined as:
Delta (δ) band (DB), where fJ= OHz and f" 2 = 4Hz
Theta (Θ) band (TB), where fJ= 4Hz and f2 = 8Hz
Alpha (a) band (AB), where = 8Hz and f" 2 = 12Hz
Beta (β) band (BB), where ίχ= 14Hz and f2 = 30Hz
Gamma (γ) band (GB), where =30Hz and f2 =60Hz
[041] Further, a Log Band Power Ratio (LBPR) may be defined as:
1J log (TBPj )
where, i, j e {DB, TB, AB, BB, GB} and i≠j where
TBPj may denote (TBP) for the ithband and TBPj may denote (TBP) for the j"1 band.
[042] Further, the EEG feature F- on the i1^ CSP output may be defined as Fi = LBPRBB,TB, where i= 1, 2 may be considered as first two CSP filter channels to compute the one or more EEG features.
[043] In one exemplary embodiment, the CSP filter may be used to determine two most discriminative channels and to determine the EEG features corresponding to the two most discriminative channels. In one exemplary embodiment, an experiment may be performed without using the CSP filter. An unsupervised learning technique may be used to determine the one or more EEG features for all the channels.
[044] In one embodiment, a plurality of data points present in the one or more EEG features may be grouped into two or more clusters using the unsupervised learning technique. The plurality of data points may be grouped by the grouping module 216. The two or more clusters may comprise one or more data points of the plurality of data points. The one or more data points may correspond to the level of the cognitive load. In one embodiment, the unsupervised learning technique comprises one of a Fuzzy c-Means (FCM) algorithm, or a Component-wise Fuzzy c-Means (CFCM) algorithm.
[045] The one or more EEG features extracted may be grouped into two or more clusters based on a similarity of the one or more data points. In one embodiment, the one or more data points may be grouped into two or more clusters to partition the one or more data points. The one or more data points may be partitioned into non-overlapped clusters to determine a cluster center.
[046] In one embodiment, the system 102 further comprises a labeling module to label the two or more clusters using the one or more EEG features corresponding to the cluster center
to determine the level of the cognitive load. The one or more data points present in the one or more EEG features grouped into the two or more clusters using the unsupervised approach may result into a plurality of clusters with corresponding coordinates of cluster centers. Further, each cluster of the two or more clusters may be labeled by the labeling module (not shown).
[047] In one embodiment, a formulation technique may be used to label the two or more clusters using the one or more EEG features of the cluster centers to determine the level of the cognitive load. For example, the formulation technique may include calculating ratios of 'Beta power' and 'Theta power' i.e. 'Beta power/Theta power' for the two or more clusters. The ratios of the 'Beta power' and 'Theta power' for the two or more clusters may be compared to determine the level of the cognitive load. The clusters comprising higher value may indicate the high level of the cognitive load. Further, the clusters comprising lower value may indicate the low level of the cognitive load. In one embodiment, the EEG data may be processed slot by slot. A cognitive score may be computed based on the plurality of slots and the plurality of slots comprising the subset of the EEG data corresponding to the level of the cognitive load. The level of the cognitive load may be indicative of difficulty of the mental task. Further, the cognitive score may be computed based on the plurality of slots and the plurality of slots comprising the subset of the EEG data corresponding to the high level of the cognitive load and the low level of the cognitive load.
[048] In one embodiment, the cognitive score may be computed by a computing module (not shown in the figure). Further, size of the slot may be defined based on the cognitive score. In one exemplary embodiment, the size of the slot may be defined based on maximum discrimination of the cognitive score between the high level of the cognitive load and the low level of the cognitive load. The cognitive score may be used to determine the level of cognitive load. For example, consider the cognitive score to be in a range of 0 to 1 and a threshold level to be 0.5 in order to determine the level of the cognitive load. When the cognitive score is less than the threshold level i.e. 0.5, the cognitive load may be determined as the low level of the cognitive load. Further, when the cognitive score is more than the threshold level i.e. 0.5, the cognitive load may be determined as the high level of the cognitive load.
[049] In one embodiment, the cognitive score may be computed based on a percentage of the slots i.e., number of slots reported as high for the observation. For example, if the observation comprises of N analysis slots and if M of the N slots are indicated as high, then the cognitive score for the observation may be calculated as:
[050] Cognitive score = (M/N) xl00%. Higher the cognitive score, higher may be the cognitive load imparted on the user for that particular observation. Similarly, lower the cognitive score indicate lower may be the cognitive load imparted on the user.
[051] Further, in one embodiment, the FCM algorithm may be used to group the plurality of the data points into two or more clusters. Each data point of the plurality of data points may be induced by a membership value. The membership value is a function of distance measure of a data point from the cluster center. The FCM is an iterative process of finding the cluster center based on the membership value. For each of the iteration in the FCM algorithm, the membership value may be used for assignment of the one or more data points to one of the two or more clusters.
[052] In the CFCM algorithm, instead of providing an overall membership value for the data point, each individual dimension of the data point may be assigned a membership value belonging to a cluster. Assigning a data point membership value to each dimension of the data point belonging to the cluster may lead to poor clustering due to odd parametric values of one or more dimensions. The assignment of the membership value may facilitate in improving the performance of the clustering. Further, the individual membership value belonging to a component level may be aggregated at the time of calculating the cluster center. The membership value may be aggregated instead of providing freedom to the data point.
[053] In one embodiment, a fuzziness control parameter m may be determined for the cluster center using the CFCM algorithm. Further, the CFCM algorithm may update value of the fuzziness control parameter m based on stability criterion of the cluster center. The CFCM may tune the fuzziness control parameter m in stability region of the cluster centers irrespective of initial value of m. The implementation of the CFCM may be explained in greater detail in the following embodiments.
[054] In one exemplary embodiment, a component wise independent membership value may be assigned based on an individual dimension of the data point to at least one cluster.
[055] Let, X = \ Xi > & I c ¾" be n dimensional input data of the size N, where *^ is a n dimensional real number space.
Further, let denotes j ^dimension or component of k^data point, where 1 < j < n andl< k≤N.
= 1 v¾„ v¾ »— vc <- -^' be n dimensional cluster centers,
where c is the number of clusters for the input data .
Further, let μ^(χ^) be the membership value of x] k belonging to ith cluster Ai, where 1 <i<c. In the FCM, the membership value of ¾ may belong to 1th cluster given by μ^χ^). However, in the CFCM, components of the data points may be assigned a membership value^Ai( fc) as shown earlier.
[ an objective function of the CFCM may be minimized using
subject to for all the components 1 <j <n and for all the data points 1 <k <N, where m is the fuzziness control parameter and v denotes the j"
1 dimension or component of the 1
th cluster center.
[057] For the above, considering a constrained optimization problem, Lagrange' s multiplier method may be used to formulate a minimization problem where it is equivalent to minimize
L ^∑∑∑ )Γ i-s/ ·-- v 1 ~∑∑H (∑ uA! ix; ) - \)
*** :i k' , considering partial derivatives of
L with respect to μΑί(χ ,
. The partial derivations provide update rules for the cluster centers and the membership values for each of the component respectively.
[058] In one embodiment, an initial value of cluster center may be calculated using the
FCM algorithm. The new cluster centers for may be calculated using
∑¾ -t >iy
[059] The calculation of the cluster centers and the membership values may be iterated until a change in μ^χ^) is not negligible or the number of iterations have not reached a predefined limit.
[060] In one embodiment, freedom provided to the components of each data point contributes independently to determine the cluster center. Further, the freedom provided to
the components results in a fluctuation in the cluster centers over the iterations. The fluctuation may offer wider region of search of the cluster centers instead of getting stuck at a local optima. In the CFCM algorithm, the fluctuation in the cluster center may be stabilized by automatically adapting the fuzziness control parameter m towards its convergence, thereby allowing the CFCM algorithm to terminate with the stable cluster centers.
[061] In one embodiment, the implementation of the CFCM algorithm may be modified by updating the fuzziness control parameter m based on cluster center stability criteria.
[062] Further, the aggregation of the component memberships may be used to derive the cluster centers. The aggregation may be performed as a part of the minimization of the objective function of the CFCM algorithm, during updating of the cluster centers. The aggregation enables a binding between the individual memberships μ Ai (x{) and the aggregated memberships, μ^
1 (¾) in each step of the iteration. The aggregation may be implemented using:
[063] Further, calculation of the cluster centers may be modified using the aggregated membership values (¾) using
[064] In one exemplary embodiment, the stability of the cluster centers may be obtained by using the value of the fuzziness control parameter m that has minimum effect in changing of the cluster centers. The partial derivatives of the cluster centers i^ may beperformed with respect to the fuzziness control parameter m as shown below:
[065] For every iteration, the value of the fuzziness control parameter m may be chosen such that the value provides minimum absolute value of the derivative accumulated over all the components of the all the clusters.
[066] Further, in order to provide transition of the fuzziness control parameter m between successive iterations, the value of m may be updated as a weighted mean between a previous and a new value using the update factor a (0< a <1).
m := a · m+ (1- a)■ m update
[067] The value of a may be tuned to improve the accuracy of the cluster centers using standard datasets. In one exemplary embodiment, the value of a may be chosen as 0.95.
[068] In one embodiment, a method 500 for implementation of the CFCM algorithm is illustrated with the help of FIG. 5. The order in which the method 500 is described and is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 500 or alternate methods. Additionally, individual blocks may be deleted from the method 500 without departing from the spirit and scope of the disclosure described herein.
[069] The method 500 comprises an initiation stage and an iterative update of the cluster centers and membership functions until termination criteria is not satisfied. The method 500 considers the data points as input x and the initial membership values μ^χ^) . For every component of the data points belonging to the clusters i=l to c, the initial value of the fuzziness control parameter m, the value of update factor a and ε as the termination criteria may be considered. The method 500 iteratively computes the new aggregated memberships ^Ai *k )- The method 500 further modifies the cluster centers^ , modifies component-wise memberships μΑί ( , and modifies the fuzziness control parameter m. The method 500
terminates the iterative process when the sum of the absolute differences between the new memberships ηεν/μΑί(χ and previous memberships ρτενμΑί(χ in successive iterations is less than a pre-defined value ε or the number of iterations reaches a predefined limit.
[070] When the iteration process completes, the final value of
corresponds to the j"
1 component of the 1
th cluster centers. Further, the value of Αί (*/(.) corresponds to the membership value of the j"
1 component of the k
th data points belonging to the 1
th cluster.
[071] In one exemplary embodiment, the method 500 may be illustrated as follows:
Consider initial partitions μΑί(χ for i=l to c clusters, j=l to n components and k=l to N data points. Consider X is the input data points, M is initial fuzziness control parameter the update factor a as 0.95 and ε is a small value as the termination criteria, for example 0.01.
[072] At step 502, for k=l to N and for i=l to c, the aggregated memberships μα (¾) may be calculated using, f! -i :
[073] At step 504, for k=l to N, for i=l to c and for j=l to n, the cluster centers v may be
∑i¾f i¾ )j
evaluated using,
[074] At step 506, for k=l to N, for i=l to c and for j=l to n, the previous value
ρΓεν μ Ai ( ) : μ M (X{ ) may be stored. Further, if (( x
J k—
)
2>0), the component wise
W-
5 v—
■ — membership μΑί(χ of the data points is evaluated using
and the data points are named
new μΑί(χ ■
[075] At step 508, the values may be set as Αί(^): =1 by calling the values new^Ai(^) - Further, the values may be set as μΑί (χ =0 for /≠ I and by calling the new values ηε νμ Ai · Further, the value of m may be updated as the weighted mean. A value
value may calculated using
a · m+ (1- a) · m_update until 4~!
[076] In one exemplary embodiment, the data points may be assigned to the cluster centers using the CFCM. The data points may be assigned to the cluster centers in order to compute an accuracy of the clustering with respect to the implementation of the CFCM. In one embodiment, the assignment of the data points to the cluster centers may be performed using a decision based on a binary rank matrix (Mi
j(¾)) and a membership rank matrix (UAi( fc ))- Entries of (Mi
j(¾)) may be defined by (Mi
j(¾)) =1 if i= l
J k and (Mj
j(¾)) =0 if i≠ l
J k , where
denote a cluster index for which the j
th component of the k
th data points comprising maximum membership.
[077] The elements of the membership rank matrix UAi( fc ) may be defined as the average membership of the dimensions (j) of the data point for which Mij(¾) equals to 1. In one embodime rage membership may be determined using
[078] The cluster index (C ata ) corresponding to the data point k may be defined as the index (1≤ i≤ c) which has the maximum number of Is in the binary rank matrix Mij(¾). The cluster index C^ata , and may be presented as follows:
Cf*3 --■ are max (Y / ;(.¾. })
[079] If more than one cluster index exists having same value of , then the cluster index may be computed as C^ata = arg^^ πιαχ(μΑί(χ{)).
[080] Due to the component-wise membership assignment in the CFCM, dimensionality may be reduced by tracking the components that may follow the data points compared to other components. A metric may be defined to measure how the components follow the
parent data points. In order to define measurement of the metric, f k"
1 data points C^
ata may be defined as
and th
Qdata _ arg1≤i≤c πιαχ(μΑί(χ{)). Further, the cluster index Ck J of the ith component of the k1 data points may be defined as the index (1≤ i≤ c) using: :::: Sf| (M — 1 )
[081] Cluster indices C
k for all the components j and C for the data point k may be computed for each iteration. In one embodiment, the measurement metric may be defined as a goodness measureG^ for each component of the data point. The measurement metric is equal to 1 if the cluster index for the data point is same as the cluster index of the component of the data point; else the measurement metric is 0. The accumulated goodness measureG
Jmay be
presented as Gk J =l, if Ck J . The accumulated goodness measureGJ is sum of the goodness measure for all the data points. The values of GJ may be computed for each of the iteration. Higher the value of goodness measure G indicates that the component j follows the data points effectively. Further, higher the value of goodness measure G J results insignificance of the corresponding component. The dimensionality may be reduced by considering the set of components having higher values of GJ at the end of the iteration process in the CFCM.
[082] In one embodiment, the measurement metric may be used for performance analysis of the FCM algorithm, CFCM algorithm, and a Support Vector Machine (SVM). The selection of Fuzziness Control parameter m and the convergence over iterations using the CFCM algorithm and the performance comparison of Supervised SVM and Unsupervised FCM algorithm and the CFCM algorithm while classifying the EEG data into two levels of cognition load is presented. The performance metric used for analyzing output of both supervised and unsupervised technique is Fmeasure defined as the harmonic mean of precision
2 P R
(P) and recall (R). The Fmeasure is presented as Fmeasure= j^.
[083] The precision (P) may be defined as the ratio of number of the data points belonging to a cluster (TP) and the total number of the data points identified to belong to the same cluster (TP+FP). FP represents false positive, i.e. total number of the data points that might
have been falsely identified belonging to the cluster. The precision may be calculated using:
[084] The recall (R) is the ratio of true positive (TP) and the total number of data points that actually belong to the cluster (TP+FN). Where the false negative FN, is the total number of data points which are wrongly identified as not belonging to the same cluster. The Recall may
TP
be calculated using: R = .
& TP+FN
[085] Although the embodiments have been explained for evaluating two levels of clustering, it is understood that the disclosure can be implemented for multi-level cognitive load measurement.
[086] Referring now to Figure. 6, a method 600 for evaluating a cognitive load on a user, corresponding to a stimulus is shown, in accordance with an embodiment of the present disclosure. The method 600 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 600 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[087] The order in which the method 600 is described and is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 600 or alternate methods. Additionally, individual blocks may be deleted from the method 600 without departing from the spirit and scope of the disclosure described herein. Furthermore, the method may be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 600 may be implemented in the above-described system 102.
[088] At step 602, the Electroencephalogram (EEG) data of the user is received. The EEG data is generated corresponding to the stimulus. In one implementation, the Electroencephalogram (EEG) data of the user is received by the receiving module 210.
[089] At step 604, the EEG data is split into a plurality of slots. A slot of the plurality of slots comprises a subset of the EEG data. In one implementation, the EEG data is split by the splitting module 212.
[090] At step 606, one or more EEG features are extracted from the subset of the EEG data. The one or more EEG features are represented in one of a frequency domain and a time domain. In one implementation, the one or more EEG features are extracted by the extracting module 214.
[091] At step 608, a plurality of data points present in the one or more EEG features are grouped into at least one cluster using an unsupervised learning technique. The at least one cluster comprises one or more data points of the plurality of data points. The one or more data points correspond to a level of the cognitive load. In one implementation, the plurality of data points is grouped by the grouping module 216.
[092] Although implementations of system and method for evaluating cognitive load on a user, corresponding to the stimulus have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations for evaluating cognitive load on the user.