发明内容
本发明的目的在于提供一种基于梯度提升树的汽车定速巡航推荐方法。
为达此目的,本发明采用以下技术方案:
提供一种基于梯度提升树的汽车定速巡航推荐方法,包括一预先生成定速巡航推荐模型的过程,具体包括以下步骤:
步骤A1,获取汽车的行驶数据;
步骤A2,对所述行驶数据进行数据预处理,得到经数据预处理后的预处理行驶数据;
步骤A3,以所述预处理行驶数据作为梯度提升树网络的输入,训练形成一定速巡航推荐模型并存储;
还包括一汽车定速巡航推荐方法,具体包括以下步骤:
步骤S1,获取汽车关联的实时数据;
所述实时数据包括若干子类别数据;
步骤S2,根据预设规则分别对各所述子类别数据进行强规则过滤:
若所述子类别数据满足所述预设规则,则转向步骤S3;
若所述子类别数据不满足所述预设规则,则生成相应的第一控制指令,以控制所述汽车不开启定速巡航功能,随后返回所述步骤S1;
步骤S3,将所述步骤S1中获取的所述实时数据输入所述定速巡航推荐模型中进行预测,得到开启所述定速巡航功能的预测概率值;
步骤S4,在所述预测概率值表示当前适合开启定速巡航功能时生成相应的第二控制指令,以控制所述汽车自动开启所述定速巡航功能,以及在所述预测概率值表示当前不适合开启定速巡航时生成相应的第三控制指令,以控制所述所述汽车不开启所述定速巡航功能。
作为本发明的一种优选方案,所述数据预处理包括对所述行驶数据进行数据清洗,和/或特征筛选,和/或归一化。
作为本发明的一种优选方案,所述巡航推荐模型的训练过程中,采用对数似然损失函数表征预测概率值与真实概率值之间的差值。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为当前驾驶时间,则所述预设规则为预设时间段;
所述当前驾驶时间不在所述预设时间段内,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为当前天气数据,则所述预设规则为预设天气条件;
所述当前天气数据不满足所述预设天气条件,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为当前路况数据,则所述预设规则为预设路况条件;
所述当前路况数据不满足所述预设路况条件,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为当前车速,则所述预设规则为预设车速范围;
所述当前车速不在所述预设车速范围内,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为所述汽车的防抱死制动系统的当前激活状态,则所述预设规则为未被激活状态;
所述当前激活状态不为所述未被激活状态,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为所述汽车的制动踏板的当前状态数据,则所述预设规则为故障状态;
所述当前状态数据为所述故障状态,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
作为本发明的一种优选方案,所述步骤S2中,所述子类别数据为连续行驶状态,则所述预设规则为连续行驶条件;
所述连续行驶状态不满足所述连续行驶条件,则生成相应的所述第一控制指令,以控制所述汽车不开启定速巡航功能。
本发明的有益效果:
1)采用梯度提升树进行汽车定速巡航功能的开启推荐预测,预测精度高;
2)采用将经验强规则与梯度提升树相结合,有效增强训练得到的定速巡航推荐模型的稳定性和鲁棒性,使得汽车定速巡航功能的开启推荐具有更高的安全性和稳定性。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
针对现有技术中存在的技术问题,本发明提供一种基于梯度提升树的汽车定速巡航推荐方法,包括一预先生成定速巡航推荐模型的过程,如图1所示,具体包括以下步骤:
步骤A1,获取汽车的行驶数据;
步骤A2,对行驶数据进行数据预处理,得到经数据预处理后的预处理行驶数据;
步骤A3,以预处理行驶数据作为梯度提升树网络的输入,训练形成一定速巡航推荐模型并存储;
还包括一汽车定速巡航推荐方法,如图2所示,具体包括以下步骤:
步骤S1,获取汽车关联的实时数据;
实时数据包括若干子类别数据;
步骤S2,根据预设规则分别对各子类别数据进行强规则过滤:
若子类别数据满足预设规则,则转向步骤S3;
若子类别数据不满足预设规则,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能,随后返回步骤S1;
步骤S3,将步骤S1中获取的实时数据输入定速巡航推荐模型中进行预测,得到开启定速巡航功能的预测概率值;
步骤S4,在预测概率值表示当前适合开启定速巡航功能时生成相应的第二控制指令,以控制汽车自动开启定速巡航功能,以及在预测概率值表示当前不适合开启定速巡航时生成相应的第三控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,本发明采用梯度提升树对汽车的实时行驶数据进行分类预测,预测精度较高。因为我们拿到的汽车的实时行驶数据,相比于其他金融、互联网等数据,维数要低很多,而梯度提升树对低维数据存在优势,再者梯度提升树能够处理非线性数据,能够处理各种类型的数据,包括连续值、离散值,同时梯度提升树的损失函数可以选择健壮的函数,能够增强异常值的鲁棒性。上述损失函数包括但不限于0-1损失函数、指数损失函数、log损失函数、均方损失函数和偏差损失函数,本发明优选采用log损失函数。
上述梯度提升树(Gradient Boosting Tree,GBT)属于集成学习Boosting(提升方法)家族。但是梯度提升树却和传统的Adaboost(自适应提升算法)有很大的不同。Adaboost(自适应提升算法)是利用前一轮迭代弱学习器的误差率来更新训练集的权重,然后再一轮轮地迭代下去。梯度提升树也是迭代,它使用了前向分布算法,但是弱学习器限定了只能使用CART回归树模型(分类回归树模型),同时迭代思路和Adaboost(自适应提升算法)也有所不同。在梯度提升树的迭代中,假设我们前一轮迭代得到的强学习器是ft-1(x),损失函数是L(y,ft-1(x)),我们本轮迭代的目标是找到一个CART回归树模型(分类回归树模型)的弱学习器ht(x),让本轮的损失函数L(y,ft(x))=L(y,ft-1(x))+ht(x)最小,即是本轮迭代找到的决策树需要使样本的损失尽量变得更小。上述x用于表示梯度提升树的输入数据,上述t用于表示训练过程中的迭代次数,上述y用于表示输入数据的真实标签,上述损失函数用于表征真实标签与预测标签之间的差值。
本实施例中,本发明对于定速巡航的开启推荐,其实是一个二分类问题,基于推荐车辆的历史数据作出适合开启和不适合开启的类别预测,本发明采用梯度提升树分类算法进行上述类别预测。梯度提升树的分类算法和梯度提升树的回归算法本质上是一样的,但样本的预测输出并不是连续值,而是离散类别,因此我们无法直接从输出类别拟合类的输出误差。
本发明为了解决上述无法直接从输出类别拟合类的输出误差的问题,采用类似于逻辑回归的对数似然损失函数的方法。也就是说,本发明用的是类别的预测概率值和真实概率值的差来拟合损失。对于二元分类的梯度提升树算法,本发明采用类似于逻辑回归的对数似然损失函数,则损失函数为:
L(y,f(x))=log(1+exp(-y·f(x)))
其中y∈{-1,+1},此时的负梯度误差为:
对于生成的决策树,我们各个叶子节点的最佳负梯度拟合值为
上述x用于表示梯度提升树的输入数据,上述t用于表示训练过程中的迭代次数,上述y用于表示输入数据的真实标签,上述i用于表示梯度提升树的节点。
进一步地,本发明提出将经验强规则和梯度提升树分类算法相结合,以增强定速巡航推荐模型的稳定性和鲁棒性。具体地,虽然梯度提升树分类算法有较强的稳定性和鲁棒性,但定速巡航推荐关乎到人身安全,必须做到绝对高的安全系数,所以本发明加入了经验规则进行强过滤,确保推荐开启的定速巡航功能的汽车满足众多硬性条件,确保推荐结果不影响到驾驶安全,因此本发明的推荐方法具有更高、更强的安全性和稳定性。
上述将经验强规则和梯度提升树分类算法相结合的具体原理为:根据当前状态确定是否开启定速巡航推荐为目的,在定速巡航推荐模型的训练阶段,将ACC(定速巡航)状态作为标签进行有监督学习。目前的行驶数据有经度、纬度、时间、车速、车辆里程、车内温度、车门状态、剩余油量、刹车踏板状态、档位、后备箱状态、雨刮器状态、转向角度、ACC(定速巡航)状态。其中比较适合作为特征的数据为车速。天气、路况等需要从高德应用程序接口获取,无法作为训练特征,所以本发明将其作为预测时的经验强规则。
如图3所示,首先实时提取出一辆车的实时数据,先进行经验强规则过滤,再利用梯度提升树(Gradient Boosting Tree,GBT)判断是否适合开启定速巡航功能。具体地,在上述实时数据不满足预设规则时,不进入梯度提升树分类算法的预测,直接生成第一控制指令,以控制汽车不开启定速巡航功能;在上述实时数据满足预设规则时,进入梯度提升树分类算法的预测,根据预测结果确定是否控制汽车自动开启定速巡航功能。
作为本发明的一种优选方案,数据预处理包括对行驶数据进行数据清洗,和/或特征筛选,和/或归一化。
作为本发明的一种优选方案,巡航推荐模型的训练过程中,采用对数似然损失函数表征预测概率值与真实概率值之间的差值。
作为本发明的一种优选方案,步骤S2中,子类别数据为当前驾驶时间,则预设规则为预设时间段;
当前驾驶时间不在预设时间段内,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,上述预设时间段优选为上午的七点三十分到下午的十七点三十分钟,共十个小时。当前驾驶时间不在上述预设时间段内,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能;当前驾驶时间在上述预设时间段内,则将实时数据输入巡航推荐模型进行进一步预测。上述当前驾驶时间优选由高德地图的应用程序接口调用,更为优选每次调用上述当前驾驶时间的间隔大于半小时。
作为本发明的一种优选方案,步骤S2中,子类别数据为当前天气数据,则预设规则为预设天气条件;
当前天气数据不满足预设天气条件,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,上述预设天气条件优选为晴天,或多云,或阴天,且风力等级不大于三级。举例来说,当前天气数据为晴天且风力等级不大于三级时,将实时数据输入巡航推荐模型进行进一步预测;当前天气数据为晴天且风力等级大于三级时,控制汽车不开启定速巡航功能以保证安全;当前天气数据为雨天且风力等级不大于三级时,控制汽车不开启定速巡航功能以保证安全;以此类推,此处不再赘述。上述当前天气数据优选由高德地图的应用程序接口调用。
作为本发明的一种优选方案,步骤S2中,子类别数据为当前路况数据,则预设规则为预设路况条件;
当前路况数据不满足预设路况条件,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,上述预设路况条件为高速公路且路况良好路段,当前路况数据满足上述预设路况条件,则将实时数据输入巡航推荐模型进行进一步预测;当前路况数据不满足上述预设路况条件,则控制汽车不开启定速巡航功能。上述当前路况数据优选由高德地图的应用程序接口调用。
作为本发明的一种优选方案,步骤S2中,子类别数据为当前车速,则预设规则为预设车速范围;
当前车速不在预设车速范围内,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,上述预设车速范围为30公里每小时至150公里每小时,当前车速在上述车速范围内,则将实时数据输入巡航推荐模型进行进一步预测;当前车速不在上述车速范围内,则控制汽车不开启定速巡航功能。
作为本发明的一种优选方案,步骤S2中,子类别数据为汽车的防抱死制动系统的当前激活状态,则预设规则为未被激活状态;
当前激活状态不为未被激活状态,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,在防抱死制动系统当前处于激活状态时,控制汽车不开启定速巡航功能,在防抱死制动系统当前处于未激活状态时,则将实时数据输入巡航推荐模型进行进一步预测。
作为本发明的一种优选方案,步骤S2中,子类别数据为汽车的制动踏板的当前状态数据,则预设规则为故障状态;
当前状态数据为故障状态,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,在制动踏板当前处于故障状态时,控制汽车不开启定速巡航功能,在制动踏板当前处于无故障状态时,则将实时数据输入巡航推荐模型进行进一步预测。
作为本发明的一种优选方案,步骤S2中,子类别数据为连续行驶状态,则预设规则为连续行驶条件;
连续行驶状态不满足连续行驶条件,则生成相应的第一控制指令,以控制汽车不开启定速巡航功能。
具体地,本实施例中,上述连续行驶条件为连续三分钟速度保持在60公里每小时以上,即连续行驶数据不满足上述连续行驶条件时,控制汽车不开启定速巡航功能,在连续行驶数据满足上述连续行驶条件时,则将实时数据输入巡航推荐模型进行进一步预测。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。