经典WWH:算法
WHAT?网络
什么是机器学习?架构
机器学习有不少定义,广为人知的有以下两条:并发
ArthurSamuel (1959): Machine Learning: Field of study that gives computers theability to learn without being explicitly programmed.机器学习
TomMitchell (1998) : Well-posed Learning Problem: A computer program is said tolearn from experience E with respect to some task T and some performance measureP, if its performance on T, as measured by P, improves with experience E.工具
WHY?性能
为何要机器学习学习
机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,从新组织已有的知识结构使之不断改善自身的性能。机器学习的应用很普遍,例如大规模的数据挖掘(网页点击数据,医疗记录等),无人驾驶飞机、汽车,手写手别,大多数的天然语言处理任务,计算机视觉,推荐系统等。测试
HOW?优化
怎样实践机器学习
监督学习
对具备概念标记(分类)的训练样本进行学习,以尽量对训练样本集外的数据进行标记(分类)预测。这里,全部的标记(分类)是已知的。所以,训练样本的岐义性低。监督学习是训练神经网络和决策树的最多见技术。这两种技术(神经网络和决策树)高度依赖于事先肯定的分类系统给出的信息。
无监督学习
对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。这里,全部的标记(分类)是未知的。所以,训练样本的岐义性高。常见的无监督学习算法有聚类。
注意: 由于工做只会涉及监督学习, 因此后面内容再也不陈述无监督学习部分.
监督学习实践阶段:
监督学习实践能够归纳成5个阶段:
业务需求
一句话,怎样帮业务解决问题?
模型选型
根据理解选择或设计(没有现成)学习模型, 并从理论层面论证可以解决问题.
最佳实践: 在选型论证阶段明确模型训练的输入输出与模型应用的输入输出
模型训练的标签数据: 须要明确辨别正负样本的数据.
模型训练的特征数据: 特征数据有high-level与low-level之分. 就重避轻, 选择更多high-level的特征, 减小low-level的特征, 可以加速模型训练的速度. 特别是在计算资源不充裕的状况下, 这种作法很实在.
模型应用的调用参数: 模型计算传递哪些必需参数, 哪些可选参数?
模型应用的输出结果: 模型计算返回哪些数据, 什么意义, 什么类型?
明确模型训练与模型应用的输入输出, 对于模型开发具备确切的指导!
模型开发
名言: 数据和特征决定机器学习上限, 算法和模型只是逼近这个上限而已.
模型开发的工做都是围绕"数据和特征","算法和模型"这2个核心开展的!
创建数据通道的工做
难点系数4:
训练样本的数据筛选,数据投放与数据回笼, 依赖打通全链路的数据通道.
处理样本(标签数据,特征数据)的工做
难点系数2~3: 须要熟悉样本数据的业务知识. 哪里来! 哪里去!
处理特征的工做
处理特征过程涉及各种特征算法, 习惯上叫特征工程.
难点系数4: 大多数工程选用成熟开源机器学习工具库.
设计与实现算法
难点系数5: 大多数工程选用成熟开源机器学习算法.
构建与优化模型
难点系数5: 大多数工程选用成熟开源机器学习模型.
测试与上线模型
难点系数3: 在线接口要求高可用,大并发,低延时. 大多数工程基于水平扩展架构(堆叠Nginx+Regin).
模型训练
监督学习闭环图
模型评估指标:
对于样本筛选后的结果:
T | F | |
---|---|---|
P | (PT) | (PF) |
N | (NT) | (NF) |
A = (PT + NF) / (PT + PF + NT + NF) 即将正例的断定为正,负例的断定为负.
R = PT / (PT + NF) = 1 - NF / (PT + NF) 即断定正例占所有正例的比重.
P = PT / (PT + PF)
F = 2 * A * R / (A + R) 传统所说的F1-measure
模型应用
详见上
机器学习通过模型训练的(算法,模型,特征)应用于业务需求, 帮助业务解决问题
机器学习通过N次迭代,反复模型训练, 沉湎的(算法,模型,特征)会愈来愈成熟, 帮助业务解决问题的能力也愈来愈强. 然而, 这是一个动态的成长历程!
每一个样例一行,包含3类数据:
标签数据:
tag_为前缀的列
用户特征数据:
usr_为前缀的列
主播特征数据:
anc_为前缀的列
维护注意事项:
字段 | 类型 | 注释 | 来源表 |
---|---|---|---|
tag_viewclick | BIGINT | 曝光点击数.正例值大于0,负例值为空或=0 | |
usr_特征1 | |||
... | |||
anc_特征1 | |||
... |
使用"曝光点击数据"对"个性推荐模型"进行模型训练.
训练样本的样例格式, 其中点击数为标签.
资源位,用户ID,用户特征....,主播ID,主播特征..., 点击数