zoukankan      html  css  js  c++  java
  • 第 5 章 机器学习技术的应用(上)

    原文

    全文目录

    机器学习技术概述

    让计算机在没有被显示编程的情况下具有自主学习的能力;

    学习出特征目标之间具体的相关性;

    学习结果的用法: 预测, 推断(inference);

    推荐系统中的应用场景

    推荐系统的本质是匹配;

    1. 推荐结果排序

      传统的方式是利用公式来定义排序规则, 机器学习是选择具有良好描述能力的规则系统来服务于系统;

    2. 用户兴趣建模

      用户兴趣的捕捉和预测, 捕捉即对用户行为的客观记录; 预测则基于行为记录对用户将来可能感兴趣的内容进行预测;

    3. 候选集召回

      类似排序问题;

    优点:

    1. 机器学习系统对推荐系统进行全方位的改造升级;
    2. 引入一套可以系统性持续优化的架构;

    机器学习技术的实施方法

    老系统与数据准备

    1. 收集训练样本

      老系统中已有的样本数据;

      曝光偏差(impression bias)比较小;

      曝光偏差: 系统是否会倾向于曝光某一类型的物品, 导致其他类型物品曝光不足, 在整体数据上产生曝光偏差的问题;

    2. 收集业务规则

      解决问题的模型, 多数情况下都是以逻辑回归决策树为代表的浅层模型, 即大量的被量化的规则;

      机器学习即规模化的量化规则;

      量化: 将之前人工指定的规则, 利用数据和算法, 针对具体的优化目标进行量化;

      规模化: 机器学习可以用相对自动化的方法让规则的数量增加几个量级;

    3. 确定系统目标

      基于老系统基础上使用机器学习技术进行技术升级和改造, 目标是和老系统一致的;

    问题分析与目标定义

    在架构设计和代码开发之前, 要对待解决问题进行分析, 对系统优化目标进行拆解;

    1. 问题现状分析

      搞清楚系统状况, 包括算法, 数据, 运行方式, 数据与线上交互, 模块前端展示等;

      优先处理 ROI(投入产出比)高的事情;

    2. 问题归因拆解

      将最终的待达成目标拆解为多个可执行的具体工作;

      例如: 提升购买转化率 => 用户看到曝光商品+用户进行购买 => 用户看到曝光商品+用户进行点击 AND 用户进行点击+用户进行购买;

    3. 设计指标体系

      实施机器学习系统需要的指标体系:

      • 监控机器学习系统本身效果好坏的指标; (例如: AUC 等离线评估指标和点击率等线上监控指标)
      • 对机器学习系统所服务和影响的大系统的各方面指标; (例如: 用户平均停留时长, 平均跳出率, 平均分享率等)

    如果无法衡量, 就无法优化

    机器学习模型的构建流程主要包括: 样本处理+特征处理+模型训练;

    又可以分为:

    算法维度: 对各种数据进行逻辑处理; 描述系统逻辑的维度;

    架构维度: 具体实施时通过怎样的架构实现算法逻辑; 描述具体实施方案的维度;

    样本处理

    样本的质量决定了模型效果的好坏;

    • 原始样本, instance, 要预测的信息本身, 不带有任何特征; (例如: 用户ID+曝光物品ID+是否点击)
    • 带特征样本, example, 将原始样本与特征进行拼接之后, 可用于模型训练的样本;

    典型的点击率模型场景下, 一般存在三份日志:

    1. 请求日志, 记录用户对推荐系统的请求, 属于最上游的数据;
    2. 曝光日志, 记录在请求得到的数据中, 哪些被曝光给用户了;
    3. 点击日志, 在曝光后的数据中, 哪些被用户点击了;

    涉及两项关键工作:

    1. 获取到足量, 准确的样本数据;

      • 爬虫, 作弊和异常数据的去除;
      • 使用统计数据验证样本的准确性; (例如: 平均点击率, 用户点击率分布)
      • 移动端数据收集机制的设计; (例如: 只发送曝光的最后一个物品的信息, 配合日志获取其他曝光物品)
      • 尽量多的保留上下文信息;
    2. 在训练时对样本进行选取, 以期得到更好的训练效果;

      • 样本随机打散;

        机器学习模型的训练和评测中, 要求样本是随机分布的;

        • 从整体样本中划分训练集和测试集, 要求是同分布的;
        • 常用的模型优化方法, 都会分批取样本来训练模型, 要求样本分布是随机的;
      • 正负样本采样;

        正负样本偏差严重时, 可采用正样本升采样负样本降采样; 去除冗余样本, 边界样本, 噪声样本等, 或者随机丢弃相应比例的负样本;

      • 负样本划分模型组合;

      • 样本可信度处理;



    欢迎您扫一扫上面的微信公众号, 订阅我的博客!

    文章作者:Memento
    博客地址:http://www.cnblogs.com/Memento/
    版权声明:Memento所有文章遵循创作共用版权协议,要求署名、非商业、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

  • 相关阅读:
    mysql常用函数
    mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
    JS 中的return false的作用
    css3 animation动画执行结束,停顿几秒后重新开始执行
    (原)人月神话-阅读笔记
    (原创)cocosStudio: text设置颜色问题
    (原创)cocos-js js调用android
    (原创)cocos-js 实现震屏效果
    (转)Cocos2d-js中使用Shader方法--以一个简单的波纹效果为例:
    (转)Cocos2dx-JS 在 Sprite 上使用 Shader
  • 原文地址:https://www.cnblogs.com/memento/p/14485453.html
Copyright © 2011-2022 走看看