『酒店』机器学习在马蜂窝酒店聚合中的应用初探( 三 )

图片
下面是具体的分词效果展示如下:
图片
小结
分词解决了对比粒度太粗的缺点 , 现在我们大约有了 20 个对比维度 。 但对比规则、阈值怎么确定呢?
人工制定规则、阈值存在很多缺点 , 比如:
1.规则多变 。 20 个对比维度进行组合会出现 N 个规则 , 人工不可能全部覆盖这些规则;
2.人工制定阈值容易受「经验主义」先导 , 容易出现误判 。
3.所以 , 对比维度虽然丰富了 , 但规则制定的难度相对来说提升了 N 个数量级 。 机器学习的出现 , 正好可以弥补这个缺点 。 机器学习通过大量训练数据 , 从而学习到多变的规则 , 有效解决人基本无法完成的任务 。
下面我们来详细看下特征构建以及机器学习的过程 。
3.2 特征构建
我们花了很大的力气来模拟人的思维进行分词 , 其实也是为构建特征向量做准备 。
特征构建的过程其实也是模拟人思维的一个过程 , 目的是针对分词的结构化数据进行两两比对 , 将比对结果数字化以构造特征向量 , 为机器学习做准备 。
对于不同供应商 , 我们确定能拿到的数据主要包括酒店名称、地址、坐标经纬度 , 可能获得的数据还包括电话和邮箱 。
1.经过一系列数据调研 , 最终确定可用的数据为名称、地址、电话 , 主要是:因为
2.部分供应商经纬度坐标系有问题 , 精准度不高 , 因此我们暂不使用 , 但待聚合酒店距离限制在 5km 范围内;
3.邮箱覆盖率较低 , 暂不使用 。
4.要注意的是 , 名称、地址拓展对比维度主要基于其分词结果 , 但电话数据加入对比的话首先要进行电话数据格式的清洗 。
最终确定的特征向量大致如下 , 因为相似度算法比较简单 , 这里不再赘述:
图片
3.3 算法选择:决策树
判断酒店是否相同 , 很明显这是有监督的二分类问题 , 判断标准为:
有人工标注的训练集、验证集、测试集;
输入两家酒店 , 模型返回的结果只分为「相同」或「不同」两类情况 。
·
经过对多个现有成熟算法的对比 , 我们最终选择了决策树 , 核心思想是根据在不同 Feature 上的划分 , 最终得到决策树 。 每一次划分都向减小信息熵的方向进行 , 从而做到每一次划分都减少一次不确定性 。 这里摘录一张图片 , 方便大家理解:
图片
(图源:《机器学习西瓜书》)
3.3.1 Ada Boosting OR Gradient Boosting
具体的算法我们选择的是 Boosting 。 「三个臭皮匠 , 顶过诸葛亮」这句话是对 Boosting 很好的描述 。 Boosting 类似于专家会诊 , 一个人决策可能会有不确定性 , 可能会失误 , 但一群人最终决策产生的误差通常就会非常小 。
Boosting 一般以树模型作为基础 , 其分类目前主要为 Ada Boosting、Gradient Boosting 。 Ada Boosting初次得出来一个模型 , 存在无法拟合的点 , 然后对无法拟合的点提高权重 , 依次得到多个模型 。 得出来的多个模型 , 在预测的时候进行投票选择 。 如下图所示:
图片
Gradient Boosting 则是通过对前一个模型产生的错误由后一个模型去拟合 , 对于后一个模型产生的错误再由后面一个模型去拟合…然后依次叠加这些模型:
图片
一般来说 , Gradient Boosting 在工业界使用的更广泛 , 我们也以 Gradient Boosting 作为基础 。
推荐阅读
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- 机器人:青岛造运输机器人打败五家外企 成功进驻世界最大中转枢纽港
- 每日经济新闻咨询@联邦学习成人工智能新贵 腾讯安全:技术服务能力才是重点
- 「时间」iPhone se2这机器放在现在这个时间,真的有点奇怪
- #科技如梦#iPhone se2这机器放在现在这个时间,真的有点奇怪
- 【大数据】干货满满!2020版好程序员新电商大数据平台全套学习资料
- ##QQ 发布 8.3.3正式版:新增学习模式、分享屏幕等多个功能!
- [简科技简哥]QQ 发布 8.3.3正式版:新增学习模式、分享屏幕等多个功能!
- 『孩子』担心开学后孩子学习有问题?你需要TCL 85X6C电视来救场
- [机器人]从昆虫身上找灵感,研发人员用3D打印批量制造机器人群 | 硬科技
