一种基于CatBoost算法的智能锁异常检测方法与流程

文档序号:17008358发布日期:2019-03-02 02:08阅读:330来源:国知局
本发明涉及智能家居
技术领域
,尤其涉及区块链、以太坊及其智能合约使用中的一种基于catboost算法的智能锁异常检测方法。
背景技术
:《2017中国智能锁应用与发展白皮书》对中国智能锁的应用现状以及未来发展进行了全面解读和深度分析,报告还称,2016年中国智能锁零售市场正式爆发,进而带动中国智能锁市场进入快速发展时期,预计到2020年,中国智能门锁销量将突破3200万套,由此可见随着互联网的发展,智能锁的发展已经呈现出势不可挡的趋势。传统门锁以及一些新兴智能门锁如:密码锁、指纹锁、人脸锁等具有较好的安全性,但缺乏较好的灵活性,以房屋租赁市场智能锁应用为例,公寓租房基本业务模式是赚取服务费用和租金差价,规模化是整合个人、二房东、存量地产租赁物业的过程,市场需要更有竞争力的产品。对于房屋租赁所出现的场景下,如某房东为其房屋安装了指纹锁,然后他现将房屋租给了某租户,租户得到了开锁权限,但此时这个房门房东和租户都可以打开,租户的隐私和生命财产安全将受到威胁,在这样的场景下,锁的安全性大打折扣了。智能门锁降低了房租催缴成本以及客户体验上的冲突,结合互联网和标准住宿产品,能进一步实现客户自助看房、入住、退租过程。在加盟、合伙人、托管等新运营方式中,对租赁房屋进行更为细致的系统化管理,互联网智能门锁能够帮助公寓运营商,降低运营成本,提升管理效率,优化客户体验,逐步实现房屋租赁的互联网化。智能锁技术不但使租房者得到实惠和良好的体验,也会大大促进出租屋行业的快速发展。智能锁现在正处于家庭安全的重要位置,其安全性不言而喻,但而智能化的最终目标一定是为了安全性服务考虑,判断一套智能锁是否可靠的关键问题,是实现智能化后的电子信息保密问题、网络安全问题。随着人工智能和大数据等互联网技术不断渗透,依靠大数据科技主动收集、分析、整理智能锁相关数据,使得人们享受智能锁带来的便利的同时,信息被恶意窃取也将带来极大的信息安全隐患,因此减少因信息被恶意窃取带来极大的信息安全隐患,提高智能锁的安全性和可靠性是当前的核心问题。技术实现要素:针对上述
背景技术
所阐述的问题,本发明提供一种基于catboost算法的智能锁异常检测方法,通过对智能锁的基本信息数据、所记录的行为数据进行分析,有效地预测智能锁的是否异常。为了达到上述目的,本发明提供如下技术方案:一种基于catboost算法的智能锁异常检测方法,包括如下步骤:q1、数据预处理操作,对智能锁基本信息数据和智能锁记录的行为数据的处理,使数据格式归一化,标准化;q2、依据“留出法”对数据划分操作,将历史数据划分为训练集和测试集,目的在于探寻历史数据训练集中数据内在联系;q3、根据训练集和测试集进行特征工程构建操作,特征采用基本信息特征、基础统计特征、时序特征、交叉特征,建立算法模型;q4、建立多个机器学习模型,并进行模型融合操作,用构建完特征的训练集去训练7个catboost模型:catboost模型分别对所述的基本信息特征、基础统计特征、时序特征、交叉特征进行特征选择,按照特征重要性排序,在基本信息特征中选取特征重要性大于0的特征,在基础统计特征中选取特征重要性大于10的特征,在时序特征中选取特征重要性大于0的特征,在交叉特征中选择特征重要性大于20的特征,使得在充分表征样本信息的同时降低模型的复杂度;catboost模型参数用默认参数乘以随机系数,系数范围为0.6~0.8,从而生成7个不同的catboost模型,这些catboost模型以stacking进行模型融合,stacking模型融合的过程如下:用线性回归以七折交叉拟合每一折得到7个系数,以这7个系数的均值作为该catboost的融合系数作为stacking的第一层,再以这多个catboost模型进行训练,得到7个catboost的预测结果,将预测结果乘上各自的融合系数,求和得到最终概率,过程如下:①分别对7个模型调用线性回归得到每一折的预测结果:其中ym_npredict表示第m个模型第n折的预测结果,wm_n_z表示第m个模型的第n折的第z个线性回归系数:……②将7个模型的预测结果作为x,该训练集每一折的真实标签作为y,再次调用线性回归模型:③则7个模型最终的融合系数为:……2、根据权利要求1所述的一种基于catboost算法的智能锁异常检测方法,其特征在于:所述q1中,对智能锁基本信息数据和智能锁记录的行为数据的处理包括:对异常值进行清洗,智能锁基本信息记录了智能锁所在楼层,删除其中楼层过大的样本;对低频值进行替换,智能锁基本信息记录了智能锁所在城市,将在整个数据集中只出现了一次的城市数据替换为一个相同的值;对空值进行填充,智能锁记录的行为数据中的开锁方式,开锁方式为空值,将空值以众数即最常用的开锁方式填充,智能锁记录的行为数据中的行为时间,行为时间为空值,将空值以中位数即该智能锁所有行为时间中最中间的值进行填充:首先以智能锁的id进行分组,对每组的时间按从小到大排序:time1≤time2≤time3≤…≤timen则缺失的时间(timenull)填充为:3、根据权利要求1或2所述的一种基于catboost算法的智能锁异常检测方法,其特征在于:所述q2中,将数据集划分为两个互斥的子集,一个集合作为训练集s,包含70%的样本,另一个作为测试集t,包含30%的样本,即假设数据集为d,则d=s∪t,在s上训练出模型后,用t来评估其测试误差,作为对泛化误差的估计,训练集和测试集需要保留基本一致的正负样本比例。4、根据权利要求3所述的一种基于catboost算法的智能锁异常检测方法,其特征在于:所述q3中,所述基本信息特征、基础统计特征、时序特征、交叉特征为:基本信息特征:智能锁的品牌信息、城市信息、楼层信息,及其相互的labelencoder编码信息;所述labelencoder编码,按字符串的形式连接品牌与城市、品牌与楼层、城市与楼层、品牌与城市与楼层,再将其编码为从基础数开始的序列。基础统计特征:智能锁分别用指纹解锁、手机蓝牙解锁、密码解锁、实体钥匙解锁、纽扣蓝牙钥匙解锁的总次数、方差、中位数、偏度、峰度,及其解锁成功的总次数、方差、中位数、偏度、峰度;时间序列特征:智能锁每天最早一次和最晚一次解锁的时间差的方差、中位数、偏度、峰度,及其解锁成功的时间差的方差、中位数、偏度、峰度;智能锁在整个数据集中的最早一次解锁和最晚一次解锁的时间差,及其最早一次解锁成功和最晚一次解锁成功的时间差;智能锁每两次解锁的平均时间差,及其每两次解锁成功的平均时间差;连续解锁成功的最大次数;连续解锁不成功的最大次数;最晚一次解锁的时间与智能锁安装时间的时间差;交叉特征:指纹解锁成功的次数占指纹解锁次数的比例,手机蓝牙解锁成功的次数占手机蓝牙解锁次数的比例,密码解锁成功的次数占密码解锁次数的比例,实体钥匙解锁成功的次数占实体钥匙解锁次数的比例,纽扣蓝牙钥匙解锁成功的次数占纽扣蓝牙钥匙解锁次数的比例。本发明的有益效果是:通过对用用户行为、时间、使用场景数据进行预处理和分析提取特征,建立多个机器学习模型并进行stacking模型融合,基于多个单模型的stacking模型融合,实现简单,减少单个机器学习模型的扰动,多个模型优势相互补充,单模型进行融合整合,从而准确预测智能锁是否存在异常,减少因信息被恶意窃取带来极大的信息安全隐患,提高智能锁的安全性和可靠性。具体实施方式下面对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。作为实施例所示的一种基于catboost算法的智能锁异常检测方法,包括如下步骤:q1、数据预处理操作,对智能锁基本信息数据和智能锁记录的行为数据的处理,使数据格式归一化,标准化;我们常用的智能锁的基本信息数据包括锁id、品牌id、所在城市id、所在楼层、安装时间,如表1所示:表1智能锁基本信息数据fieldtypedescriptionlock_idstring锁idbrand_idstring品牌idcity_idstring城市idfloorint楼层install_timestring安装时间,精确到天智能锁所记录的行为数据包括用户id、开锁方式、开锁是否成功、开锁时间、标签,见表2所示:表2智能锁所记录的行为数据对智能锁基本信息数据和智能锁记录的行为数据的处理包括:对异常值进行清洗,智能锁基本信息记录了智能锁所在楼层,删除其中楼层过大的样本;对低频值进行替换,智能锁基本信息记录了智能锁所在城市,将在整个数据集中只出现了一次的城市数据替换为一个相同的值,如-1;对空值进行填充,智能锁记录的行为数据中的开锁方式,开锁方式为空值,将空值以众数即最常用的开锁方式填充,智能锁记录的行为数据中的行为时间,行为时间为空值,将空值以中位数即该智能锁所有行为时间中最中间的值进行填充:首先以智能锁的id进行分组,对每组的时间按从小到大排序:time1≤time2≤time3≤…≤timen则缺失的时间(timenull)填充为:q2、依据“留出法”对数据划分操作,将历史数据划分为训练集和测试集,目的在于探寻历史数据训练集中数据内在联系;q3、根据训练集和测试集进行特征工程构建操作,特征采用基本信息特征、基础统计特征、时序特征、交叉特征,建立算法模型,将数据集划分为两个互斥的子集,一个集合作为训练集s,包含70%的样本,另一个作为测试集t,包含30%的样本,即假设数据集为d,则d=s∪t,在s上训练出模型后,用t来评估其测试误差,作为对泛化误差的估计,训练集和测试集需要保留基本一致的正负样本比例。4、根据权利要求3所述的一种基于catboost算法的智能锁异常检测方法,其特征在于:所述q3中,所述基本信息特征、基础统计特征、时序特征、交叉特征为:基本信息特征:智能锁的品牌信息、城市信息、楼层信息,及其相互的labelencoder编码信息;所述labelencoder编码,按字符串的形式连接品牌与城市、品牌与楼层、城市与楼层、品牌与城市与楼层,再将其编码为从基础数开始的序列。智能锁的品牌信息、城市信息、楼层信息,及其相互的labelencoder编码信息。labelencoder编码的具体操作是,按字符串的形式连接品牌与城市、品牌与楼层、城市与楼层、品牌与城市与楼层,再将其编码为从1开始的序列:基础统计特征:智能锁分别用指纹解锁、手机蓝牙解锁、密码解锁、实体钥匙解锁、纽扣蓝牙钥匙解锁的总次数、方差、中位数、偏度、峰度,及其解锁成功的总次数、方差、中位数、偏度、峰度;时间序列特征:智能锁每天最早一次和最晚一次解锁的时间差的方差、中位数、偏度、峰度,及其解锁成功的时间差的方差、中位数、偏度、峰度;智能锁在整个数据集中的最早一次解锁和最晚一次解锁的时间差,及其最早一次解锁成功和最晚一次解锁成功的时间差;智能锁每两次解锁的平均时间差,及其每两次解锁成功的平均时间差;连续解锁成功的最大次数;连续解锁不成功的最大次数;最晚一次解锁的时间与智能锁安装时间的时间差;交叉特征:指纹解锁成功的次数占指纹解锁次数的比例,手机蓝牙解锁成功的次数占手机蓝牙解锁次数的比例,密码解锁成功的次数占密码解锁次数的比例,实体钥匙解锁成功的次数占实体钥匙解锁次数的比例,纽扣蓝牙钥匙解锁成功的次数占纽扣蓝牙钥匙解锁次数的比例。q4、建立多个机器学习模型,并进行模型融合操作,用构建完特征的训练集去训练7个catboost模型:catboost模型分别对所述的基本信息特征、基础统计特征、时序特征、交叉特征进行特征选择,按照特征重要性排序,在基本信息特征中选取特征重要性大于0的特征,在基础统计特征中选取特征重要性大于10的特征,在时序特征中选取特征重要性大于0的特征,在交叉特征中选择特征重要性大于20的特征,catboost模型参数用默认参数乘以随机系数,系数范围为0.6~0.8,从而生成7个不同的catboost模型。这些catboost模型以stacking进行模型融合,用线性回归以七折交叉拟合每一折得到7个系数,以这7个系数的均值作为该catboost的融合系数作为stacking的第一层,再以这多个catboost模型进行训练,得到7个catboost的预测结果,将预测结果乘上各自的融合系数,求和得到最终概率。过程如下:①分别对7个模型调用线性回归得到每一折的预测结果:其中ym_npredict表示第m个模型第n折的预测结果,wm_n_z表示第m个模型的第n折的第z个线性回归系数:……②将7个模型的预测结果作为x,该训练集每一折的真实标签作为y,再次调用线性回归模型:③则7个模型最终的融合系数为:……通过已建立的模型,根据智能锁的基本信息数据、所记录的行为数据等,模型最终会输出智能锁异常的概率,通过五折交叉验证法,最终将异常概率大于0.65的定义为智能锁异常。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1