发明内容
为了解决上述技术问题,本发明提供基于机器学习的智能戒指异常健康数据预警方法,以解决现有的问题。
本发明的基于机器学习的智能戒指异常健康数据预警方法采用如下技术方案:
本发明一个实施例提供了基于机器学习的智能戒指异常健康数据预警方法,该方法包括以下步骤:
采集用户健康数据,包括各项特征值以及人为标注的用户健康异常指数;
根据各用户健康异常指数以及特征值获取各异常指数聚类簇内每个特征的各特征聚类簇;根据异常指数聚类簇内每个特征的特征聚类簇构建异常指数聚类簇内每个特征的混乱因子;根据异常指数聚类簇内每个特征与整体特征之间的数据差异以及混乱因子构建异常指数聚类簇内每个特征与用户健康异常指数之间的相关性;根据不同异常指数聚类簇内每个特征与用户健康异常指数之间的相关性获取每个特征与用户健康异常指数之间的整体相关性;
根据异常指数聚类簇内每个特征与用户健康异常指数之间的相关性以及特征值差异构建异常指数聚类簇内任意两个特征之间的相关性;根据异常指数聚类簇内所有任意两个特征之间的相关性以及每个特征与用户健康异常指数之间的相关性,构建异常指数聚类簇内每个特征的特征重要性;基于特征之间的特征重要性的趋势分布相似情况构建每个特征的特征修正因子;根据每个特征与用户健康异常指数之间的整体相关性、特征重要性以及特征修正因子构建每个特征的显著性;
基于显著性获取关键特征项,采用异常检测算法评估用户健康异常情况。
优选的,所述根据各用户健康异常指数以及特征值获取各异常指数聚类簇内每个特征的各特征聚类簇,包括:
对所有用户的用户健康异常指数采用聚类算法获取各聚类簇,记为各异常指数聚类簇;
将各异常指数聚类簇内每个特征在所有用户的特征值进行聚类得到各聚类簇,记为各异常指数聚类簇内每个特征的各特征聚类簇。
优选的,所述根据异常指数聚类簇内每个特征的特征聚类簇构建异常指数聚类簇内每个特征的混乱因子,包括:
对于异常指数聚类簇内每个特征的特征聚类簇,获取任意两个特征聚类簇之间的元素数量的差值绝对值、所有元素平均特征值的差值绝对值;
获取异常指数聚类簇内每个特征的特征聚类簇数量;计算异常指数聚类簇内每个特征中所有任意两个特征聚类簇之间的,元素数量的差值绝对值与所有元素平均特征值的差值绝对值的乘积的和值,将所述和值与所述特征聚类簇数量的乘积作为异常指数聚类簇内每个特征的混乱因子。
优选的,所述根据异常指数聚类簇内每个特征与整体特征之间的数据差异以及混乱因子构建异常指数聚类簇内每个特征与用户健康异常指数之间的相关性,包括:
对于异常指数聚类簇内各用户,计算各用户在每个特征的特征值与各用户的用户健康异常指数的比值;计算所有用户在每个特征的平均特征值与所有用户的用户健康异常指数均值的比值;
获取异常指数聚类簇内每个特征的混乱因子;将异常指数聚类簇内所有用户的两个比值之间的差值绝对值的和值,乘以所述混乱因子得到异常指数聚类簇内每个特征与用户健康异常指数之间的相关性。
优选的,所述根据不同异常指数聚类簇内每个特征与用户健康异常指数之间的相关性获取每个特征与用户健康异常指数之间的整体相关性,包括:
计算所有异常指数聚类簇在每个特征与用户健康异常指数之间的相关性的和值的归一化值,将数字1与所述归一化值的差值作为每个特征与用户健康异常指数之间的整体相关性。
优选的,所述根据异常指数聚类簇内每个特征与用户健康异常指数之间的相关性以及特征值差异构建异常指数聚类簇内任意两个特征之间的相关性,表达式为:
其中,表示异常指数聚类簇i内特征o与特征s之间的相关性,exp()表示以自然常数为底数的指数函数, />、/>分别表示异常指数聚类簇i内特征o、特征s与用户健康异常指数之间的相关性,/>表示异常指数聚类簇i内的元素数量,/>、分别表示异常指数聚类簇i内第j个用户的特征o、特征s的特征值,/>、/>分别表示异常指数聚类簇i内所有用户的特征o、特征s的平均特征值。
优选的,所述根据异常指数聚类簇内所有任意两个特征之间的相关性以及每个特征与用户健康异常指数之间的相关性,构建异常指数聚类簇内每个特征的特征重要性,包括:
对于异常指数聚类簇内的每个特征,计算异常指数聚类簇内每个特征与剩余所有特征之间的相关性的和值;将所述和值与异常指数聚类簇内每个特征与用户健康异常指数之间的相关性的比值,作为异常指数聚类簇内每个特征的特征重要性。
优选的,所述基于特征之间的特征重要性的趋势分布相似情况构建每个特征的特征修正因子,包括:
基于每个特征在各异常指数聚类簇内的特征重要性组成每个特征的特征曲线图;
计算每个特征与其他所有特征的特征曲线图拟合后的曲线之间的相似度的和值,将数字1与所述和值的归一化值的差值作为每个特征的特征修正因子;所述相似度通过形状上下文算法计算得到。
优选的,所述根据每个特征与用户健康异常指数之间的整体相关性、特征重要性以及特征修正因子构建每个特征的显著性,包括:
计算每个特征的特征修正因子与数字1的和值;获取每个特征在所有异常指数聚类簇内的特征重要性均值;将所述和值、所述特征重要性均值以及每个特征与用户健康异常指数之间的整体相关性的乘积,作为每个特征的显著性。
优选的,所述基于显著性获取关键特征项,采用异常检测算法评估用户健康异常,包括:
将所有特征的显著性作为大津阈值法的输入,得到大津阈值,将大于大津阈值的显著性对应的特征作为关键特征项;
对各用户的所有关键特征项的特征数据采用孤立森林算法,获取各用户的异常分数;对大于预设阈值的异常分数的用户进行健康预警。
本发明至少具有如下有益效果:
本发明通过对采集所得多维数据进行分析,计算在用户健康异常指数所在的同一个异常指数聚类簇内特征项的混乱指数,基于混乱指数反映特征与用户健康异常指数之间的相关性,从而用于评价特征项与用户健康数据存在的健康规律性关系;同时,通过计算在同一用户健康异常聚类簇中不同特征之间的相关性,进而结合特征数据与用户健康异常指数之间的相关关系获取特征的特征重要性,从整体与内部两个角度对特征的重要程度进行分析,规避重要特征信息被忽略的风险,使得分析的更加全面;
进一步根据在不同特征项的特征性随用户健康异常指数变化的趋势情况,挖掘任意两个特征的趋势相似度,构建特征的特征修正因子,从而最终获取特征的显著性,并根据特征数据的显著性提取关键特征项,进而将各关键特征项数据用于表征用户健康的特征程度,从而根据所得特征值进行筛选,减少特征数据的数量;使用孤立森林算法得到用户健康的异常分数,完成对用户健康异常的监测。本发明通过减少采集数据的维度,选择关键特征项,大大提高孤立森林算法所得异常值的可靠性,极大的增加了对用户健康数据监测的准确性。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于机器学习的智能戒指异常健康数据预警方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的基于机器学习的智能戒指异常健康数据预警方法的具体方案。
本发明一个实施例提供的基于机器学习的智能戒指异常健康数据预警方法。
具体的,提供了如下的基于机器学习的智能戒指异常健康数据预警方法,请参阅图1,该方法包括以下步骤:
步骤S001,用户健康数据采集。
本实施例使用智能戒指采集用户健康数据信息,其中用户健康数据信息包括用户心率信息、用户皮肤表面温度湿度信息、血氧饱和度、用户活动的步数、距离、活动时间和消耗的卡路里、用户睡眠时长、深度和质量等各项特征值。使用人为标注的方法,对所得各用户的用户健康数据的用户健康异常指数进行人为标注,用户健康异常指数F的取值大小为[0,1],即该值越大,说明该用户的健康状况越异常。
将所得各用户的健康数据信息记为向量R=[B,F,t],B表示使用智能戒指采集获取的用户健康数据,F表示人为标注的用户健康异常指数,t表示智能戒指采集数据的时间。
至此,可通过上述方法完成用户健康数据采集。
步骤S002,基于用户健康异常指数的分类构建聚类簇内特征的混乱程度,基于特征与用户健康异常指数之间的相关性、数据特征之间的相关性分析特征重要性。
通过对用户各个特征信息进行特征筛选,进而获取与用户健康较为相关的特征,在使用孤立森林算法对这些特征进行异常检测,从而获取用户健康异常程度。
由于不同用户的基本信息与智能戒指实时采集的数据信息较多,其中可能存在与用户健康异常评估指标相关性较低的特征数据,而在使用随机森林算法对用户数据进行健康异常指数的评估时,可能导致由于随机选择相关性较小的特征数据构建的孤立树过多,进而导致最终对用户健康异常指数的结果不准确,故本实施例通过基于用户测试数据与人为标注用户健康异常指数的方法,对用户特征进行提取,进而避免上述问题的发生。
本实施例通过对用户的智能戒指采集获取的各项特征数据进行分析,从而确定在用户数据采集时,各项特征数据与用户健康异常指数的相关性以及各项特征之间的相关性,进而分析各项数据特征表征用户健康的特征程度,从而根据所得特征值的特征程度进行筛选,减少特征数据的数量。
本实施例首先对每次采集所得用户健康数据对应人工标注的用户健康异常指数进行聚类分析,通过分析每个相近用户健康指数所在聚类簇内对应用户实时采集的各项特征数据之间的差异,从而确定各项特征数据与用户健康异常指数的相关性,其中聚类算法使用DBSCAN聚类算法,聚类参数r=5,minpts=5,聚类距离为用户健康异常指数之间的差值绝对值,并将所得聚类簇的数量记为K,将所得聚类簇记为异常指数聚类簇。其中,DBSCAN聚类算法为公知技术,本实施例不再赘述。
本实施例通过对聚类簇内各项特征数据的特征值进行处理,分析在用户健康异常指数所在的同一个异常指数聚类簇内特征项的混乱指数,根据所得混乱指数评价反映特征与用户健康异常指数之间的相关性。
其中,异常指数聚类簇内各个数据特征的混乱指数的方法如下:对异常指数聚类簇中特征o的特征值进行聚类,其中聚类算法同样使用DBSCAN聚类算法,聚类参数r=5,minpts=5,聚类距离为特征o的特征值,将所得聚类簇的数量记为H,将聚类簇记为特征聚类簇。以异常指数聚类簇i为例,异常指数聚类簇i内特征o的混乱程度的计算方法如下:
其中,表示异常指数聚类簇i内特征o的混乱因子,H表示异常指数聚类簇i中的特征聚类簇的数量,/>表示异常指数聚类簇i内特征聚类簇u与v的簇内元素数量的差值绝对值,/>表示异常指数聚类簇i内特征聚类簇u与v的簇内元素特征o的平均特征值的差值绝对值。
需要说明的是,当所求异常指数聚类簇i中根据特征o的特征值进行聚类所得特征聚类簇的数量越多,同时各个特征聚类簇内元素数量的差异越大,且各个特征聚类簇内元素的特征值的平均值的差异也越大,则说明当前异常指数聚类簇i内特征o的混乱因子越大。
其中,表示异常指数聚类簇i内特征o与用户健康异常指数之间的相关性,表示异常指数聚类簇i内特征o的混乱因子,/>表示异常指数聚类簇i内的元素数量;/>表示异常指数聚类簇i内第j个用户的特征o的特征值;/>表示异常指数聚类簇i内第j个用户的用户健康异常指数,/>表示异常指数聚类簇i内所有用户的特征o的平均特征值;/>表示异常指数聚类簇i内所有用户的用户健康异常指数均值。
需要说明的是,当所求在异常指数聚类簇i中,异常指数聚类簇i内特征o的混乱因子越大,各用户对应特征o的特征值与对应用户健康异常指数的比值,与该异常指数聚类簇i内所有用户的特征o的平均特征值与所有用户的用户健康指数均值的比值,之间的差异越大,则说明异常指数聚类簇i内特征o的混乱程度越大,即所求异常指数聚类簇i对特征o的混乱指数越大。
同时根据不同异常指数聚类簇获取特征o与用户健康异常指数之间的整体相关性。
其中,表示特征o与用户健康异常指数之间的整体相关性,norm()表示归一化函数,K表示异常指数聚类簇数量,/>表示异常指数聚类簇i内特征o与用户健康异常指数之间的相关性。
需要说明的是,当所求在根据用户健康异常指数所得各个异常指数聚类簇中,特征o的混乱指数越大,则说明特征o与用户健康异常指数之间的整体相关性越弱。
由于在根据上述方法进行分析获取特征与用户健康异常指数之间的整体相关性时,仅从整体上进行分析所得,并没有考虑到如果在某个用户健康异常指数类别中,特征之间的相关性较强,而导致忽略该特征的特征信息,进而导致最终进行特征提取时,将该特征筛选掉,导致根据所得特征进行异常监测的结果不准确,故需要对所得特征与用户健康异常指数进行进一步修正。
由于在根据用户健康异常指数进行聚类时,可以获取异常指数聚类簇内不同特征数据特征值的混乱指数,故可以进一步分析在不同用户健康异常指数,各项特征数据之间的相关性,从而更好的获取分析各项特征数据对用户健康异常指数的贡献程度。
对于同一聚类簇中任意两个特征数据之间的相关性方法如下:
其中,表示异常指数聚类簇i内特征o与特征s之间的相关性,exp()表示以自然常数e为底数的指数函数, />、/>分别表示异常指数聚类簇i内特征o、特征s与用户健康异常指数之间的相关性,/>表示异常指数聚类簇i内的元素数量,/>、分别表示异常指数聚类簇i内第j个用户的特征o、特征s的特征值,/>、/>分别表示异常指数聚类簇i内所有用户的特征o、特征s的平均特征值。
需要说明的是,当所求在异常指数聚类簇i内的两个特征参数o、s分别与用户健康异常指数之间的相关性差异越小,且对应在该异常指数聚类簇内两个特征参数的特征值的比值与两个特征参数在该异常指数聚类簇内平均值的比值的差异也越小,则说明这两个特征参数在异常指数聚类簇i中的相关性越强。
对异常指数聚类簇i内的所有特征与特征o的特征计算其相关性,进而分析该异常指数聚类簇内特征o的重要性,则对应的特征o的重要性的计算方法如下:
其中,表示异常指数聚类簇i内特征o的特征重要性,L表示特征数据种类,表示异常指数聚类簇i内特征o与特征s之间的相关性,/>表示异常指数聚类簇i内特征o与用户健康异常指数之间的相关性。
需要说明的是,当所求在异常指数聚类簇i中,特征o与其他特征的相关性越小,且特征o在异常指数聚类簇i中的混乱指数越大,则说明特征o的重要性越小。
使用上述方法,可以得到每个异常指数聚类簇内各项特征的重要性,将各项特征在所有异常指数聚类簇下的数值绘制成特征曲线图,其中横坐标为各异常指数聚类簇,纵坐标表示各项特征在对应的异常指数聚类簇内的特征重要性,特征曲线图中的数据点(r,k)表示特征r在异常指数聚类簇k的特征重要性。
对各项特征的特征曲线图进行分析,分析特征o的特征性随用户健康异常指数变化的变化趋势,进而通过比较特征o的特征性与其他特征随用户健康指数的特征曲线图的差异,获取特征o的特征程度,进而最终根据所得特征程度进行分析,提取特征参数。其中根据其他特征的特征曲线图与当前特征的特征曲线图分析的当前特征的特征修正因子的计算方法如下:
其中,表示特征o的特征修正因子,/>表示归一化函数,L表示特征数据种类,/>表示特征o与特征s的特征曲线图拟合之后,使用形状上下文算法计算所得两条拟合曲线的相似度。其中,形状上下文算法为公知技术,本实施例不再赘述。
需要说明的是,当所求特征o对应特征曲线图的拟合曲线与其他特征对应特征曲线图的拟合曲线之间的相似度越小,则说明当前特征o对应特征修正因子就越大。
则对应特征o的显著性计算方法如下:
其中,表示特征o的显著性,/>表示特征o与用户健康异常性指标之间的整体相关性,/>表示特征o在所有异常指数聚类簇内的特征重要性均值,/>表示特征o的特征修正因子。
需要说明的是,但所求特征o与用户健康异常性指标之间的整体相关性越强,且特征o在所有异常指数聚类簇内的特征重要性均值越强,且特征o的特征修正因子也越强,则说明当前特征o的特征显著性越大,即越大,该特征数据越符合用户健康数据中的关键特征数据。
步骤S003,采用孤立森林算法对基于显著性筛选后的特征项进行异常检测,获取用户健康异常的评估。
通过上述步骤可以获取每个特征的显著性,使用大津阈值法对每个特征的显著性进行划分,将显著性大于大津阈值的特征作为关键特征项。其中,大津阈值法为公知技术,本实施例不再赘述。
根据上述方法对所得用户的各个关键特征项进行特征提取,选择优选参数,使用孤立森林算法获取每个时刻用户的异常分数,用户健康异常分数的指标构建流程图如图2所示,对大于预设阈值的异常分数的用户进行健康预警,完成对用户健康的异常评估。其中,预设阈值由实施者根据实际情况自行设定,本实施例取值0.7,孤立森林算法为公知技术,本实施例不再赘述。
综上所述,本发明实施例通过对采集所得多维数据进行分析,计算在用户健康异常指数所在的同一个异常指数聚类簇内特征项的混乱指数,基于混乱指数反映特征与用户健康异常指数之间的相关性,从而用于评价特征项与用户健康数据存在的健康规律性关系;同时,通过计算在同一用户健康异常聚类簇中不同特征之间的相关性,进而结合特征数据与用户健康异常指数之间的相关关系获取特征的特征重要性,从整体与内部两个角度对特征的重要程度进行分析,规避重要特征信息被忽略的风险,使得分析的更加全面;
进一步根据在不同特征项的特征性随用户健康异常指数变化的趋势情况,挖掘任意两个特征的趋势相似度,构建特征的特征修正因子,从而最终获取特征的显著性,并根据特征数据的显著性提取关键特征项,进而将各关键特征项数据用于表征用户健康的特征程度,从而根据所得特征值进行筛选,减少特征数据的数量;使用孤立森林算法得到用户健康的异常分数,完成对用户健康异常的监测。本发明实施例通过减少采集数据的维度,选择关键特征项,大大提高孤立森林算法所得异常值的可靠性,极大的增加了对用户健康数据监测的准确性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,均应包含在本申请的保护范围之内。