• 特征管理
    • 特征元数据注册
      • 特征视图、特征集、特征
      • 数据源信息: 离线数据库、表名称等
      • 存储引擎信息: 引擎类型、机房、IP等
      • 存储格式信息: Key字段、Value字段等
      • 特征更新信息: 更新周期、分区字段、分区方式等
    • 元数据与存储系统打通(如 hive表,Redis 等)
    • 离线特征可视化(类似于 hue
    • 在线特征可视化
  • 特征生产(挖掘)
    • 离线特征生产
      • 离线数据源: BI Hive 表
      • 离线计算引擎: Hadoop / Spark
    • 实时特征生产
      • 实时数据源
        • 实时行为日志上报
        • DB binlog 实时解析和推送
      • 实时计算引擎: Strom / Flink
      • 实时特征挖掘
        • 固定时间窗口,时间窗口的起止时间点是固定的,比如某日的销售额。
        • 滑动时间窗口,时间窗口的长度是固定的,但起止时间点一直在向前滚动,比如近2小时销售额。
        • 无限时间窗口,时间窗口的起点是固定的,但终止时间点一直在向前滚动,比如商家历史上销售总额。
  • 特征存储
    • 离线特征存储
      • Hive表
      • 命名规范
      • 存储格式
        • 按列存储
        • 打包存储: PB/JSON
      • 元信息
    • 在线特征存储
      • KV: Redis (Anna) / Aerospike / Tair
      • CKV: HBase / Cassandra (Scylladb)
      • 分层存储
      • 压缩
      • 存储格式
        • 按列存储
        • 打包存储: PB/JSON
        • 特征信息
          • name
          • value
          • timestamp
          • ttl
          • confidence(置信度)
  • 特征上线/更新
    • 单模型特征按需上线
    • 特征增量上线方案(差异如何对比?,失效特征如何删除?)
    • 静态特征 vs. 动态特征
    • 例行调度
    • 特征上线状态
    • 上线统计 & 监控
    • 原地替换 vs. 双 buffer 切换
    • 分布式流控
  • 特征服务
    • RPC
    • 正排 & 倒排 & 高维索引
    • Lamda 架构
    • 强类型的特征服务(根据元数据进行反序列化)
    • 特征缓存
  • 特征监控
    • 特征覆盖率
    • 特征异常值
    • 特征时效性
    • 特征监控可视化
    • 监控预警
  • 特征分类
    • Low level特征 vs. High level特征
    • 稳定特征与动态特征 (静态特征 vs. 动态特征)
    • 二值特征、连续特征、枚举特征
  • 特征抽取和处理
    • 归一化 (Normalization)
      • 将训练集中某一列数值特征(假设是第i列)的值缩放到0和1之间。
      • 归一化方案:
          1. 函数归一化,通过映射函数将特征取值映射到[0,1]区间,例如最大最小值归一化方法,是一种线性的映射。还有通过非线性函数的映射,例如log函数等。
          1. 分维度归一化,可以使用最大最小归一化方法,但是最大最小值选取的是所属类别的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。
          1. 排序归一化,不管原来的特征取值是什么样的,将特征按大小排序,根据特征所对应的序给予一个新的值。
    • 离散化
      • 等值划分
      • 等量划分
    • 标准化 (Standardization)
      • 将训练集中某一列数值特征(假设是第i列)的值缩放成均值为0,方差为1的状态
      • 具体做法是:将特征值减去平均值,再除以标准差
    • 缺省值处理
      • 单独表示
      • 众数
      • 平均值
    • Embedding
      • word2vector
      • fastext
    • 特征组合
    • FeatureLibray & FeatureScript
    • 分级抽取:如一起打分请求,用户特征只需抽取一次,item特征则每次都需要抽取
  • 特征选择
    • 特征选择能剔除不相关(irrelevant)或冗余(redundant)的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。
    • 三种思路:
      1. Filter: 假设特征子集对模型预估的影响互相独立,选择一个特征子集,分析该子集和数据Label的关系,如果存在某种正相关,则认为该特征子集有效。衡量特征子集和数据Label关系的算法有很多,如Chi-square,Information Gain。
      2. Wrapper: 选择一个特征子集加入原有特征集合,用模型进行训练,比较子集加入前后的效果,如果效果变好,则认为该特征子集有效,否则认为无效。
      3. Embedded: 将特征选择和模型训练结合起来,如在损失函数中加入L1 Norm ,L2 Norm。
    • 特征有效性分析
    • 特征降维
  • 特征分析
    • 单特征 AUC 分析
    • 信息增益率
    • 对特征的有效性进行分析,得到各个特征的特征权重
      1. 与模型相关特征权重。使用所有的特征数据训练出来模型,看在模型中各个特征的权重,由于需要训练出模型,模型相关的权重与此次学习所用的模型比较相关。不同的模型有不同的模型权重衡量方法。例如线性模型中,特征的权重系数等。
      1. 与模型无关特征权重。主要分析特征与label的相关性,这样的分析是与这次学习所使用的模型无关的。与模型无关特征权重分析方法包括
      2. 交叉熵
      3. Information Gain
      4. Odds ratio
      5. 互信息
      6. KL散度等
  • 特征降维
    • 特征降维的目标是将高维空间中的数据集映射到低维空间数据,同时尽可能少地丢失信息,或者降维后的数据点尽可能地容易被区分
    • PCA : Principal Component Analysis,主成分分析,通过协方差矩阵的特征值分解能够得到数据的主成分
    • SVD: Singular Value Decomposition,奇异值分解
    • LDA : Linear Discriminant Analysis,线性判别分析,与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分
    • LLE : Locally Linear Embedding
    • LE : Laplacian Eigenmaps

参考文章

  1. 机器学习中的数据清洗与特征处理综述
  2. 人工智能在线特征系统中的数据存取技术
  3. 人工智能在线特征系统中的生产调度
  4. 腾讯广告精准投放背后的秘密

  • Previous
    一个java大堆引发的『血案』

YOU MIGHT ALSO LIKE

  • 01 Apr 2019 »  一个java大堆引发的『血案』
  • 12 Mar 2019 »  使用CompletableFuture异步编程
  • 18 Jan 2019 »  gitlab如何checkout某个group中的所有项目
{{uname}}

{{meta.replies}} 条回复
写下第一个评论!

-----------到底了-----------