这是我参与「第四届青训营 」笔记创作活动的第14天
机器学习概览
1.为什么要机器学习
- 人工智能时代已经到来:个性化推荐、机器翻译、人脸识别......
- 大数据成为热议的内容:数据多、产生快、形式杂、组织乱
- 解决实际的业务决策问题:数据价值
2.什么是机器学习
Machine Learning is the field of study that gives computers the ability to learn without being explicitlyprogrammed. -- Arthur Samuel,1959
- 机器学习就是把无序的数据转换为有用的信息
- 从数据中自动分析获得模型,并利用模型对未知数据进行预测
3.机器学习的算法
机器学习有非常多的种类及相应的算法,主要可以分成三大类:
- 监督/非监督学习--取决于训练是否需要人类的监督
- 批量/在线学习--取决于系统是否能持续地从数据流中学习并更新
- 基于实例模型学习--取决于系统是直接把新数据与旧数据比较,还是通过建模来预测
4.机器学习面临的挑战
在机器学习中,面临的挑战主要来自两大模块:糟糕的算法和糟糕的数据。
- 算法的问题主要有以下两种:
- 过拟合(Overfitting)
- 欠拟合(Underfitting)
- 数据的问题具体表现为:
- 训练数据太少
- 训练数据不具备代表性
- 数据本身质量很差
- 选取的特征没有相关性 在大数据场景下,对资源的要求非常高,比如存储和算力。
特征工程
1.什么是特征工程
- 定义:特征工程是将原始数据转化成更好的表达问题本质的特征的过程。
- 意义:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
创造新的特征是一件非常困难的事情,需要丰富的专业知识和大量的时间。 机器学习的本质本质就是特征工程。 -- Andrew Ng
2.特征工程处理流程
3.Embedding
什么是Embedding
- Embedding,即嵌入,起先源自于NLP领域,称为「词嵌入(word embedding) 」,主要是利用背景信息构建词汇的分布式表示,最终可以得到一种词的向量化表达,即用一个抽象的稠密向量来表征一个词。
- 直观上看embedding相当于是对oneHot做了平滑,而oneHot相当于是对embedding 做了maxpooling。
Embedding产生过程
Embedding作用
- 解决维度灾难,降低复杂度。
- 解决稀疏容易造成的梯度消失的问题
- 增加语义信息,能够很好地挖掘嵌入实体间的内部关联
Embedding应用场景
- 在深度学习网络中作为Embedding层
- 作为预训练的Embedding特征向量
- Embedding 可以直接作为推荐系统或计算广告系统的召回层或者召回方法之一
聚类算法
什么是聚类
聚类算法是一种无监督的机器学习算法。在给定的数据集中,我们可以通过聚类算法将具有相似特征的数据分成一组,不相似特征的数据分成不同组。
常用聚类特征
- 人口属性:性别、年龄、地域等等
- 常用指标:活跃度、时长、消费次数等等
- 消费偏好:用户使用不同功能的时长占比、点击占比,每天进入该app的启动方式等等
聚类算法分类
应用场景
- 指标波动场景
- 精细化运营
- PMF (Product-Market Fit)
K-means
算法步骤
- 首先,我们确定要聚类的数量,并随机初始化它们各自的中心点。
- 通过计算当前点与每个簇中心之间的距离,将每个数据点归到与之距离最近的中心的簇中。
- 基于迭代后的结果,计算每一簇内,所有点的平均值,作为新簇中心。
- 迭代重复这些步骤,或者直到簇中心在迭代之间变化不大。
聚类画像分析
一个基于聚类的用户画像分析工具,以对用户群体进行标注及定位
- 洞察群体用户在站内的消费、投稿内容生态情况
- 研究用户与内容的关系和演变,理解业务增长的变化,制定用户与内容的增长策略。
流程
样本选定
向量获取
选择Embedding作为聚类算法特征的依据:
- 具有用户行为的语义特征,能学习到用户行为数据之间的关联
- 离线分析用到线上推荐特征,可作为线上推荐效果的debug工具,反映其效果好坏
聚类算法
选择K-means算法作为分群的依据:
- 用户推荐向量满足凸优化函数求解问题
- 算法的复杂度、数据量、以及机器资源的trade-off
- 可理解性和算法稳定性
cluster level可视化分析
核心指标层面可分为:
- 定性指标:从内容角度理解cluster人群偏好的兴趣,比如Top播放视频、Top收藏视频、投稿的随机抽样、词云、头像等
- 定量指标:从数量角度理解cluster人群的具体表现,优劣情况比如年龄/性别/操作系统的数量分布,视频播放次数、视频完播次数、分享/评论/点赞/收藏率、活跃天数留存率等
应用场景
- 用户群体的兴趣偏好,帮助理解站内人群的结构
- 内容消费情况,帮助理解哪些内容更受欢迎
- 发现核心群体,基于其喜欢的内容,制定增长策略