Information processing method, information processing device, and program

The method addresses the issue of outliers in data normalization by generating frequency distributions, deleting singular data, and correcting data based on estimated distributions, enhancing the accuracy of subsequent processing.

JP2026069329APending Publication Date: 2026-04-23PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
Filing Date
2024-10-11
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing data normalization methods fail to adequately address the influence of outliers, leading to biased data distributions and reduced accuracy in subsequent processing, particularly in deep learning applications, due to differences in data attributes and acquisition sources.

Method used

An information processing method that involves generating frequency distribution information, identifying singular portions, deleting singular data, normalizing the data based on estimated distributions, and correcting it according to the conditions of subsequent processing.

Benefits of technology

This approach effectively removes the influence of singular parts in data, improving the accuracy of subsequent processing by appropriately normalizing and correcting data according to the conditions of the subsequent processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026069329000001_ABST
    Figure 2026069329000001_ABST
Patent Text Reader

Abstract

The objective is to obtain an information processing method that can appropriately remove the influence of singular parts contained in the data to be normalized, and can appropriately correct the normalized data according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing. [Solution] The information processing device acquires first data, generates frequency distribution information relating to the first data, determines singular portions included in the frequency distribution information, generates second data by deleting singular data included in the singular portions of the first data, generates third data by normalizing the second data, generates fourth data by correcting the third data according to the conditions of the subsequent processing of the information processing device, and outputs the fourth data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing method, an information processing apparatus, and a program.

Background Art

[0002] In recent years, with the spread of IoT devices, technologies for profiling users themselves using data generated from user device operations and the like have become widespread. Thus, when performing analysis such as user profiling using data, normalization processing is used for purposes such as aligning the scales of different data and making it easier to compare feature amounts. For example, in Patent Document 1, for the purpose of making non-experts and experts match more effectively to encourage improvement motivation in non-experts, normalization is performed by dividing each feature amount of non-experts and full experts by the maximum value among them so that all values fall within the range from 0 to 1. A technique is disclosed.

[0003] In Patent Document 2, in the statistical processing of biological data such as test results in the medical field, among various test items that act comprehensively, for the purpose of outputting a comprehensive evaluation such as the degree of aging, a technique for calculating a score serving as an evaluation criterion by comparing the measured value of biological data with a reference value automatically selected from the distribution pattern is disclosed.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] According to the technology disclosed in Patent Document 1, normalization is performed by dividing each feature by the maximum value. Therefore, if the maximum value is an outlier, the non-outlier features will become values ​​near zero after the division, resulting in a biased data distribution. As a result, the accuracy of subsequent processing may decrease, such as a decrease in the training accuracy of deep learning (inference accuracy using the trained model) using the data.

[0006] According to the technology disclosed in Patent Document 2, an evaluation score (evaluation value) is calculated based on a reference value automatically selected from a predetermined distribution pattern for the measured values ​​of the data. However, if the data contains outliers, the accuracy of fitting the distribution pattern deteriorates, and the accuracy of calculating the evaluation value decreases due to the influence of the outliers. As a result, the accuracy of subsequent processing may decrease, such as the learning accuracy of deep learning using the data.

[0007] The purpose of this disclosure is to provide an information processing method, an information processing device, and a program that can appropriately remove the influence of singular parts contained in the data to be normalized, and can appropriately correct the normalized data according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing. [Means for solving the problem]

[0008] An information processing method according to one aspect of the present disclosure involves an information processing device acquiring first data, generating frequency distribution information relating to the first data, determining singular portions included in the frequency distribution information, generating second data by deleting singular data included in the singular portions of the first data, generating third data by normalizing the second data, generating fourth data by correcting the third data according to the conditions of subsequent processing of the information processing device, and outputting the fourth data. [Effects of the Invention]

[0009] According to the present disclosure, it is possible to appropriately remove the influence of specific parts included in data subject to normalization, and to appropriately correct the data after normalization according to the conditions of subsequent processing. As a result, it is possible to improve the accuracy of subsequent processing.

Brief Description of Drawings

[0010] [Figure 1] It is a diagram schematically showing a configuration example of an information processing system according to an embodiment of the present disclosure. [Figure 2] It is a diagram showing the stored content of a storage unit. [Figure 3] It is a diagram schematically showing the functional configuration of a processing unit. [Figure 4] It is a diagram showing details of the function of a normalization unit. [Figure 5] It is a flowchart showing the processing content executed by a processing unit. [Figure 6] It is a diagram showing a first example of a histogram. [Figure 7] It is a diagram showing a second example of a histogram. [Figure 8] It is a diagram showing a third example of a histogram. [[ID=三十一]] [Figure 9] It is a diagram showing a fourth example of a histogram. [Figure 10] It is a flowchart showing a first example of details of the deletion process of specific data. [Figure 11] It is a flowchart showing a second example of details of the deletion process of specific data. [Figure 12] It is a flowchart showing details of the normalization process. [Figure 13] It is a flowchart showing a first example of details of the calculation process of normalization parameters. [Figure 14] It is a flowchart showing a second example of details of the calculation process of normalization parameters. [Figure 15] It is a flowchart showing an example of details of the correction process.

Modes for Carrying Out the Invention

[0011] (Findings underlying the present disclosure) In machine learning such as deep learning, when machine learning is performed using data containing outliers as learning data, the learning accuracy decreases.

[0012] Data attributes obtained depending on the data acquisition source are different, such as cyber information obtained through activities on the Web (searches by users, or computer games such as e-sports) and physical information obtained through activities in the real environment such as the number of steps. Also, if the value ranges and number of digits are different between multiple data, those data have different data attributes. When integrating and using multiple data with different data attributes, even if there are no outliers when looking at the data individually, there may be a case where a certain data becomes an outlier compared to other data when comparing multiple data. For example, cyber information such as the number of screen operations on a website is all on the order of about several times. On the other hand, the value range of physical information such as the number of steps (4 digits if several thousand steps) is significantly different from the value range of cyber information (1 digit if several times). Therefore, when performing machine learning using data obtained by simply combining multiple data with different data attributes as learning data, the learning accuracy decreases due to the influence of outliers.

[0013] As a cause of the existence of outliers, there are differences in data acquisition sources such as cyber information and physical information. Also, the number of digits of the data is considered as one of the factors. In the present disclosure, all those indicating the types of data such as the data acquisition source and the number of digits of these data are regarded as data attributes. In order to remove the influence of outliers, integrate and handle multiple data with different data attributes, and use them as learning data for machine learning, data preprocessing is necessary. Normalization, which is one of the preprocessings, and data processing based on the estimation result of the distribution to which the data applies are methods for integrating and processing multiple data, but the following problems exist in the prior art methods.

[0014] This paper describes the challenges of using data with different properties depending on the source as training data for deep learning. Considering that websites are designed with a specific purpose in mind, cyber information has relationships between screen transitions and click operations. Therefore, conventional deep learning methods integrate multiple cyber information sources. However, there is no such obvious relationship between cyber information and physical information. Conventional integration of cyber and physical information essentially amounts to simply listing data, making efficient learning difficult. This paper discusses the nature of the data and its impact on deep learning in relation to this challenge.

[0015] This section explains the differences in the nature of cyber information and physical information. Under conditions where user permission has been obtained, cyber information can be obtained without any gaps in data acquisition, such as time periods or locations where data cannot be obtained from the user, and for view counts and click operations, unambiguous counts and truth values ​​can be obtained, respectively. On the other hand, with physical information such as step counts, the number of steps actually walked by the user does not match the step count of a smartphone, resulting in inaccuracies in observed values ​​and missing step count data due to the user not having a smartphone with them. Therefore, unambiguous cyber information and ambiguous physical information have different data properties.

[0016] This section explains the impact on deep learning caused by the differences between cyber and physical information described above. When the aforementioned cyber information, which has no missing data, is considered as a data distribution, as the amount of data increases, it converges to a simple data distribution that can be expressed with a few parameters, such as a normal distribution. However, physical information, which is ambiguous and contains missing data, does not converge in the same way as the normal distribution of cyber information. In other words, simply applying the above simple distribution to physical information does not accurately capture the data distribution, and as a result, it becomes difficult to preprocess the data to improve learning accuracy. Furthermore, even with the aforementioned cyber information, log data is generated due to operations that differ from normal use of the application (hereinafter abbreviated as "app") during application installation or tutorial viewing. The distribution of data when this log of operations that differ from normal use is mixed with logs of normal use is not a normal distribution. And the data from logs of operations that differ from normal use become outliers, which may reduce learning accuracy.

[0017] The following example illustrates the challenges of normalization due to the nature of the number of digits: The mean of data containing outliers, where the value "100" occurs in 3σ (standard deviation σ=1) of the standard normal distribution, corresponding to 1% of the number of observations, is "1.2," which is a significant deviation from the standard normal distribution mean of "0." Furthermore, the standard deviation of data containing outliers is "9.9," which is a significant deviation from the standard normal distribution standard deviation of "1."

[0018] Furthermore, the mean of the data containing outliers, where the value "10" exists at 3σ (standard deviation σ=1) of the standard normal distribution, corresponding to 1% of the number of observations, is "0.3," which is slightly different from the mean "0" of the standard normal distribution. On the other hand, the standard deviation of the data containing outliers is "1.0," which is no different from the standard deviation "1" of the standard normal distribution.

[0019] Therefore, if the majority of the data can be considered to follow a standard normal distribution, the influence of the outlier on the standard deviation of the observation distribution cannot be ignored when a value of "10," which is two orders of magnitude larger, is observed around three times the standard deviation, which is generally treated as an outlier. Furthermore, if a value of "100," which is three orders of magnitude larger, is observed, the impact on both the mean and the standard deviation is significant. Thus, in data where outliers exist that are 100 times or more the representative value of the observed values ​​(e.g., the mean), conventional methods cannot accurately normalize the data. As a result, using data normalized by conventional methods as training data will reduce the learning accuracy.

[0020] Furthermore, if the observed data follows a non-standard normal distribution, the values ​​described above are simply approximate constant multiples and constant additions, essentially remaining the same. Therefore, even if only outliers less than 100 times the representative value are observed, conventional methods cannot accurately normalize the data if the data distribution containing the outliers has roughly the same shape. As a result, using data normalized by conventional methods as training data will lead to decreased training accuracy.

[0021] The following describes specific challenges in deep learning using data that contains a large number of data points with different properties.

[0022] The first challenge is that data collected early in a user's app usage (for example, within the first week of use) includes app usage logs from app installation and tutorial viewing. These logs may contain a large proportion of data collected for reasons other than the intended purpose of using the app. If this data is used as is, the distribution of the data will be distorted by an excessive amount of certain parameters (e.g., "0" or "1"), and characteristic data of the app user will be buried. As a result, using the obtained data as training data will lead to a decrease in training accuracy.

[0023] The second challenge is that app usage logs related to physical information and app usage logs that consist solely of cyber information are mixed together. In this case, the distribution of each data and the range of parameter values ​​may differ, and a uniform normalization that divides all data obtained from the app by the maximum value of the data may leave data that should be excluded as outliers.

[0024] The third challenge is that the distribution trends of biometric data and data obtained from apps differ. Biometric data has fewer outliers than expected, and the proportion of outliers in the total is small (e.g., a few percent), so they can be ignored. On the other hand, in data obtained from apps, outliers indicate specific user behavior within the app and are important information that represents user characteristics. Furthermore, outliers near "0" indicate the existence of users who are not using specific functions of the app, and are data that cannot be ignored. Therefore, normalization methods for biometric data that ignore the presence of outliers make it difficult to perform preprocessing while maintaining user characteristics.

[0025] Furthermore, in a typical neural network, sum-of-products calculations are performed for each neuron. While this is not a problem if only multiplication is involved, when summation is included, the constant term is ignored when the entire calculation is multiplied by a constant (e.g., 10 times). In other words, the constant term is lost in the calculation. As a result, the degree to which the weight of the summation part contributes to learning decreases (effectively reducing the degrees of freedom of the model parameters), leading to a decrease in learning accuracy and, consequently, a decrease in inference accuracy using the machine-learned model.

[0026] This disclosure was made to solve these problems and aims to provide a technology that can appropriately remove the influence of singular parts contained in the data to be normalized, and can appropriately correct the normalized data according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing.

[0027] Next, we will describe each aspect of this disclosure.

[0028] An information processing method according to a first aspect of this disclosure involves an information processing device acquiring first data, generating frequency distribution information relating to the first data, determining singular portions included in the frequency distribution information, generating second data by deleting singular data included in the singular portions of the first data, generating third data by normalizing the second data, generating fourth data by correcting the third data according to the conditions of subsequent processing of the information processing device, and outputting the fourth data.

[0029] According to the first embodiment, the influence of singular parts contained in the data to be normalized can be appropriately removed, and the normalized data can be appropriately corrected according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing of the information processing device.

[0030] In the information processing method according to the second aspect of this disclosure, in the first aspect, in determining the singular portion, it is preferable to determine a predetermined singular frequency distribution shape among the frequency distribution information as the singular portion.

[0031] According to the second embodiment, by determining a predetermined unique frequency distribution shape among the frequency distribution information as a unique portion, it becomes possible to appropriately determine the unique portion.

[0032] In the third aspect of the present disclosure, the information processing method, in the first or second aspect, involves estimating the data distribution of the second data from a plurality of data distributions in the generation of the third data, calculating parameters for normalization based on the data distribution of the second data, and normalizing the second data using the parameters.

[0033] According to the third embodiment, by calculating parameters for normalization based on the data distribution of the second data, it becomes possible to appropriately normalize the second data using the calculated parameters.

[0034] In the information processing method relating to the fourth aspect of this disclosure, the processing in the latter stage may include machine learning in any one of the first to third aspects.

[0035] According to the fourth embodiment, the learning accuracy of machine learning can be improved.

[0036] In the fourth embodiment of the information processing method relating to the fifth aspect of this disclosure, the machine learning may include a neural network having an intermediate layer that contains a certain proportion or more of neurons that perform bias addition.

[0037] According to the fifth embodiment, the learning accuracy of machine learning can be improved for a neural network having an intermediate layer that includes a certain proportion or more of neurons that perform bias addition, where the scale of the calculation result differs between multiplication and addition.

[0038] In the sixth aspect of this disclosure, the information processing method is preferable in the fourth or fifth aspect to generate the fourth data by correcting the third data based on the distribution information of initializers in machine learning and the distribution information of the third data.

[0039] According to the sixth aspect, the third data can be appropriately corrected based on the distribution information of the initializers and the distribution information of the third data.

[0040] In the information processing method according to the seventh aspect of this disclosure, in the sixth aspect, the distribution information of the initializer may include at least one of the representative value and standard deviation of the initializer, and the distribution information of the third data may include at least one of the representative value and standard deviation of the third data.

[0041] According to the seventh embodiment, the third data can be appropriately corrected based on at least one of the representative value and standard deviation of the initializer and at least one of the representative value and standard deviation of the third data.

[0042] In the information processing method according to the eighth aspect of this disclosure, in the seventh aspect, the standard deviation of the initializer may include either the standard deviation of a standard normal distribution or the standard deviation corresponding to the number of nodes in the input layer of the machine learning.

[0043] According to the eighth aspect, it becomes possible to handle standard normal distribution initializers, Xavier initializers, or He initializers.

[0044] An information processing device according to a ninth aspect of the present disclosure comprises a circuit configuration which acquires first data, generates frequency distribution information relating to the first data, determines singular portions included in the frequency distribution information, generates second data by deleting singular data included in the singular portions of the first data, generates third data by normalizing the second data, generates fourth data by correcting the third data according to the conditions of subsequent processing of the information processing device, and outputs the fourth data.

[0045] According to the ninth aspect, the influence of singular parts contained in the data to be normalized can be appropriately removed, and the normalized data can be appropriately corrected according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing of the information processing device.

[0046] A program according to a tenth aspect of this disclosure is a program for causing an information processing device to perform processing, wherein the processing includes acquiring first data, generating frequency distribution information relating to the first data, determining singular portions included in the frequency distribution information, generating second data by deleting singular data included in the singular portions of the first data, generating third data by normalizing the second data, generating fourth data by correcting the third data according to the conditions of subsequent processing of the information processing device, and outputting the fourth data.

[0047] According to the tenth embodiment, the influence of singular parts contained in the data to be normalized can be appropriately removed, and the normalized data can be appropriately corrected according to the conditions of the subsequent processing, thereby improving the accuracy of the subsequent processing of the information processing device.

[0048] This disclosure can also be implemented as a program that causes a computer to execute each characteristic configuration included in such a method or apparatus, or as a system that operates using such a program. It goes without saying that such a computer program can be distributed via a computer-readable, non-temporary recording medium such as a CD-ROM, or via a communication network such as the Internet.

[0049] (Embodiments of the present disclosure) Embodiments of this disclosure will be described in detail below with reference to the drawings. Elements denoted by the same reference numeral in different drawings refer to the same or corresponding elements. Furthermore, the components, their arrangement, connection configurations, and operating sequences shown in the following embodiments are examples and are not intended to limit this disclosure. This disclosure is limited only by the claims. Therefore, among the components in the following embodiments, those not described in the independent claims representing the highest-level concepts of this disclosure are described as constituting a more preferable configuration, even though they are not necessarily required to achieve the object of this disclosure.

[0050] Figure 1 is a simplified diagram showing an example configuration of an information processing system 1 according to an embodiment of this disclosure. The information processing system 1 comprises a terminal 11, a normalization device 12, and a learning device 13.

[0051] Terminal 11 is, for example, a storage device that stores data to be preprocessed (hereinafter referred to as "first data D1"). First data D1 is data used as training data for machine learning such as deep learning, and is data to be normalized. First data D1 is, for example, a data file that exists in the local environment, but its form is not particularly limited. Terminal 11 inputs the first data D1, which is stored in a predetermined format, to the normalization device 12. The normalization device 12 may read first data D1 from a data file that exists in the local environment, or it may read first data D1 from log data that exists in the cloud.

[0052] The normalization device 12 is a device that preprocesses the first data D1 input from the terminal 11 for use in machine learning such as deep learning. The preprocessing includes normalization and correction. The normalization device 12 inputs the preprocessed data into the learning device 13.

[0053] The normalization device 12 is configured using a computer that includes a processing unit 21, a storage unit 22, and a communication unit 23.

[0054] The processing unit 21 comprises the circuit configuration of an information processing device. The information processing device includes a processor such as a CPU.

[0055] The storage unit 22 is configured to include a storage device for storing data. The storage unit 22 includes a computer-readable non-volatile storage medium such as a hard disk drive, a solid-state drive, or flash memory.

[0056] The communication unit 23 is an arbitrary data input / output mechanism such as an interface circuit, and is configured to include, for example, a communication module that corresponds to the communication standard between the normalization device 12, the terminal 11, and the learning device 13.

[0057] The learning device 13 is an example of a processing unit that proceeds after the normalization device 12. It uses the preprocessed data input from the normalization device 12 as training data to perform machine learning such as deep learning. Note that the processing unit that proceeds after the normalization device 12 is not limited to the learning device 13, but may also be an estimation device, etc. The estimation device inputs the preprocessed data input from the normalization device 12 into a machine learning-trained estimation model to estimate user profiles such as user preferences and tendencies. Note that "subsequent processing" refers to machine learning or statistical processing that is performed using user behavior data or biometric data as input information when machine learning or statistical processing is performed using user behavior data or biometric data, etc.

[0058] Figure 2 shows the contents stored in the memory unit 22. The memory unit 22 stores the first data D1 input from the terminal 11. The memory unit 22 also stores the program 30.

[0059] The first data set D1 includes log data about user behavior acquired on the application. However, the first data set D1 may include not only log data but also image data or audio data.

[0060] In the following section, we will explain the processing performed by the normalization device 12 using log data acquired on the application. However, the input data from the terminal 11 to the normalization device 12 is not limited to log data; the normalization device 12 should perform processing corresponding to the data format, such as image data or audio data.

[0061] If the first data D1 is image data, the upper limits of its parameters and its data distribution are affected by the sensor used to acquire the data. To illustrate with an example using 8-bit image data, since the pixel value range for 8-bit images is "0" to "255", there is a high probability that noise and outliers will converge (saturate) at the upper limit "255" or the lower limit "0". Therefore, when using 8-bit image data, from the perspective of reducing the influence of outliers, it is sufficient to remove the data at the upper limit "255" and the lower limit "0". This removes the influence of outliers concentrated at the upper or lower limit of the pixel value range, allowing for proper normalization and enabling the unified handling of information from multiple data with different properties.

[0062] If the first data D1 is audio data, then data processing should be based on the dynamic range. For example, in the case of audio data heard by humans, it is generally known that, due to human characteristics, sounds above the upper limit of the dynamic range (approximately 120 dB for humans) tend to be painful, and sounds below the lower limit of the dynamic range (approximately 30 dB for humans) tend to be heard as noise. Therefore, values ​​that people find unpleasant or difficult to hear can be considered outliers, and by removing data corresponding to the upper or lower limit of the dynamic range as outliers, the impact of outliers can be mitigated.

[0063] Furthermore, since sound is a vibration of air, the audio data detected by sensors such as microphones will not be constant even when measuring sounds at the sensor's sensitivity limit. Therefore, when removing outliers from audio measurement data, it is sufficient to add a width of a few dB (for example, 2 dB) to the boundary where the outlier occurs and then remove the outlier. This removes the influence of outliers in audio data based on the human dynamic range, or outliers mixed into audio data acquired by sensors, and allows for proper normalization, enabling the unified handling of information from multiple data with different properties.

[0064] Figure 3 is a simplified diagram showing the functional configuration of the processing unit 21. The processing unit 21, which is realized by the processor executing the program 30 read from the storage unit 22, has an acquisition unit 31, a generation unit 32, a determination unit 33, a deletion unit 34, a normalization unit 35, a correction unit 36, and an output unit 37. The normalization unit 35 and the correction unit 36 ​​perform the above preprocessing. Note that the functions shown in Figure 3 may also be configured using dedicated hardware circuits such as ASICs.

[0065] The acquisition unit 31 acquires the first data D1, which is the target of normalization, by reading the first data D1 from the storage unit 22.

[0066] The generation unit 32 generates frequency distribution information for the first data D1. The frequency distribution information is information that shows the distribution of the input data, and includes, for example, a histogram.

[0067] The determination unit 33 determines the singular portion included in the frequency distribution information. The singular portion is a unique data portion in the input data distribution that is not expected from the original purpose of using the application, and includes outliers, abnormal values, or irregular portions. In determining the singular portion, the determination unit 33 determines a predetermined singular frequency distribution shape in the frequency distribution information as a singular portion. The singular frequency distribution shape includes the peak shape of the frequency distribution near the minimum value of the first data D1. The singular frequency distribution shape also includes a flat shape of the frequency distribution. Details of the singular frequency distribution shape will be described later.

[0068] The deletion unit 34 generates the second data D2 by deleting the data included in the singular portion of the first data D1 (hereinafter referred to as "singular data"). The second data D2 refers to the data obtained by removing the singular data from the first data D1 that is to be normalized. In generating the second data D2, the deletion unit 34 deletes the singular data if predetermined deletion conditions are met. The deletion conditions include at least one of the following related to frequency distribution information: the number of peaks, the range of values, data attributes, and the shape of the frequency distribution. The data attributes include physical information obtained from activities in the real world and cyber information obtained from activities in the virtual world. Details of the singular data deletion process by the deletion unit 34 will be described later.

[0069] The normalization unit 35 generates the third data D3 by normalizing the second data D2 input from the deletion unit 34. The third data D3 refers to the data obtained by normalizing the first data D1, which is the basis for the training data used in machine learning. Therefore, the normalization unit 35 may generate the third data D3 by normalizing the first data D1, not only when normalizing the second data D2 obtained by deleting singular data from the first data D1, but also, for example, when the first data D1 does not contain any singular parts, or when the first data D1 contains singular parts but does not satisfy the predetermined deletion conditions, in which case the singular data will not be deleted.

[0070] Figure 4 shows the details of the functions of the normalization unit 35. The normalization unit 35 includes an estimation unit 351, a calculation unit 352, and a normalization unit 353. The estimation unit 351 estimates the data distribution of the second data D2 from a plurality of pre-set data distributions. In other words, it applies one of the plurality of pre-set data distributions to the second data D2. The plurality of data distributions may include discrete distributions and continuous distributions. Alternatively, the plurality of data distributions may include at least two of the following: normal distribution, uniform distribution, Poisson distribution, binary data, monotonically increasing distribution, and monotonically decreasing distribution. The calculation unit 352 calculates parameters used in the normalization calculation (hereinafter referred to as "normalization parameters") based on the data distribution of the second data D2. The normalization parameters may include at least one of the following: a first threshold greater than the minimum value of the second data D2, and a second threshold less than the maximum value of the second data D2. The normalization unit 353 normalizes the second data D2 using a method corresponding to the data distribution estimated by the estimation unit 351 and using the normalization parameters calculated by the calculation unit 352. Details of the normalization process by the normalization unit 35 will be described later.

[0071] Referring to Figure 3, the correction unit 36 ​​generates the fourth data D4 by correcting the third data D3 according to the processing conditions of the learning device 13. The fourth data D4 refers to the data obtained by correcting the normalized third data D3. The processing conditions of the learning device 13 include the distribution information of initializers in machine learning by the learning device 13. The distribution information of initializers includes at least one of the representative value and standard deviation of the initializers. The representative value includes the mean, median, or mode, etc. Details of the correction process by the correction unit 36 ​​will be described later.

[0072] The output unit 37 outputs the fourth data D4 input from the correction unit 36. The fourth data D4 is input to the learning device 13 via the communication unit 23.

[0073] The configuration of the normalization device 12 is not particularly limited; for example, it may be configured using an edge server installed within a specific facility, or it may be configured using a cloud server. When the normalization device 12 is configured using an edge server, the terminal 11 and the normalization device 12 are connected via a local area network. When the normalization device 12 is configured using a cloud server, the terminal 11 and the normalization device 12 are connected via a wide-area communication network such as the Internet. In addition, a part of the normalization device 12 may be configured using an edge server and the other part using a cloud server.

[0074] Furthermore, the normalization device 12 does not necessarily have to be implemented using a single computer device, but may be implemented by a distributed processing system including a terminal device and a server device. In this case, the acquisition unit 31, generation unit 32, determination unit 33, deletion unit 34, and storage unit 22 may be provided in the terminal device, and the normalization unit 35, correction unit 36, and output unit 37 may be provided in the server device. In this case, the transmission and reception of data between the components may be performed via a wide-area communication network.

[0075] Figure 5 is a flowchart showing the processing steps performed by the processing unit 21.

[0076] First, in step S1, the acquisition unit 31 acquires the first data D1, which is the target of preprocessing, by reading the first data D1 from the storage unit 22.

[0077] Next, in step S2, the generation unit 32 generates frequency distribution information for the first data D1. The frequency distribution information is information that shows the distribution of the input data, and includes, for example, a histogram.

[0078] Figure 6 shows the first example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with peak shapes corresponding to bins where the horizontal axis values ​​are between "20" and "25".

[0079] Figure 7 shows a second example of a histogram. The horizontal axis represents the user's daily step count, which is physical information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a monotonically decreasing distribution with peak shapes corresponding to the bins near the minimum value where the horizontal axis value is between "0" and "2500".

[0080] Figure 8 shows a third example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with peak shapes corresponding to the bins near the minimum value where the horizontal axis value is between "0" and "5", and peak shapes corresponding to the bins where the horizontal axis value is between "20" and "25".

[0081] Figure 9 shows a fourth example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with a peak shape corresponding to the bins where the horizontal axis values ​​are "20" to "25", and a flat shape corresponding to the five bins where the horizontal axis values ​​are "35" to "60". The flat shape represents a distribution shape in which the data continues to be distributed at a constant frequency across multiple consecutive bins.

[0082] Referring to Figure 5, in step S3, the determination unit 33 determines the singular portion included in the histogram generated in step S2.

[0083] If the distribution of data obtained from an app contains an anomaly, the anomaly data within that anomaly distorts the overall distribution of the data. When using data containing this anomaly, the accuracy of machine learning training decreases for users who use the app in accordance with its intended usage.

[0084] Furthermore, a given dataset may contain multiple data distributions based on different factors. In this case, the interaction of these multiple data distributions can cause the unique features of each data point to be obscured by singularities, leading to a decrease in the accuracy of machine learning training.

[0085] Therefore, it is important to exclude data that negatively impacts the analysis from the data distribution, and the determination unit 33 has the effect of detecting data that should be excluded from the data distribution by determining the singular portion.

[0086] In determining the singular portion, the determination unit 33 determines that a predetermined singular frequency distribution shape in the histogram is a singular portion.

[0087] As a first example, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of the first data D1 is a singular frequency distribution shape. The method for detecting peaks on the graph is to compare the frequency of a histogram bin with the frequencies of the preceding and succeeding bins. For example, if the difference between the frequency of a certain bin and the frequencies of the preceding and succeeding bins is greater than a set threshold (e.g., "5"), it can be determined to be a peak. For the bin containing the minimum value of the first data D1, if the difference between it and the frequency of the bin to its right is greater than a set threshold (e.g., "5"), it can be determined to be a peak. The determination unit 33 counts the number of peaks included in the histogram.

[0088] For the histogram shown in Figure 7, which has peaks only near the minimum value, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of the first data D1, that is, the peak shape corresponding to the leftmost bin where the horizontal axis value is "0" to "2500", is a unique frequency distribution shape. The leftmost bin includes not only data of normal values ​​such as 1000 steps or 2000 steps per day, but also data of abnormal values ​​that are not reasonable for the number of steps per day, such as a few steps or a few tens of steps. The determination unit 33 determines that the peak shape corresponding to the bin near the minimum value of the first data D1 is a unique frequency distribution shape.

[0089] For the histogram with multiple peaks shown in Figure 8, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of the first data D1, that is, the peak shape corresponding to the leftmost bin where the horizontal axis value is "0" to "5", is a unique frequency distribution shape. The histogram shown in Figure 8 contains data from users who continuously use the app and data from users who do not use the app after viewing the tutorial, resulting in multiple peaks on the graph. In the data from users who continuously use the app, peaks may appear at specific locations other than near the minimum value. On the other hand, in the data from users who do not use the app, peaks appear near the minimum value. The determination unit 33 determines that the peak shape corresponding to the bin near the minimum value of the first data D1 is a unique frequency distribution shape.

[0090] As a second example, the determination unit 33 determines that a flat shape included in a normal distribution is a singular frequency distribution shape. Targeting a histogram with a flat shape as shown in Figure 9, the determination unit 33 determines that a flat shape included in a normal distribution is a singular frequency distribution shape. Log data of users who frequently used the app in the past but do not currently use the app may remain on the histogram as a fixed flat shape. When a flat shape exists, the distribution of the entire data is distorted towards the side where the flat shape exists. For example, if the distribution of user app usage data according to the expected app usage method follows a normal distribution, the data in the normal distribution may be distorted by the flat shape, potentially obscuring the characteristics of app users and reducing the learning accuracy of machine learning. Therefore, the determination unit 33 determines that a fixed flat shape included in a normal distribution is a singular frequency distribution shape. A method for detecting a flat shape on a graph is to compare the frequency of the histogram bin with the frequencies of the preceding and succeeding bins. For example, if the difference between the frequency of a given bottle and the frequencies of the preceding and succeeding bottles is less than a set threshold (e.g., "2"), then that bottle and the preceding and succeeding bottles can be determined to have the same frequency. In this frequency comparison with the preceding and succeeding bottles, if the number of consecutive bottles that are determined to have the same frequency as the preceding and succeeding bottles is equal to or greater than a threshold (e.g., "5"), then the shape can be determined to be flat.

[0091] Referring to Figure 5, in step S4, the deletion unit 34 generates the second data D2 by deleting the singular data included in the singular portion of the first data D1.

[0092] By removing outlier data, the remaining second data set D2 can be fitted to a specific data distribution, enabling effective normalization. The second data set D2 is likely to contain a high proportion of data from users who use the app in its intended way. Calculating normalization parameters based on this second data set D2 and performing normalization improves the accuracy of machine learning training.

[0093] Figure 10 is a flowchart showing a first example of the details of the process for deleting outlier data in step S4. The first example corresponds to the process of deleting the peak shape near the minimum value of the first data D1.

[0094] First, in step S4A1, the deletion unit 34 obtains the number of peaks included in the histogram, which were counted by the determination unit 33 in step S3.

[0095] Next, in step S4A2, the deletion unit 34 determines whether there is a bin near the minimum value of the first data D1 among the bins that represent peaks on the histogram detected in step S3. In other words, it determines whether a bin near "0" on the horizontal axis of the first data D1 is a peak.

[0096] The determination method involves checking whether the data in the bins near the minimum value contains "0". Alternatively, the determination can be made by checking whether the smallest data in the bin closest to "0" among the bins determined to be peaks is below a threshold (e.g., "1"). If none of the detected bins contain a peak near the minimum value (step S4A2: NO), the process of deleting outlier data is terminated.

[0097] If the detected bins include a bin that has a peak near the minimum value (step S4A2: YES), then in step S4A3, the deletion unit 34 determines whether there are two or more peaks on the graph based on the number of peaks obtained in step S4A1.

[0098] If there are no more than two peaks on the graph (step SS4A3: NO), then in step S4A4, the deletion unit 34 determines whether the frequency difference between the bin near the minimum value and the adjacent bin is greater than or equal to a predetermined threshold. In other words, for a data distribution where peaks exist only near the minimum value, it determines whether there is an excessive amount of data mixed into the bin near the minimum value compared to what would be expected from the app usage logs of continuous app users.

[0099] The deletion unit 34 determines, for example, that if all input data are positive values, and the frequency difference between the bin near "0" and the bin to its right is greater than or equal to a threshold (for example, a difference equivalent to twice the value), then the bin near "0" is excessively populated with data. On the other hand, if the frequency difference between the bin near "0" and the bin to its right is less than the threshold, the deletion unit determines that the bin near "0" is not excessively populated with data and terminates the deletion process for the outlier data. The deletion unit 34 may also compare the frequency difference between the bin near "0" and the bin to its left if all input data are negative values, or it may compare the frequency difference between the bin near "0" and both the bins to its right and left if the input data includes both positive and negative values.

[0100] If there are two or more peaks on the graph (step SS4A3: YES), or if the frequency difference between a bin near "0" and an adjacent bin is greater than or equal to a threshold (step SS4A4: YES), then in step S4A5, the deletion unit 34 determines whether the maximum value on the horizontal axis of the input data is greater than or equal to a predetermined threshold (e.g., "7"). If the maximum value is greater than or equal to the threshold, the input data is likely to be physical information; if the maximum value is less than the threshold, the input data is likely to be cyber information. The threshold may be set to an arbitrary value in advance depending on the input data.

[0101] If the maximum value is less than the threshold (step S4A5: NO), the process of deleting outlier data is terminated. Cyber ​​information is, for example, the frequency of use of a specific function of an application over a week, and since the data distribution exists only within a narrow range, the impact on the overall data distribution is small even if outlier data is not deleted.

[0102] If the maximum value is greater than or equal to the threshold (step S4A5: YES), then in step S4A6, the deletion unit 34 determines whether the bins near "0" contain multiple values. For example, as shown in the histogram in Figure 7, if the bins near "0" contain multiple values ​​across a wide range such as "0" to "2500", then the bins near "0" contain not only data of normal values ​​such as 1000 steps or 2000 steps per day, but also data of abnormal values ​​that are not appropriate for a daily step count, such as a few steps or a few tens of steps per day.

[0103] If the bins near "0" contain multiple values ​​(step S4A6: YES), then in step S4A7, the deletion unit 34 deletes data below a predetermined threshold (e.g., "100") for the bins near "0", and terminates the process of deleting outlier data. The threshold may be set based on the maximum value of the input data, or an arbitrary value may be set in advance.

[0104] If the bins near "0" do not contain multiple values ​​(step S4A6: NO), then in step S4A8, the deletion unit 34 deletes the data contained in the bins near "0" and terminates the process of deleting singular data.

[0105] Figure 11 is a flowchart showing a second example of the details of the process for deleting outlier data in step S4. The second example corresponds to the process of deleting flat shapes included in a normal distribution.

[0106] First, in step S4B1, the deletion unit 34 determines whether the data distribution of the histogram of the input data fits a uniform distribution.

[0107] If the data distribution is uniform (Step S4B1: YES), the process of deleting outlier data is terminated. When the data distribution is uniform, the frequencies of each bin on the histogram will be approximately the same, and it will be judged as having a flat shape. However, this indicates a characteristic of the input data and should not be deleted as outlier data.

[0108] If the data does not fit a uniform distribution (step S4B1: NO), the deletion unit 34 then determines in step S4B2 whether the maximum value on the horizontal axis of the input data is greater than or equal to a predetermined threshold (e.g., "7"). If the maximum value is greater than or equal to the threshold, the input data is likely to be physical information; if the maximum value is less than the threshold, the input data is likely to be cyber information. The threshold may be set to an arbitrary value in advance depending on the input data.

[0109] If the maximum value is less than the threshold (step S4B2: NO), the process of deleting outlier data is terminated. Cyber ​​information is, for example, the frequency of use of a specific function of an application over a week, and since the data distribution exists only within a narrow range, the impact on the overall data distribution is small even if outlier data is not deleted.

[0110] If the maximum value is greater than or equal to the threshold (step S4B2: YES), then in step S4B3, the deletion unit 34 deletes flat shapes included in the histogram. Specifically, the deletion unit 34 deletes data from multiple consecutive bins where the difference between the frequency of a given bin and the frequencies of the preceding and succeeding bins is less than or equal to a set threshold (for example, "2") as singular data.

[0111] Referring to Figure 5, in step S5, the normalization unit 35 generates the third data D3 by normalizing the second data D2 input from the deletion unit 34. If the first data D1 does not contain any singular parts, or if the first data D1 contains singular parts but does not satisfy the predetermined deletion conditions, the singular data is not deleted, and the normalization unit 35 generates the third data D3 by normalizing the first data D1.

[0112] Figure 12 is a flowchart showing the details of the normalization process.

[0113] First, in step S51, the estimation unit 351 estimates the data distribution of the second data D2 from a plurality of pre-set data distributions. In other words, it applies one of the plurality of pre-set data distributions to the second data D2. The estimation of the distribution may involve determining whether it is a discrete distribution that is more likely to apply to cyber information (for example, the number of user accesses to a specific function) or a continuous distribution that is more likely to apply to physical information (for example, user biometric data). The determination of whether it is a discrete or continuous distribution may be made using a differential quantity based on the shape of the histogram or a determination method based on the probability of bin occurrence, but is not limited to these methods.

[0114] Furthermore, the estimation unit 351 may estimate whether the data distribution of the second data D2 fits a specific data distribution (e.g., a normal distribution). The specific data distribution may be arbitrarily set in advance, and there is no particular limit to the number of data distributions that can be set. To estimate whether it fits a specific data distribution, a test corresponding to each data distribution may be used, or the estimation may be based on the shape of the histogram. The target of the distribution estimation may be the second data D2 if the singularity removal process has been performed, or it may be the first data D1 if the singularity removal process has not been performed.

[0115] In this embodiment, five data distributions applicable to log data obtainable on the application were pre-set as specific data distributions. The first data distribution is a Poisson distribution, which is highly likely to apply to discrete user behaviors (such as access to specific functions) that occur frequently, such as the frequency of application use. The second data distribution is a normal distribution, which is highly likely to apply to biometric data as physical information. The third data distribution is a uniform distribution, which is highly likely to apply to data where a certain value appears with the same frequency. The fourth data distribution is binary data, which obtains binary information indicating whether or not a specific function was used. The fifth data distribution is a monotonically increasing distribution, which shows a monotonically increasing shape, such as the cumulative number of accesses to a specific function. A monotonically decreasing distribution, which shows a monotonically decreasing shape, may be used instead of a monotonically increasing distribution. Furthermore, the data distributions listed above are just examples, and other data distributions (e.g., exponential distributions) may be used as candidates for the applicable data distribution. As for methods for estimating these predefined data distributions, when determining whether or not the data fits a specific data distribution, a test corresponding to that data distribution (for example, the Shapiro-Wilk test for a normal distribution) may be used. Alternatively, when determining whether or not the data fits a binary data, monotonically increasing distribution, or monotonically decreasing distribution, the determination may be made based on the shape of the graph.

[0116] The data distributions obtained from cyber or physical information through early use of an application can be limited to at most a few types. If a suitable data distribution can be estimated, it is possible to appropriately perform normalization processing using a method or normalization parameters appropriate to that data distribution. For example, if it can be estimated that the data is binary, it can be immediately determined that the maximum and minimum values ​​of the input data should be used as normalization parameters. Also, if it can be estimated that the data is a normal distribution, for example, when normalizing to the range of "0" to "1", the input data can be preprocessed so that the peak is "0.5", and at that time, the mean value of the second data D2 can be obtained.

[0117] Referring to Figure 12, in step S52, the calculation unit 352 calculates the normalization parameters to be used in the normalization calculation based on the data distribution of the second data D2.

[0118] Figure 13 is a flowchart illustrating the details of the calculation process for the normalization parameters in step S52, as in the first example. The first example corresponds to the process when the estimated data distribution is discrete or continuous.

[0119] First, in step S52A1, the calculation unit 352 obtains the minimum and maximum values ​​of the horizontal axis of the second data D2.

[0120] Next, in step S52A2, the calculation unit 352 determines the normalization range based on the maximum and minimum values ​​obtained in step S52A1. The calculation unit 352 can determine the normalization range based on the signs of the maximum and minimum values. For example, if the signs of the maximum value and the minimum value are the same, the range from "0" to "1" can be determined as the normalization range. On the other hand, if the signs of the maximum value and the minimum value are different, the range from "-1" to "1" can be determined as the normalization range. Note that the normalization range is not limited to the above example; for example, the range from "-1" to "0" may also be determined as the normalization range.

[0121] Next, in step S52A3, the calculation unit 352 determines whether the data distribution of the second data D2 is a discrete distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0122] If the data distribution of the second data D2 is a discrete distribution (step S52A3: YES), then in step S52A4, the calculation unit 352 determines whether the maximum value of the second data D2 is less than a predetermined threshold (e.g., "7").

[0123] If the maximum value of the second data D2 is less than the threshold (step S52A4: YES), it is considered that there are no outliers in the second data D2. Therefore, the maximum and minimum values ​​of the second data D2 are set as normalization parameters, and the calculation process for the normalization parameters is terminated. If the second data D2 is a discrete distribution and the maximum value of the second data D2 is less than the threshold, it is highly likely that the data values ​​fall within a certain range and the maximum value is limited, such as the number of days a specific function of an app was used within a week. Therefore, if the maximum value of the second data D2 is less than the threshold, it is considered unlikely that there are outliers in the second data D2.

[0124] If the data distribution of the second data D2 is not discrete (step S52A3: NO), or if the maximum value of the second data D2 is greater than or equal to the threshold (step S52A4: NO), then in step S52A5, the calculation unit 352 calculates the interquartile range of the second data D2 to calculate the minimum value threshold and the maximum value threshold as outlier thresholds for the second data D2.

[0125] For example, the calculation unit 352 calculates the minimum threshold by subtracting the first quartile from the value obtained by multiplying the interquartile range by 1.5. The calculation unit 352 also calculates the maximum threshold by adding the value obtained by multiplying the interquartile range by 1.5 to the third quartile. Note that the multiplier for the interquartile range is not limited to 1.5; any multiplier may be used.

[0126] Next, in step S52A6, the calculation unit 352 sets the minimum value side normalization parameter and the maximum value side normalization parameter based on the minimum value side threshold and the maximum value side threshold calculated in step S52A5 of the second data D2.

[0127] The calculation unit 352 compares the minimum value of the second data D2 with the minimum value threshold calculated in step S52A5. If the minimum value of the second data D2 is less than the minimum value threshold, the calculation unit 352 sets the minimum value threshold as the minimum value normalization parameter. On the other hand, if the minimum value of the second data D2 is greater than or equal to the minimum value threshold, the calculation unit 352 sets the minimum value of the second data D2 as the minimum value normalization parameter.

[0128] The calculation unit 352 compares the maximum value of the second data D2 with the maximum value threshold calculated in step S52A5. If the maximum value of the second data D2 exceeds the maximum value threshold, the calculation unit 352 sets the maximum value threshold as the maximum value normalization parameter. On the other hand, if the maximum value of the second data D2 is less than or equal to the maximum value threshold, the calculation unit 352 sets the maximum value of the second data D2 as the maximum value normalization parameter.

[0129] The maximum value side of the second data set D2 may contain characteristic data indicating users who actively use the app. When the maximum value threshold of the second data set D2 is used as the maximum value normalization parameter, that characteristic data will have a value greater than "1.0" after normalization. This has the effect of highlighting information about characteristic users by displaying a value greater than "1.0".

[0130] Figure 14 is a flowchart illustrating a second example of the details of the calculation process for the normalization parameters in step S52. The second example corresponds to the process when the estimated data distribution is a Poisson distribution, a normal distribution, a uniform distribution, binary data, or a monotonically increasing distribution.

[0131] First, in step S52B1, the calculation unit 352 obtains the minimum and maximum values ​​of the horizontal axis of the second data D2.

[0132] Next, in step S52B2, the calculation unit 352 determines the normalization range based on the maximum and minimum values ​​obtained in step S52A1. The calculation unit 352 can determine the normalization range based on the signs of the maximum and minimum values. For example, if the signs of the maximum value and the minimum value are the same, the range from "0" to "1" can be determined as the normalization range. On the other hand, if the signs of the maximum value and the minimum value are different, the range from "-1" to "1" can be determined as the normalization range. Note that the normalization range is not limited to the above example; for example, the range from "-1" to "0" may also be determined as the normalization range.

[0133] Next, in step S52B3, the calculation unit 352 determines whether the data distribution of the second data D2 is a normal distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0134] If the data distribution of the second data D2 is a normal distribution (step S52B3: YES), then in step S52B4, the calculation unit 352 obtains the mean value of the second data D2. When the peak of the data after normalization is at the center of the normalization range, the estimation accuracy of user profile estimation using the normalization result is improved. In the case of a normal distribution, the peak of the data and the mean value coincide, so if the second data D2 is a normal distribution, the mean value of the data is obtained.

[0135] If the data distribution of the second data D2 is not a normal distribution (step S52B3: NO), the processing in step S52B4 is omitted.

[0136] Next, in step S52B5, the calculation unit 352 determines whether the data distribution of the second data D2 is binary data or a uniform distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0137] If the data distribution of the second data D2 is binary or uniform (step S52B5: YES), it is considered that there are no outliers in the second data D2. Therefore, the maximum and minimum values ​​of the second data D2 are set as normalization parameters, and the calculation process for normalization parameters is terminated.

[0138] If the data distribution of the second data D2 is neither binary nor uniform (step S52B5: NO), then in step S52B6, the calculation unit 352 calculates the interquartile range of the second data D2 and calculates the maximum value threshold as the outlier threshold for the second data D2.

[0139] For example, the calculation unit 352 calculates the maximum value threshold by adding a value obtained by multiplying the interquartile range by 1.5 to the third quartile. Note that the multiplier for the interquartile range is not limited to 1.5, and any multiplier may be used.

[0140] Next, in step S52B7, the calculation unit 352 sets the maximum value normalization parameter based on the maximum value of the second data D2 and the maximum value threshold calculated in step S52B6.

[0141] The calculation unit 352 compares the maximum value of the second data D2 with the maximum value threshold calculated in step S52B6. If the maximum value of the second data D2 exceeds the maximum value threshold, the calculation unit 352 sets the maximum value threshold as the maximum value normalization parameter. On the other hand, if the maximum value of the second data D2 is less than or equal to the maximum value threshold, the calculation unit 352 sets the maximum value of the second data D2 as the maximum value normalization parameter.

[0142] The maximum value side of the second data set D2 may contain characteristic data indicating users who actively use the app. When the maximum value threshold of the second data set D2 is used as the maximum value normalization parameter, that characteristic data will have a value greater than "1.0" after normalization. This has the effect of highlighting information about characteristic users by displaying a value greater than "1.0".

[0143] Next, in step S52B8, the calculation unit 352 determines whether the data distribution of the second data D2 is a Poisson distribution or a monotonically increasing distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0144] If the data distribution of the second data set D2 is a Poisson distribution or a monotonically increasing distribution (step S52B8: YES), the minimum value of the second data set D2 is set as the minimum-side normalization parameter, and the calculation process for the normalization parameter is terminated. Here, in the Poisson distribution, the distribution becomes sparser as you move towards the maximum value, and there is a possibility that data of users with characteristics who use the app only casually may exist as outliers. On the other hand, data is concentrated towards the minimum value, but there is no data of users who actively use the app. Also, in the case of monotonically increasing distributions, it is thought that data of users who use the app casually is more abundant as you move towards the maximum value. For the above reasons, for Poisson distributions and monotonically increasing distributions, the process of obtaining the normalization parameter is performed only on the maximum value side.

[0145] If the data distribution of the second data D2 is neither a Poisson distribution nor a monotonically increasing distribution (step S52B8: NO), then in step S52B9, the calculation unit 352 calculates the interquartile range of the second data D2 and calculates the minimum value threshold as the outlier threshold for the second data D2.

[0146] For example, the calculation unit 352 calculates the minimum value threshold by subtracting the first quartile from a value obtained by multiplying the interquartile range by 1.5. Note that the multiplier for the interquartile range is not limited to 1.5; any multiplier may be used.

[0147] Next, in step S52B10, the calculation unit 352 sets the minimum value side normalization parameter based on the minimum value of the second data D2 and the minimum value side threshold calculated in step S52B9.

[0148] The calculation unit 352 compares the minimum value of the second data D2 with the minimum value threshold calculated in step S52B9. If the minimum value of the second data D2 is less than the minimum value threshold, the calculation unit 352 sets the minimum value threshold as the minimum value normalization parameter. On the other hand, if the minimum value of the second data D2 is greater than or equal to the minimum value threshold, the calculation unit 352 sets the minimum value of the second data D2 as the minimum value normalization parameter.

[0149] In the example shown in Figure 14, steps S52B9 and S52B10 are performed only if the second data D2 follows a normal distribution. Since a normal distribution may extend to the minimum value side, the minimum value normalization parameter is set by comparing it with the minimum value threshold.

[0150] Referring to Figure 12, in step S53, the normalization unit 353 performs a normalization operation on the second data D2 using the normalization parameters calculated in step S52.

[0151] If the data distribution of the second data D2 estimated in step S51 is a normal distribution, the normalization unit 353 performs processing according to the normalization range determined in step S52. If the normalization range is "0" to "1", the normalization unit 353 adds or subtracts the mean of the second data D2 obtained in step S52 to the second data D2 so that the mode after normalization is "0.5". Alternatively, if the normalization range is "-1" to "1", the normalization unit 353 adds or subtracts the mean of the second data D2 obtained in step S52 to the second data D2 so that the mode after normalization is "0".

[0152] The normalization unit 353 normalizes the second data D2 using the normalization parameters set in step S52.

[0153] If the normalization range is "0" to "1", the normalization unit 353 performs normalization using formula (1).

[0154]

number

[0155] If the normalization range is "-1" to "1", the normalization unit 353 performs normalization using equation (2).

[0156]

number

[0157] Here, a i a' refers to the i-th data point of the second data set, D2. i This represents the result of the normalization operation. max This represents the maximum-side normalization parameter. min This represents the minimum value normalization parameter.

[0158] By normalizing the data using minimum and maximum thresholds for the second data set D2, characteristic data points will exceed "1.0" after normalization. This has the effect of highlighting information about distinctive users by displaying values ​​above "1.0". Furthermore, since the normalization results in a distribution shape closer to that of users who continuously use the app, rather than a distribution skewed towards "0", it has the effect of improving the estimation accuracy of user profile estimation.

[0159] Referring to Figure 5, in step S6, the correction unit 36 ​​generates the fourth data D4 by correcting the normalized third data D3 input from the normalization unit 35.

[0160] Figure 15 is a flowchart showing an example of the details of the correction process in step S6.

[0161] First, in step S61, the correction unit 36 ​​acquires the distribution information of the initializers in the learning device 13. The initializers are the initial values ​​of the weights set at the start of learning. The distribution information of the initializers includes the mean and standard deviation of the initializers.

[0162] Next, in step S62, the correction unit 36 ​​acquires the distribution information of the third data D3. The distribution information of the third data D3 includes the mean and standard deviation of the third data D3. Note that step S62 may be executed before step S61 or simultaneously with step S61.

[0163] Next, in step S63, the correction unit 36 ​​corrects the third data D3 based on the distribution information of the initializer and the distribution information of the third data D3. Specifically, the correction unit 36 ​​corrects the third data D3 so that its mean and standard deviation are approximately the same as the mean and standard deviation of the initializer.

[0164] As an example of the correction process, the correction unit 36 ​​corrects the third data D3 using equation (3) so that the mean and standard deviation of the third data D3 are approximately the same as the mean (0) and standard deviation (1) of the initializer of the standard normal distribution.

[0165]

number

[0166] Here, a i This refers to the i-th data point of the third data point, D3. i μ represents the result of the correction calculation. μ represents the mean of the third data point D3. σ represents the standard deviation of the third data point D3.

[0167] Note that the initializer is not limited to a standard normal distribution initializer, but may be any initializer used in deep learning, such as a Xavier initializer or a He initializer. The correction unit 36 ​​corrects the third data D3 so that its mean and standard deviation are approximately the same as the mean and standard deviation of the Xavier initializer or the He initializer, respectively. The standard deviations of the Xavier initializer and the He initializer are the standard deviations corresponding to the number of nodes n in the input layer of the neural network. Specifically, the standard deviation of the Xavier initializer is √(1 / n), and the standard deviation of the He initializer is √(2 / n). Note that the mean values ​​of both the Xavier initializer and the He initializer are 0.

[0168] For deep learning, even simple classification requires approximately 1,000 to 10,000 data points per class for training. If a vast amount of training data is available, learning accuracy is guaranteed regardless of the input data distribution. However, if only a small amount of training data is available, there is a challenge in the stability of the deep learning process during its initial stages.

[0169] Examples of situations where only a small amount of training data is available include cases where the data collector directly collects data for deep learning, or where training is performed using only data acquired early in the data collection process. In such cases, by bringing the mean and standard deviation of the input data closer to the mean and standard deviation of the initializer used in deep learning, effective training becomes possible even with a small amount of training data, improving the training accuracy of the deep learning model.

[0170] Referring to Figure 5, in step S7, the output unit 37 outputs the corrected fourth data D4 input from the correction unit 36. The data format and output destination of the fourth data D4 are arbitrary. The output destination may be a terminal in the local environment or a cloud server, etc.

[0171] As described above, according to this embodiment, the processing unit 21 (information processing device) acquires the first data D1 and generates frequency distribution information related to the first data D1. The processing unit 21 also determines the singular portion included in the frequency distribution information and generates the second data D2 by deleting the singular data included in the singular portion of the first data D1. The processing unit 21 also generates the third data D3 by normalizing the second data D2. The processing unit 21 also generates the fourth data D4 by correcting the third data D3 according to the conditions of the subsequent processing of the information processing device, and outputs the fourth data D4.

[0172] Therefore, the influence of singularities contained in the data to be normalized can be appropriately removed, and the normalized data can be appropriately corrected according to the conditions of subsequent processing. As a result, it becomes possible to improve the accuracy of subsequent processing in the information processing device.

[0173] Specifically, according to this embodiment, for data that integrates information of different properties, such as cyber information and physical information, the effects of removing the influence of outliers and retaining parameter information derived from characteristic user behavior, while appropriately normalizing even a small amount of data acquired early, and handling data of different properties in a unified manner, are achieved. Furthermore, by preprocessing the mean and standard deviation of the normalized data to be approximately the same as the mean and standard deviation of the initializers used in deep learning, and by making the distribution of the input data the same as the weight distribution used in deep learning, the effects of outliers are suppressed, and the learning accuracy of deep learning using multiple data of different properties is improved.

[0174] Furthermore, according to this embodiment, the input data is corrected in terms of scale by the correction unit 36, so that the scale of the calculation result can be made approximately equal through multiplication and addition of the input data and weights. As a result, loss of precision in the constant term portion of the calculation can be avoided, thereby improving the learning accuracy of machine learning, and consequently improving the inference accuracy using the machine-learned model. In addition, since the distribution of the input data and weights is approximated, it can be expected that the desired learning accuracy can be converged in fewer iterations.

[0175] The following describes specific examples of the application of the normalization process described in this disclosure.

[0176] As a first example, consider its application to a social networking service (SNS) app that revitalizes local communities. Users within this app belong to a specific community (for example, residents of a town). In this case, log data originating from diverse individuals with varying ages (from young people to the elderly) and occupations is likely to be collected through the app. Therefore, individual characteristics are widely distributed in the log data obtained through the app, and distinctive behaviors of certain users may be detected as outliers. In particular, data collected early in the user's life, when they have not been using the app for very long, may contain outliers such as operation logs during app installation or operation logs that are not expected from the intended use of the app due to unfamiliarity with it.

[0177] However, if outliers exist in the data used for user profiling, these outliers have a significant impact, reducing the accuracy of user profile estimation using this data.

[0178] On the other hand, the normalization method described in this disclosure removes the influence of outliers even in data acquired early, enabling data preprocessing for highly accurate profile estimation. Identifying key figures within a region is crucial for regional revitalization, and log data is processed using the normalization method described in this disclosure. Highly accurate profile estimation using the normalized log data allows for the identification of key figures. For example, the user who has given the most "likes" to the activities of other users within the regional community can be identified as a key figure. Then, detailed information such as information about regional events can be explained to this key figure intensively, and this information can be effectively spread to various people in the region through their daily lives. In this way, this disclosure can ultimately be used for regional revitalization.

[0179] A specific example of the processing in the first example will be described in order, referring to the configuration of this disclosure. Assume that a user in a certain community is using a smartphone as terminal 11. Assume that an SNS application intended to revitalize the local community is already installed on terminal 11. The acquisition unit 31 acquires the user log of the user's SNS application. The storage unit 22 is thought to be a database built on the cloud, and the user log acquired from the smartphone is stored in the database.

[0180] Taking the example of a normalization process performed daily at 11 PM, this execution process is called as a batch process at 11 PM, and the determination unit 33 identifies anomalies in the data obtained from the database that are not expected from the intended use of the application. In the case of the SNS application example above, certain operation logs that are not expected from normal application operation occur frequently due to the operation during installation, and this is detected as a peak in the data distribution. The deletion unit 34 deletes the data included in the anomaly identified by the determination unit 33.

[0181] The estimation unit 351 estimates which of several predetermined data distributions the distribution of the data from which singular parts have been removed by the deletion unit 34 corresponds. In this example, the distribution is set based on the characteristics of the data source being an SNS app used by residents of a community, such as a Poisson distribution from the perspective of the number of times the app was used in discrete time and the number of times stamps representing "likes" were pressed, and a normal distribution from the perspective of the distribution of a large number of users belonging to a community.

[0182] The calculation unit 352 determines the normalization parameters necessary for normalization based on the data distribution estimated by the estimation unit 351. At this time, from the perspective of user log data, outlier data is generated due to the user's behavior on the app. For example, log data of a user who communicates exceptionally actively on the app. This data would normally be removed as an outlier, but it represents the characteristics of a user who acts actively on the app. If normalization is simply performed using the maximum value of the data, data that could be considered outliers will be rounded to "1.0", while other data will be rounded to a format closer to "0". At this time, the calculation unit 352 calculates parameters that allow normalization in a format that emphasizes the characteristics of the user, by leaving the data of the user who acts actively on the app at a value greater than "1.0", such as "1.3".

[0183] The normalization unit 353 normalizes the data acquired by the acquisition unit 31 based on the normalization parameters calculated by the calculation unit 352. The normalized data is then output from the output unit 37 and used for user profile estimation. This normalized data excludes data that negatively impacts profile estimation, and retains data that might otherwise be excluded as outliers, retaining it as information about users with distinctive characteristics within the community. Therefore, it is possible to estimate the characteristics of users within a local community (for example, the characteristic of being a central figure within the community) with high accuracy through application logs.

[0184] A specific example of the processing in the second example will be explained with reference to the configuration of this disclosure. Assume that an employee working in an office is using a smartphone as terminal 11. Assume that an SNS application intended to revitalize interpersonal relationships within the office is already installed on terminal 11. The acquisition unit 31 acquires the user log of the user's SNS application. The storage unit 22 is thought to be a database built on the cloud, and the user log acquired from the smartphone is stored in the database.

[0185] Taking the example of a normalization process performed daily at 11 PM, this execution process is called as a batch process at 11 PM, and the determination unit 33 identifies anomalies in the data obtained from the database that are not expected from the intended use of the application. In the case of the SNS application example above, certain operation logs that are not expected from normal application operation occur frequently due to the operation during installation, and this is detected as a peak in the data distribution. The deletion unit 34 deletes the data included in the anomaly identified by the determination unit 33.

[0186] The estimation unit 351 estimates which of several predetermined data distributions the distribution of the data from which singular parts have been removed by the deletion unit 34 corresponds. In this example, the distribution is set based on the characteristics of the data source being log data from office employees, such as a Poisson distribution from the perspective of the number of times the app was used in discrete time and the number of times stamps representing "likes" were pressed, and a normal distribution from the perspective of the distribution of a large number of users working in an office.

[0187] The calculation unit 352 determines the normalization parameters necessary for normalization based on the data distribution estimated by the estimation unit 351. At this time, from the perspective of user log data, outlier data is generated due to the user's behavior on the app. For example, log data of a user who communicates exceptionally actively on the app. This data would normally be removed as an outlier, but it represents the characteristics of a user who acts actively on the app. If normalization is simply performed using the maximum value of the data, data that could be considered outliers will be rounded to "1.0", while other data will be rounded to a format closer to "0". At this time, the calculation unit 352 calculates parameters that allow normalization in a format that emphasizes the characteristics of the user, by leaving the data of the user who acts actively on the app at a value greater than "1.0", such as "1.3".

[0188] The normalization unit 353 normalizes the data acquired by the acquisition unit 31 based on the normalization parameters calculated by the calculation unit 352. The normalized data is then output from the output unit 37 and used for user profile estimation. This normalized data excludes data that negatively impacts profile estimation, and data that might otherwise be excluded as outliers is retained as information about distinctive users among office employees. Therefore, the characteristics of office employees can be estimated with high accuracy through application logs. By analyzing the behavior of users identified as key figures in the office (working hours, frequency of real-world conversations with other users, chat application usage time, etc.) and recommending similar behaviors to other employees, it can lead to the revitalization of the entire office. [Industrial applicability]

[0189] This disclosure is broadly applicable to data normalization processing for machine learning, such as deep learning.

[0190] Examples of applications of the technology disclosed herein include the following:

[0191] As a first example, this disclosure is particularly effective in machine learning such as deep learning, using a neural network having an intermediate layer that contains a certain proportion or more of neurons that perform bias addition, where the scale of the calculation results differs between multiplication and addition.

[0192] As a second example, this disclosure is particularly effective in calculations with a small number of bits, such as GPU computations. While a GPU computationally calculates with, for example, around 7 digits, it can complete computation cycles much faster per unit of time. This means that with 64 bits, it can complete 8 cycles per unit of time. Furthermore, when attempting to perform calculations extremely quickly, calculations are performed with a constant number of digits in fixed-point numbers, which increases the likelihood of loss of precision. Thus, this disclosure is effective in preventing loss of precision when performing training with a small number of digits (bits) and high cycle rates, such as in GPU computations. [Explanation of Symbols]

[0193] 12 Normalizer 21 Processing Unit 31 Acquisition Department 32 Generation part 33 Judgment section 34 Deleted section 35 Normalization section 36 Correction Unit 37 Output section 351 Estimation Department 352 Calculation Unit 353 Normalization section

Claims

1. Information processing device, Obtain the first data, Frequency distribution information is generated for the first data, The singular portion included in the aforementioned frequency distribution information is determined, Second data is generated by deleting the singular data included in the singular portion of the first data. By normalizing the second data mentioned above, a third data is generated. The third data is corrected according to the processing conditions of the subsequent stage of the information processing device to generate the fourth data. Output the above fourth data, Information processing methods.

2. In determining the singular portion, a predetermined singular frequency distribution shape among the frequency distribution information is determined to be the singular portion. The information processing method according to claim 1.

3. In generating the third data, The data distribution of the second data is estimated from multiple data distributions. Based on the data distribution of the second data mentioned above, the parameters for normalization are calculated, The second data is normalized using the aforementioned parameters. The information processing method according to claim 1.

4. The aforementioned subsequent processing includes machine learning. The information processing method according to claim 1.

5. The aforementioned machine learning includes a neural network having an intermediate layer that contains a certain proportion or more of neurons that perform bias addition. The information processing method according to claim 4.

6. In generating the fourth data, the fourth data is generated by correcting the third data based on the distribution information of the initializers in the machine learning and the distribution information of the third data. The information processing method according to claim 4.

7. The distribution information of the initializer includes at least one of the representative value and the standard deviation of the initializer. The distribution information of the third data includes at least one of the representative value and the standard deviation of the third data. The information processing method according to claim 6.

8. The standard deviation of the initializer includes either the standard deviation of the standard normal distribution or the standard deviation corresponding to the number of nodes in the input layer of the machine learning. The information processing method according to claim 7.

9. Equipped with a circuit configuration, The aforementioned circuit configuration is, Obtain the first data, Frequency distribution information is generated for the first data, The singular portion included in the aforementioned frequency distribution information is determined, Second data is generated by deleting the singular data included in the singular portion of the first data. By normalizing the second data mentioned above, a third data is generated. The third data is corrected according to the processing conditions of the subsequent stage of the information processing device to generate the fourth data. Output the above fourth data, Information processing device.

10. A program that causes an information processing device to perform processing, The aforementioned process is, Obtain the first data, Frequency distribution information is generated for the first data, The singular portion included in the aforementioned frequency distribution information is determined, Second data is generated by deleting the singular data included in the singular portion of the first data. By normalizing the second data mentioned above, a third data is generated. The third data is corrected according to the processing conditions of the subsequent stage of the information processing device to generate the fourth data. Output the above fourth data, program.

Citation Information

Patent Citations

  • Inspection result data output system

    JP2003067489A

  • Person matching device, method and program

    JP2012078768A