Uber,改善机器学习中起着重要的作用在我们的应用程序的用户体验。鉴于我们的业务规模和范围,我们经常需要创造性地思考我们如何设计这些系统。矩阵,例如,当发展我们的合作伙伴活动的新工具基于聚合使用趋势个性化司机的经验,我们发现灵感在一个可视化的基因组的生物医学技术(基因biclustering)。
使用biclustering,我们可以想象司机合作模式的多样性表达每个合作伙伴的选择的驱动:例如,一个司机可能更喜欢工作日上班时间和休息中午;另一个可能更喜欢周末晚上,离开他们的工作一周的时间;和另一个可能更喜欢工作日下午当他们的孩子在学校。宇宙是无限的可能的驾驶模式,所以描述这种多样性紧凑但丰富的方式帮助我们改善这个超级体验所有司机伴侣偏好,不只是平均用例。
在本文中,我们介绍我们的合作伙伴活动矩阵,利用biclustering和机器学习的一个新工具,以更好地理解司机经验的多样性应用来帮助我们调整我们的产品的偏好。
引入超级的伙伴活动矩阵
想象这些模式的一个方法是通过所谓的“伴侣基因表达矩阵”或者更具体地说,合作伙伴活动矩阵。灵感来自一个类比的基因组基因表达的可视化是一个矩阵与每个基因对应一列,每个单独的一行,合作伙伴活动矩阵是一个矩阵中每一列对应于本周一分钟,每一行一个司机伙伴,与矩阵中的每个条目表示对方是否在线(1)或离线(0)。图1,下面显示了一个城市的合作伙伴活动矩阵一周期间,在线时间显示在白色和离线时间显示在黑色:
当一个城市的合作伙伴活动矩阵代表合作伙伴驾驶模式,它缺乏可解释性,很难直接使用。为了简化使用这个工具,我们需要一种更简单的方法来描述这些模式以及它们所代表的用户。
组织合作伙伴活动与biclustering矩阵
组织活动矩阵的一种方法,使他们更可说明的是使用机器学习技术称为光谱biclustering。在基因组学,biclustering集群的行和列基因表达矩阵,确定集群的基因和个人,类似。个体在每个集群倾向于表达相同的基因集群,每个集群和基因表达的往往是同一集群的个体。如果我们洗牌的基因表达矩阵的行,个人在同一集群相邻,洗牌列以同样的方式,然后打乱矩阵有一个方格的棋盘的棋盘图块约为恒定值。
我们使用这个方法来同时集群行(合作伙伴)和列(周)的合作伙伴活动矩阵来识别集群伙伴共同喜好什么时候开车和集群的周次相同同时首选的合作伙伴。我们使用的集群伙伴快速理解调整超级平台将如何影响司机以不同的方式使用这个平台,和设计变化,将整个频谱的使用是有益的。而不是看的估计影响变化对每个司机的伴侣,这是一个非常嘈杂的和费时的过程,我们可以看看每个集群的影响。这是我们主要使用biclustering,尽管集群的时间也有助于改善我们的一些其他的计算和统计效率算法通过提供有意义的时间聚合,可以单独使用,而不是把每小时。
光谱biclustering倾向于创造更多准确的司机集群伙伴比传统单向聚类方法k - means因为分组的时候周和测量司机伙伴的相似性对聚合行为在这几个小时时间,而不是几天的个人时间,容易让集群更健壮的噪音和更多的解释。光谱biclustering项目描述小时当每个合作伙伴的高维向量驱动简洁的低维驾驶模式然后集群驱动程序使用这些开采模式。相比之下,k - means集群高维向量,可以直接误导了无关紧要的差异。
在我们的下一节中,我们介绍了算法用于实现这种强大的技术。
应用光谱biclustering算法
光谱biclustering算法是基于线性代数的技巧奇异值分解(计算)。这种技术分解一个矩阵,一个,这对我们将是我们的合作伙伴活动矩阵表达式n合作伙伴和d小时的周(我们会有n > d)的总和分钟(n、d) = d特殊的矩阵。这些特殊矩阵,建立索引k,都写成
在哪里
和
是单位长度(即的列向量。,they describe line segments with length one) withd和n组件分别和
是一个非负的数字。同时,
正交于
(他们描述垂直的线段)
正交于
当k不同于
。总结这一个方程,我们定义我们的合作伙伴活动矩阵方程1,如下:

光谱biclustering认为k索引的一些潜在的“驾驶模式。“向量
,一个组件的每小时一周,通常描述了驱动模式k将在每小时开车。数量
尺度的小时数上下对于整个模式,这是必要的,因为
是限制长度。
下面的图2说明了通过矩阵驱动模式
,强调了在黑暗的时代更加推动了灰色:
例如,第一种模式对应于驾驶在早上高峰时间在工作日;第三种模式对应于周四到周六在下午和晚上开车。图2还显示了我们可以总结驱动相结合的模式
向量成一个更大的矩阵
,模式id (k)索引的行和小时一周,以便每个索引的列
消耗了一行。
向量
司机的每一方都有一个组件,描述每个司机遵循驾驶模式的程度k。如果
组件有一个较大的值对应于一个司机,那司机驱动器在指定的所有小时驾驶模式吗k,也可以开车在小时由其他驾驶模式。如果
有一个值接近于0,司机不开车驾驶模式。
我们结合
向量在一起成一个矩阵U,与合作伙伴索引行和模式id索引的列,并且每个
消费一列。我们称这个矩阵的条目“权重”,因为他们显示有多少司机的开车时间是由一个特定的驾驶模式。它是有用的考虑一行在这个矩阵,对应于一个伙伴:这个行向量描述了模式之后,这个驱动程序。图3说明了这两个例子。时间由合作伙伴j从图2混合模式2和3,表明这个伙伴驱动中间的天在整个星期,周四晚上,周五和周六。
总而言之,圣言会允许我们写合作伙伴活动矩阵一个作为一个矩阵
,每一个都描述了一个驾驶司机伙伴表达的模式是整个星期。
当以这种方式理解,
表明一个驾驶模式的重要性。自
和
单位向量,向量的每个组件不能有绝对值大于1和驾驶模式的贡献
活动矩阵不能,除非有重要的影响
很大。
利用这种洞察力,光谱biclustering订单模式idk在降低的顺序
这样更重要的驾驶模式有较小的模式id。然后我们选择一个模式的数量K远小于整个号码d由圣言,这样我们只包括重要的模式。这给了我们一个近似
活动矩阵方程(2):

这是一个“低等级”近似,因为它接近一个,这是一个rank-d矩阵,矩阵的秩K<d。
下面的图4描述了活动的过程分解矩阵,然后用矩阵近似只包含最重要的模式:
在图4中,圣言会分解伙伴活动矩阵分成三个矩阵,U,
,
。矩阵U描述每个司机合作伙伴遵循驾驶模式,即模式权重。对角矩阵∑表示每个检测模式的重要性。中存储的模式矩阵
。通过保持第一K最重要的模式(在黑暗的灰色突出显示),我们获得一个低秩矩阵近似原始的活动,抓住重要的信号。
图4在第一行写方程1更紧凑的形式,
,使用矩阵乘法和矩阵U和
前面介绍和一个额外的矩形对角矩阵
,
沿着对角线和0值。然后写方程2类似的形式
在哪里
是第一个K列
,是第一个K行和列的
,
是第一个K行
。
光谱biclustering包含一个额外的步骤来简化这个矩阵低秩伙伴活动
。这个额外的步骤考虑矩阵的行
:每一行对应一个司机伴侣,包含,为每一个重要的模式,显示多少重量,合作方负责根据模式。我们集团司机合作伙伴一起k - means聚类,这样在每一组中,或集群,司机也有类似的权重序列。
我们可以慢慢的行
这司机在同一组相邻行,如图5所示,如下:
我们也可以执行类似的k - means聚类列
生产组织同样小时同时首选的合作伙伴。重组这些列(一周时间)小时在同一集群相邻的显示模式类似于图5所示。如果我们愿意,我们可以把打乱的笛卡儿积
和
矩阵和
重建的一个版本
的行和列。这个打乱
矩阵展览一个棋盘结构块约常数项。
光谱biclustering是大量SVD-based biclustering方法。例如,方法如RoBic和Sparse-SVD提取模式顺序:他们首先找到一个棋盘模式使用最好的1级计算近似;然后提取后续模式从先前确定的剩余矩阵获得的删除顺序模式。因此,虽然光谱biclustering适用于集群司机伙伴如下所述,大量的额外的创新是可能的。
接下来,我们描述我们的结果应用光谱biclustering理解司机合作伙伴在一个主要城市,从而使我们能够定制基于这些模式,提高用户体验。
结果
检查驾驶模式密切使用光谱biclustering强调区分工作日和周末活动。下面的图6和图7想象一个著名集群光谱biclustering提供的司机合作伙伴。这些合作伙伴定期开车6小时之间的点和下午6点在工作日和周末经常在同一时间,减少更多的时间驱动的周六和周日。白天我们称之为集群伙伴”的司机。”下面的图6显示了这些伙伴的合作伙伴活动矩阵中的行,白色表示一个小时在线合作伙伴时:
图7显示了峰值对应在工作日早晚高峰时段,与早上高峰期更突出,在周末中午和平滑和小峰:
图8和9、下面描述的另一个突出的集群司机合作伙伴。这些合作伙伴夜间驾驶,一般6点左右开始和停止在午夜到凌晨3点。
上面的图就是明证,我们的合作伙伴活动矩阵很容易确定司机的偏好在一定人群。例如,周一到周五晚上在开车的司机下午6点开始迅速骑手下班回家,展出的第一高峰的司机这个时候在线;周六和周日,第一个峰值发生晚上7:00。,对应于乘客晚上出去嗨了。周日到周四晚上,午夜后网上司机的分数大幅度下降的大多数乘客已经回家了晚上,虽然在周五和周六晚上活动并不减少,直到下午2点和3点之间。
这种对比工作日和周末司机伙伴活动揭示了超级的司机合作伙伴支持骑士和城市提供了方便和安全的交通在傍晚下班,晚上从餐馆和酒吧后回家。
我们的合作伙伴活动的潜在矩阵
合作伙伴活动矩阵用例如上图所示只是我们的机器学习的一个快照团队正在做来提高应用效率,性能,而且,最重要的是,用户体验。
使用我们的合作伙伴活动矩阵,光谱biclustering也揭示了其他知名合作伙伴集群:
- 合作伙伴,在早上高峰时间开车
- 伙伴驱动主要在周二、周三和周五上午高峰
- 合作伙伴,中午开始驾驶
- 合作伙伴,最常见的工作日晚上高峰时间从下午4点开始,到晚上
这些集群给超级更多了解司机合作伙伴使用平台通过提供一个易于理解的分类这些不同类型的使用,进而方便我们改进我们的产品对于司机和乘客。
如果使用数据科学工程师更神奇的超级体验司机你感兴趣,可以考虑申请角色在我们的团队!
清峰和彼得·弗雷泽数据科学家在超级市场优化数据科学团队。彼得也是运筹学的副教授和康奈尔大学信息工程。雷竞技是骗人的
引用
[1]克鲁格,Y。Basri, R。,Chang, J. T., & Gerstein, M. (2003).基因微阵列数据的光谱biclustering: coclustering和条件。基因组研究,1雷竞技是骗人的3 (4),703 - 716。
[2]Asgarian, N。,& Greiner, R. (2006).使用1级biclusters对微阵列数据进行分类。计算机科学部门加拿大,阿尔伯塔大学,埃德蒙顿,AB。
[3]Lee M。沈,H。,Huang, J. Z., & Marron, J. S. (2010).通过稀疏Biclustering奇异值分解。生物识别技术,66 (4),1087 - 1095。






