这是我参与「第四届青训营」笔记创作活动的第18天
0 引言
本文是青训营最后三节课(第18/19/20次课程)的笔记,记录一下个人比较关注的地方。
1 实时数据中心建设思路与企业实践
企业数据架构:
数据集成(业务数据集成CDC/Log、存储系统间数据传输):
数据流向:业务数据库(client/server log)->数据系统
数据生产-离线实时:
数据流向:原始数据->数据处理pipeline
数据服务:
数据流向:数据系统->业务系统
计算架构:开发效率(Lambda架构->全量计算:一套开发任务)
数据源获取:全量能力-Hybrid Source(逻辑全量表,hive+kafka,成熟存储方案)
计算:正确、效率,核心是算子选择+优化
正确:处理更新/重复:rownumber+retract机制、乱序:join reorder
效率:时效性换效率-Minibatch (聚合、join)
质量:稳定性监控、数据监控
数据服务框架:
2 用户行为数据分析理论与最佳实践
数据分析全景图:
埋点简介
埋点(数据)是指:上报的记录着触发原因和状态信息的日志数据。按照上报方来看,可以划分为“服务端埋点”和“客户端埋点”按照上报形式,可以划分为“代码埋点”、“可视化全埋点”。
埋点包含要素:who when where how what how much。“张三”于“北京时间2022年1月2号12点整”在“游戏商城"用“xx支付”的形式“充值”了“500元”钻石。
埋点地点:在要做数据分析的环节来埋点。
常见分析工具:Excel、SQL、编程、可视化查询、人群圈选、行为分析、波动归因分析、BI定制报表
指标是数据的量化统计(样本),维度是数据分组的方式(特征)。
分析流程
分析思路
数据分析常见的问题
- 上游数据质量不高
- 不验证就全量上线
- 优化策略短期有利而长期有损
- 过分挖掘用户信息,不注重用户隐私保护
人工智能:个性化推荐、机器翻译、人脸识别...
大数据:数据多、产生快、形式杂、组织乱...
解决实际的业务决策问题:数据价值
机器学习标准流程:
原始数据 -> 数据探测 -> 特征工程 -> 构建数据集 -> 建模调参 -> 模型评估
机器学习算法分类:
- 监督/非监督学习:取决于训练是否需要人类的监督
- 批量/在线学习:取决于系统是否能持续地从数据流中学习并更新
- 基于实例模型学习:取决于系统是直接把新数据与旧数据比较,还是通过建模来预测
机器学习面临的挑战(糟糕的算法和数据):
算法的问题主要有:过拟合(Overfitting)、欠拟合(Underfitting)
数据的问题表现:训练数据太少、训练数据不具备代表性、数据本身质量很差、选取的特征没有相关性
在大数据场景下,对资源的要求非常高,比如存储和算力
特征工程
定义:特征工程是将原始数据转化成更好的表达问题本质的特征的过程
意义:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
特征工程流程:
数据理解 -> 数据预处理 -> 特征构造 -> 特征选择
Embedding
Embedding简介:即嵌入,起先源自于NLP领域,称为「词嵌入(word embedding)」,主要是利用背景信息构建词汇的分布式表示,最终可以得到一种词的向量化表达,即用一个抽象的稠密向量来表征一个词。
直观上看embedding相当于是对oneHot做了平滑,而oneHot相当于是对embedding做了maxpooling。
Embedding意义作用:
- 解决维度灾难,降低复杂度
- 解决稀疏容易造成的梯度消失的问题
- 增加语义信息,能够很好地挖掘嵌入实体间的内部关联
Embedding应用场景:
- 在深度学习网络中作为Embedding层
- 作为预训练的Embedding 特征向量
- Embedding可以直接作为推荐系统或计算广告系统的召回层或者召回方法之一
聚类算法
聚类算法是一种无监督的机器学习算法。在给定的数据集中,我们可以通过聚类算法将具有相似特征的数据分成一组,不相似特征的数据分成不同组。(K-means、DBSCAN、层次聚类)
应用场景:指标波动场景、精细化运营、PMF (Product-Market Fit)
K-means讲解
- 首先,我们确定要聚类的数量,并随机初始化它们各自的中心点;
- 通过计算当前点与每个簇中心之间的距离,将每个数据点归到与之距离最近的中心的簇中;
- 基于迭代后的结果,计算每一簇内,所有点的平均值,作为新簇中心;
- 迭代重复这些步骤,或者直到簇中心在迭代之间变化不大。
聚类用户画像分析
3 大数据可视化理论与案例分析
可视化流程:
Abstract Data -> Visualization Design -> Rendering and Display -> Interactivity
编码有效性:
邻近原则(proximity)
相似原则(similarity)
连通性原则(Element Connectedness)
连续性原则(Good continuation)
封闭的原则(closure)
共同命运原则(common fate)
案例:
过多的分类会使得饼图的视觉效果趋于混乱,如果使用柱形图来显示,分类之间的对比就会明显很多。
非0基线造成的数据扭曲。
使用累积数据而不是年份数据,造成数据逐年攀升的假象。