Patent Description:
Systems for training machine learning models to provide analytics are known. Such systems generally fall into two broad categories.

The first category is a centralized training model whereby raw user data is updated to an external server. The raw data is used to train the model and provide analytics.

The second category is a decentralised training model whereby raw user data is converted into parameter updates for training the model on a user device. The parameter updates are then sent to an external server to train the model and provide analytics.

<CIT> discloses a personalized machine learning system. Said prior art fails to disclose updating local learned models through collaborative updating in a bandwidth efficient manner. <CIT> is cited under Art. <NUM>(<NUM>) EPC and discloses a distributed machine learning system.

In a first aspect, the specification describes an apparatus comprising: means for receiving a plurality of data sets representing sensed data from one or more devices; means for determining, using one or more local learned models, local parameters based on the received data sets; means for generating a combined data set by combining the plurality of data sets; means for determining, using one or more local learned models, global parameters based on the combined data set; means for transmitting, to a remote system, the global parameters for determining updated global parameters using one or more global learned models based at least partially on the global parameters; means for receiving, from the remote system, the updated global parameters; and means for updating the one or more local learned models using both the local parameters and updated global parameters.

In the first aspect, the apparatus may further comprise: means for transmitting, to the one or more devices, the updated one or more local learned models.

In the first aspect, the one or more devices are members of a predetermined group of devices.

In the first aspect, the apparatus may further comprise: means for identifying from which device each of the plurality of data sets is received from such that the generated local parameters are particular to each of the identified devices.

In the first aspect, at least one of the received data sets comprises at least one missing data field, and the apparatus may further comprise: means for inferring and inserting the at least one missing data field using the one or more local learned models.

In the first aspect, the apparatus may further comprise: means for normalizing the plurality of data sets; and means for using the plurality of data sets to capture high-order correlations.

In the first aspect, the apparatus may further comprise: means for combining the local parameters and the updated global parameters; and means for updating the one or more local learned models using the combined parameters.

In the first aspect, the apparatus may further comprise: means for combining the plurality of data sets with one or more historical data sets.

In the first aspect, the plurality of data sets corresponds to different users of a single device.

In the first aspect, the plurality of data sets correspond to a single user of different respective devices.

In the first aspect, the data sets represent sensed health or activity data.

In the first aspect, the one or more devices are portable health monitoring devices and wherein the data sets are received wirelessly from one or more health monitoring devices.

In the first aspect, the apparatus is a hub device and wherein the data sets are received from the one or more devices in local network.

In a second aspect, the specification describes a method comprising: receiving a plurality of data sets representing sensed data from one or more devices; determining, using one or more local learned models, local parameters based on the received data sets; generating a combined data set by combining the plurality of data sets; determining, using one or more local learned models, global parameters based on the combined data set; transmitting, to a remote system, the global parameters for determining updated global parameters using one or more global learned models based at least partially on the global parameters; receiving, from the remote system, the updated global parameters; and updating the one or more local learned models using both the local parameters and updated global parameters.

In a third aspect, the specification describes a computer readable medium comprising computer program code stored thereon, the computer readable medium and computer program code being configured to, when run on at least one processor: receive a plurality of data sets representing sensed data from one or more devices; determine, using one or more local learned models, local parameters based on the received data sets; generate a combined data set by combining the plurality of data sets; determine, using one or more local learned models, global parameters based on the combined data set; transmit, to a remote system, the global parameters for determining updated global parameters using one or more global learned models based at least partially on the global parameters; receive, from the remote system, the updated global parameters; and update the one or more local learned models using both the local parameters and updated global parameters.

Preferred features of the first aspect may also be applied to the second and third aspects.

Example embodiments will now be described, by way of non-limited examples, with reference to the following schematic drawings, in which:.

Embodiments herein relate to updating learned models. Learned models are sometimes called learning models and form part of the general field of machine learning or artificial intelligence. Learned models may be based on dynamical systems and/or statistical models, for example, and generally operate according to one or more algorithms and model parameters.

A model parameter, hereafter "parameter", is a configuration variable that may be internal to the model and whose value can be estimated from data. Parameters may be required by the model to make predictions, and may be estimated or learned from the data as part of an optimisation algorithm to produce new or updated parameters. Parameters may be saved as part of the learned model and refined data may be generated as a result of updating the learned model. It will be appreciated however that parameters are different from the raw data that is applied or inputted to the learned model.

The models that are the subject of embodiments herein may be any form of learned model that predicts data based on inputted data. The models may be embodied in, for example, an artificial neural network.

Embodiments herein relate to updating such learned models in the context of user devices and possibly wireless devices such as personal health monitoring devices. In this regard, it is becoming increasingly common for users to wear or otherwise carry portable wireless devices such as smart phones and smart watches. These devices have in-built sensors for measuring or monitoring health-related data such as walking steps, blood pressure and heart rate. Other devices which tend to be communal (and not worn) include weighing scales, which may measure an identified user's weight and/or body mass index (BMI). Communal devices are nevertheless typically portable. So-called smart beds for the tracking of, for example, sleep information are also considered a form of user device in this context.

Such devices tend to have in-built wireless transceivers for transmitting and receiving data using protocols such as WiFi, WiMAX and Bluetooth and any other communication method. The use of wireless communications is not considered essential, however.

For individual users, this sensed or measured 'raw' data may be applied to a learned model for various reasons. For example, there may be missing data in the received raw data sets. Such raw data sets may be referred to as sparse data sets. It is not uncommon for users to remove smart watches for a period of time and/or for smart phones to be left at home or in the office. Users may not weigh themselves regularly. Learned models may be used therefore to augment or fill-in gaps of missing data for users, transforming the sparse data into rich data using modelled data for the user and/or for the particular device. Also, the various remote devices may be heterogeneous and their data sets not necessarily compatible with one another. The learned models may therefore be used to integrate or normalise the data sets to assist in providing useful statistical analysis for users based on the collective data. For example, a learned model may provide a daily analysis of calories burned, based on data from a smart watch, smart phone and communal weighing scales, notwithstanding that this data may have missing data for a period of time and/or is received in different formats. Individual users may wish to see personalised analysis from such learned models.

The quality of the analysis produced by the learned models tends to improve by updating models with data from different data sources, possibly from other users. However, users may view their raw user data as sensitive and personal, and may not therefore wish to share this raw data with external updating systems where the data may be susceptible to interception over the transmission medium and/or at the external system. As the number of user devices grows, this also means that a potentially large amount of data will be sent to the external updating system over time. On the other hand, updating models at the user devices themselves using only the individual user's raw data will produce analysis data of limited quality and is further restricted by the limited processing power of such user devices.

In overview, embodiments herein provide for updating one or more learned models for a limited group of multiple users at one or more localised updating devices (these may, for example, be described as hubs). The one or more localised updating devices receive raw data from a limited set of user devices, e.g. belonging to a common household or group, which raw data may be encoded or encrypted to provide a level of security for the raw data as it passes from the portable devices to the localised updating device. The raw data may be processed at the localised updating device to generate local parameters used to update models for analytics based on applying the received raw data from the limited set of user devices to one or more locally stored models. The analytics provided to individual users may therefore take into account more than one set of raw data, which offers improvement. The analytics may be personalised to individual users, and may also provide aggregated analytics for the common household or group.

Furthermore, embodiments provide for generating another set of parameters, referred to herein as global parameters, for the combined group of users or devices for sending to an external remote server (hereafter "server") for producing updated global parameters. The server may also receive different sets of global parameters from other such groups, via their respective localised updating devices. This enables one or more sets of updated global parameters to be generated at the external remote server, potentially from a huge pool of users, based only on global parameters from the localised updating devices and not from raw data. The global update parameters can be sent back to the one or more localised updating devices for updating their local models using both the updated global and local parameters, which produces a higher quality of analysis over time and is readily scalable. This may be achieved without sending users' raw data to the external remote server, increasing confidence in the security of such raw data, and in a data efficient manner because the parameter updates will require less data than the raw data sets.

Conventionally, a problem with updating learned models is that sensed data is sent to an external server causing a lack of privacy because a user's raw data is sent over a potentially unsecure network. For example, a nefarious individual may be able to hack into the server and download and distribute the user's health data.

In order to combat the lack of privacy, the parameters, and not the raw data, might be sent to the server to update the one or more learned models. Therefore, the user's raw data is not sent to the server and a nefarious individual hacking into the server can only download parameters and not the user's raw data. However, because the external server only receives parameters, it is not able to provide users with individual and personal analytics and nor is it able to efficiently counteract a user's sparse raw data because it does not receive any raw data.

Embodiments herein provide for improved methods and systems.

<FIG> shows a system <NUM> according to one example embodiment, including a plurality of hubs <NUM>, <NUM> and <NUM>, user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and first and second users <NUM>, <NUM>. The system <NUM> also comprises a remote, external server <NUM>, hereafter "server. " The server <NUM> may be considered a cloud device.

A first hub <NUM> is configured to collect raw data from the one or more user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. The first hub <NUM> may be connected to the server <NUM> via an IP network <NUM>, which may be the Internet or any other type of network. The server <NUM> is configured to receive model parameters from the first hub <NUM>, referred to herein as global parameters, and also global parameters from one or more other hubs <NUM>, <NUM>, which may be in respective different locations from the first hub and associated with other groups of users. The server <NUM> generates updated global parameters for updating local models of the first hub <NUM> and possibly the other hubs <NUM>, <NUM>, which hubs may subsequently update local models stored on the hubs.

User devices <NUM> and <NUM> are typically, but not necessarily, wearable devices such as smart watches or similar. User devices <NUM> and <NUM> are used to capture health data or activity data such as the number of steps a user takes over a period of time. In another embodiment, the user devices <NUM> and <NUM> may alternatively or additionally be used to capture blood pressure and/or temperature of a user. User devices <NUM> and <NUM> are each typically used by a single user who may be associated with the respective user device via an application or configuration setting.

User devices <NUM> and <NUM> are shown as smart phones, respectively associated with the first and second users <NUM>, <NUM>.

User device <NUM> may be a communal device, used by the first and second users <NUM>, <NUM> at different times, and may be a smart weight scale. User device <NUM> may be used to capture health data or activity data such as the weight of a user. In another embodiment, the user device <NUM> may be used to capture blood pressure and/or temperature of a user. The data generated by the user device <NUM> may identify the user currently using said device by means of biometrics or based on the current weight or other sensed parameter approximately correlating with one that is stored. This identifying may alternatively be performed at the first hub <NUM>.

User devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> are typically a set of devices that have agreed to share their respective raw user data sets with the first hub <NUM>. In an embodiment, the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> may belong to members of a common household, such as family members. Alternatively, the set of devices may belong to members of a common team. For instance, user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> may register with the first hub <NUM> and provide a user name and password for registration with the first hub. This may be performed by a user using an application or a dedicated web page. The fact that certain users are members of a common team or group may be inferred, e.g. due to their proximity to the first hub <NUM>, and/or through configuration via an application or a web page. For example, the first hub <NUM> may issue an identifying beacon, similar to a SSID, that a user may select on the respective device and be prompted to input an associated password that may be provided with the first hub or on associated literature. For example, one user may be set up as an administrator of the common team or group and permission may be required from said administrator in order to join the group. The administrator, or other users, may issue invitations to other users in some embodiments. In some embodiments, one or more of the first or second users <NUM>, <NUM> may opt out of sending one or more selected data sets, such as weight, and allow the other data sets to be sent. This selection may be performed using an application or website configuration.

User devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> in use transmit users' raw data to the first hub <NUM>. The raw data may be sent wirelessly over any communication network, and here the IP network <NUM> is used. In an embodiment, the raw data may be sent to the first hub <NUM> when the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> are in an idle mode or when the user devices are in a charging mode. This may not affect user experience and minimises when data is sent, for example to avoid discharging the battery which may be running low.

The first hub <NUM> may be a dedicated localised router. The first hub <NUM> may be configured periodically to receive raw user data from the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and to identify from which user device <NUM>, <NUM>, <NUM>, <NUM>, <NUM> the raw data is received from. In some embodiments, the hub <NUM> may be configured to identify which of the first and second users <NUM>, <NUM> a particular set of raw data belongs to.

The first hub <NUM> may comprise, for example on local memory, one or more local learned models that use the received raw data to generate local parameters that are used to update one or more local learned models. The one or more local learned models may also use the users' raw data to provide personalised analytics to each of the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and/or to update one or more local models stored on said user devices so that said user devices can provide the personalised analytics. In an embodiment, the one or more local learned models are used to provide personalised analytics to each of the first and second users <NUM>, <NUM> of the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>.

The first hub <NUM> may also be configured to combine the raw data sets of the first and second users <NUM>, <NUM> to generate a combined data set. The first hub <NUM> may also be configured to counteract sparse raw user data. For example, the hub may infer and insert any missing data into the combined data set to provide an enriched, or rich, data set.

In an embodiment, the first hub <NUM> may also store and incorporate historical data, i.e. data that has been received previously, into the combined data set. The first hub <NUM> may store raw data for a predetermined period of time so that it can use the historical raw data to generate a combined data set.

The first hub <NUM> may generate global parameters using the one or more local learned models. The global parameters may be generated by using the combined data set, which may be anonymised by removing identifiers for the first and second users <NUM>, <NUM>. The combined data set may only be identifiable as being associated with the first hub <NUM>, or a user-defined label, such as "Family A. " The first hub <NUM> may transmit the global parameters to the server <NUM>. In this regard, no raw data is sent to the server, which may be vulnerable to attack. Nor is any means of identifying the first and second users <NUM>, <NUM> provided. Therefore, the users' raw data is secured.

The server <NUM> may receive global parameters from the plurality of other hubs <NUM>, <NUM>. The server <NUM> includes one or more global learned models. The server <NUM> may update the one or more global learned models using the received global parameters from the hubs <NUM>, <NUM>, <NUM>. Receiving a plurality of global parameters from the plurality of hubs <NUM>, <NUM>, <NUM> allows the one or more global learned models to be trained more effectively since more parameters, derived from a potentially large number of users, are available to the server <NUM>.

The server <NUM> produces updated global parameters using the one or more global learned models. The server <NUM> transmits the updated global parameters to the first hub <NUM> and may also transmit these to the other hubs <NUM>, <NUM>.

As will be explained, as well as producing a set of global parameters, the first hub <NUM> may also use the one or more local learned models to produce updated local parameters particular to each user device <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and/or to each of the first and second users <NUM>, <NUM>. The first hub <NUM> may therefore combine the updated local parameters and the updated global parameters for updating the local learned models, and/or for updating models that may be stored on each user device <NUM>, <NUM>, <NUM>, <NUM>, <NUM> in order to produce data analytics based on both sets of updates. This enables the one or more local learned models to be updated based on a much larger pool of user data, making the models more accurate, but also in a personalised manner with respect to each user device <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and/or with respect to each of the first and second users <NUM>, <NUM> of the devices.

In an embodiment, the first hub <NUM> may transmit the one or more updated learned models to each of the appropriate user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>.

<FIG> is a schematic diagram of components of the first hub <NUM> shown in <FIG>.

The first hub <NUM> may have a processor <NUM>, a memory <NUM> coupled to the processor and comprised of a RAM <NUM> and ROM <NUM>, and a network interface <NUM>. It may comprise a display <NUM> and one or more hardware keys <NUM>. The first hub <NUM> may comprise one or more network interfaces <NUM> for connection to a network, e.g. using Bluetooth or similar. The one or more network interfaces <NUM> may also be for connection to the internet, e.g. using WiFi or similar.

The memory <NUM> may comprise a non-volatile memory, a hard disk drive (HDD) or a solid state drive (SSD). The ROM <NUM> of the memory <NUM> stores, amongst other things, an operating system <NUM> and may store software applications <NUM>. The RAM <NUM> of the memory <NUM> may be used by the processor <NUM> for the temporary storage of data. The operating system <NUM> may contain code which, when executed by the processor, implements the operations as described below.

The memory <NUM> may also store one or more local learned models <NUM> which may be updated using methods described herein.

The processor <NUM> may take any suitable form. For instance, it may be a microcontroller, plural microcontrollers, a processor, or plural processors and it may comprise processor circuitry.

In some embodiments, the hub <NUM> may also be associated with external software applications. These may be applications stored on a remote device and may run partly or exclusively on the remote device. These applications may be termed, in some cases, cloud-hosted applications. The hub <NUM> may be in communication with the remote device in order to utilize the software application stored there.

A user device <NUM> shown in <FIG> is also shown for completeness, but does not form part of the first hub <NUM>, and may be any one of the above-mentioned user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. Similarly, the IP network <NUM> and server <NUM> is also shown for completeness but does not form part of the first hub <NUM>.

Alternative to the <FIG> example, the methods and systems described herein may be implemented in hardware, software, firmware or any combination thereof.

<FIG> is a flow diagram illustrating respective example processing operations that may be performed by one of the user devices <NUM>, the first hub <NUM> and the server <NUM>. Certain operations may be omitted or replaced with others. Certain operations may be re-ordered.

A first operation <NUM>, performed at the user device <NUM>, comprises providing one or more sensed raw data sets, which may comprise one or more of heart rate, blood pressure and number of steps. The provided raw data sets are transmitted to the local hub <NUM> using any suitable method as mentioned above.

At the local hub <NUM>, upon receipt of the raw data sets, an operation <NUM> comprises receiving the raw data sets. As will be appreciated, raw data sets may also be received from the other user devices <NUM>, <NUM>, <NUM>, <NUM>.

At this stage, which will be elaborated on below, further operations may comprise identifying from the received raw data sets which user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> the raw data sets are derived from and/or which the first and second users <NUM>, <NUM> the raw data sets come from. Further, if the raw data sets are sparse, or not in a standardised format, the one or more local learned models <NUM> may be applied to fill-in the missing data and/or to standardise the formats to generate respective rich data sets.

Another operation <NUM> may comprise generating, using the one or more local learned models <NUM>, updated local parameters based on the received, and possibly enriched, data sets.

Another operation <NUM> may comprise generating, using the one or more local learned models <NUM>, a combined data set which represents, for example, the household data and which may be anonymised so that individual user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> or the first and second users <NUM>, <NUM> cannot be identified within this data. For example, only the identifier of the first hub <NUM> may be associated with the combined data set in operation <NUM>.

This operation <NUM> may be performed before, in parallel with, or subsequent to, operation <NUM> as shown.

Another operation <NUM> may comprise determining, using the one or more local learned models <NUM>, global parameters based on the combined data set derived in operation <NUM>.

Another operation <NUM> may comprise transmitting, to the server <NUM>, the global parameters derived in operation <NUM> for determining updated global parameters using one or more global learned models stored at the server, based at least partially on the global parameters.

At the server <NUM>, in an operation <NUM>, the global parameters derived in operation <NUM> are received.

In an operation <NUM> an updated set of global parameters, based at least partially on the global parameters from the first hub <NUM>, and those from other hubs, are generated and transmitted back to the first hub and possibly other hubs.

Returning to the local hub <NUM>, another operation <NUM> comprises receiving, from the server <NUM>, the updated global parameters.

Another operation <NUM> comprises updating and transmitting (although the two can be separate operations) the one or more local learned models <NUM> using both the local parameters derived in operation <NUM> and the updated global parameters received in operation <NUM>.

Another operation <NUM> performed at the user device <NUM> may comprise receiving a copy of the updated models <NUM> for performing personalised analytics thereat.

Referring now to <FIG>, another embodiment is shown which is useful for understanding operations performed at the first hub <NUM>.

The first hub <NUM> is shown in relation to a communal device <NUM> and two personal user devices <NUM>, <NUM>, for example those shown in <FIG>. The first hub <NUM> is also shown in relation to the server <NUM>.

A first operation <NUM> may comprise, after receiving raw data sets from any of the user devices <NUM>, <NUM>, <NUM>, identifying from which device each of the plurality of data sets is derived. This may be by means of identifying an identifier in each data set which is particular to the user device <NUM>, <NUM>, <NUM> and/or the first or second user <NUM>, <NUM>.

Another operation <NUM> may comprise generating a combined data set, in which the one or more data sets are combined so as to anonymise the individual first and second users <NUM>, <NUM> but from which may be identified the individual user devices <NUM>, <NUM>, <NUM> or their relevant parameters such as heart rate, blood pressure etc..

Another operation <NUM> may involve converting the sparse combined data set into a combined rich data set using the one or more local learned models <NUM> and/or standardised data sets given the possibly heterogeneous nature of the data sets from the different user devices <NUM>, <NUM>, <NUM>.

Another operation <NUM> may comprise using the one or more local learned models <NUM> to determine local parameters based on the combined rich data set.

Another operation <NUM>, which may be performed before, simultaneously with, or subsequent to, the operation <NUM>, may comprise determining a set of global parameters from the combined rich data set.

The set of global parameters may then be transmitted to the server <NUM> for generating the updated global parameters as indicated previously.

Another operation <NUM> may comprise receiving and combining the local parameters and the updated global parameters, received from the server <NUM>, and updating the local learned models <NUM> based on said combination of parameters.

Another operation <NUM> may comprise transmitting the updated one or more local learned models to the user devices <NUM>, <NUM>, <NUM> in order that they may provide personalised analytics to the first and second users <NUM>, <NUM>.

<FIG> is a schematic view of data sets at different stages of embodiments mentioned herein.

A first data set <NUM> comprises, for the first and second users <NUM>, <NUM>, raw smart phone data A1, A2, raw smart watch data B1, B2 and raw scale data C1, C2. It will be appreciated that other data may be stored on the first hub <NUM>, whether from one or more other user devices and/or from a previous time frame.

A further data set <NUM> comprises, for the first and second users <NUM>, <NUM>, modified versions of the data A1, A2, B1, B2, C1, C2 which may be enriched data in which missing data is predicted and/or in which data from heterogeneous devices has been standardised.

A further data set <NUM> is a combined data set comprising, for example, the aggregated or otherwise combined data A1, A2, B1, B2, C1, C2 for each user device, which data set is anonymised without referring to the first and second users <NUM>, <NUM>.

A further data set 52A and arrow <NUM> is shown to illustrate that the combining operation may be performed on the sparse, raw data A1, A2, B1, B2, C1, C2, prior to enrichment.

A further data set <NUM> is a set of global parameters for each user device based on the combined data set <NUM>. Hence, the global parameters are anonymised. The global parameters are based on the one or more local models for each of the user devices.

The global parameters <NUM> are sent to the server <NUM>, not exposing raw data nor the individual users <NUM>, <NUM>.

A further data set <NUM> is a set of local parameters for each user device based on the non-combined data set <NUM>. Hence, the local parameters are not anonymised. The local parameters are based on the one or more local models for each of the user devices.

A further data set <NUM> is a set of updated learned models for each user device based on the received local parameters from data set <NUM>, and updated global parameters generated at, and received from, the server <NUM>. The updated global parameters are determined partially based on the global parameters in data set <NUM> and global parameters similarly determined by other hubs connected to the server <NUM>.

The updated learned models <NUM> are subsequently provided to the user devices associated with the first and second users <NUM>, <NUM>, which thereby take into account both the localised updates for, for example, the household, and those of a potentially much larger pool of users.

In summary, there are described methods and system for updating learned models, for user devices that sense health or activity related data.

Using the system described herein, because raw user data is not sent to any external servers this enables raw user data to be secured easily. A user may therefore opt to use this system because their raw data, which may be personal or sensitive, is less likely to be exposed compared to a centralized training model. Additionally, the system can accommodate the rapid and steady increase of smart devices because only parameters are sent to external servers, and not the raw user data, which may be large data file.

The quantity of raw data on the localised devices enables parameter updates of high quality compared to a decentralized training model. Additionally, because raw user data is used to generate local parameters, personalized analytics can be provided to individual users, this increases the practical effectiveness of the current system compared to a decentralized training model.

In some aspects not claimed, the methods and systems described herein may be applicable to applications other than health or activity monitoring. For example, the so-called Internet of Things (IoT) provides a plurality of networked devices, such as home appliances equipped with sensors, for measuring data associated with a defined property or group, such as thermostatic temperature, energy usage and so on within a home, floor, building or office. It follows that users may wish to understand patterns, trends and/or predictions in such statistical data, for example to understand or predict their next energy bill. The use of a localised hub to collect and aggregate data, and generate updated models based on localised parameters, and updated global parameters received from an external source which takes parameters from many other sources, may therefore use similar principles to those outlined above.

In some embodiments, the functionality performed by the first hub <NUM> described above may instead be performed on one or more of the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, most likely the one having the most processing power and/or storage. In some embodiments, the first hub <NUM> may be used for some of the functionality and one or more of the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> used for the remaining functionality. In some embodiments, the functionality may be shared across two or more of the user devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM> in a distributed manner.

It will be appreciated that the above described embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present application.

Claim 1:
An apparatus comprising:
means for receiving a plurality of data sets representing sensed data from two or more user devices (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>), wherein the user devices belong to a common household or group of user devices, the user devices are portable health monitoring devices and the data sets represent sensed health or activity data received from the user devices;
means for determining, using one or more local learned models, local parameters particular to each of the two or more user devices based on the received plurality of data sets;
means for generating a combined data set by combining the plurality of data sets;
means for determining, using the one or more local learned models, global parameters based on the combined data set;
means for transmitting, to a remote system, the global parameters for determining, by the remote system, updated global parameters using one or more global learned models based on the transmitted global parameters and different global parameters from one or more other apparatuses associated with other such households or groups of user device;
means for receiving, from the remote system, the updated global parameters; and
means for updating the one or more local learned models using both the local parameters and updated global parameters.