• AI人工智能高级实战工程师就业课程(源码+视频)价值19800元,百度网盘,阿里云盘下载

    课程简介:阶段一、人工智能基础一高等数学必知必会本阶段主要从数据分析、概率论、线性代数、矩阵和凸优化四个方面进行解释,旨在培养每个人的逻辑能力和分析能力。良好的数学基础有助于您更好地理解机器学习和深度学习的相关算法内容。Al例如,人工智能中的智能尤为重要-部分依靠概率论实现。阶段二、人工智能提升一Pytho高级应用随着A时代的到来及其蓬勃发展,Pytho作为AI机器学习确实令人兴奋,但它的复杂性和难度更大,通常涉及组装工作流和管道、设置数据源和内部和云部署之间的分流Pytho库后,可以帮助加快数据管道,Pytho库也在不断更新和发布,因此本阶段旨在减轻学习后续机器学习的负担。阶段三、人工智能提升一Pytho项目本阶段的重点是复习巩固Pytho通过爬取招聘网站的数据,巩固静态网站爬取技巧。掌握技能包括requet图书馆的使用、网页分析、正则表达应用等。;通过对网络评论数据的爬行和工作肖像系统,掌握网站模拟登录的知识,掌握模拟登录的技能主要包括模拟登录。数据爬行和分析等,让每个人都对Pytho对实际应用有非常清晰的理解和理解Pytho在AI而数据捕获的优势,对大家后期的学习非常有利。阶段四、人工智能实用机器学习算法机器学习使用算法来分析和学习数据,然后判断和预测现实世界的情况。因此,与只能按照特定逻辑提前编写和执行指令的软件不同,机器实际上使用大量的数据和算法来自我训练--任务。因此,本阶段主要从机器学习概述。数据清洗和特征选择回归算法。决策树木、随机森林和提升算法SVM.聚类算、EM算法,贝叶斯算法。隐马尔科夫模型,LDA解释一些机器学习算法和这些算法的优化过程,即监督算法或无监督算法。阶段五、人工智能实用机器学习项目本阶段主要通过音乐文件分类和金融反欺诈模型培训,帮助您进一步巩固上一阶段的机器学习,为后续的深度学习和数据挖掘提供项目支持。阶段六、人工智能提升深度学习深度学习是实现机器学习的技术。同时,深度学习也带来了许多机器学习的实际应用,并扩展了它A的使用领域,本阶段主要从TeorFlow.深度学习概述,感知器神经网络,BP神经网络、RBF径向基神经网络,CNN卷积神经网络,RNN解释了深度学习算法和深度学习框架的使用。阶段七、人工智能推广推荐算法及数据挖掘基于用户行为(浏览)的现代电子商务深入人心.收藏。购物分析尤为重要。数据挖掘是识别大量数据中有效的数据.新颖、潜在、有用、最终可理解模式的非凡过程。这一阶段主要是基于内容的推荐和协同过滤。SVD.基于知识推荐和混合推荐算法的解释,结合音乐推荐。隐因子模型推荐等项目让您有更深入的了解。阶段八、人工智能终极实战一项目应用本阶段以项目为导向,通过公安系统进行人脸识别、图像识别和图像检索CTR广告点击量估计、序列分析系统、聊天机器人等项目,结合实际情况Al综合应用。阶段9.人工智能实战一分布式搜索引擎开发联网.大数据、网络爬虫、搜索引擎等概念现在很热门。本课程以公司的项目经验为基础,为您带来市场上流行的分布式搜索引擎之一ElaicSearch,带领大家简单地了解和掌握技术的综合应用,从而为大家添加--竞争资本。本课程旨在引导您进入搜索引擎领域,从零开始,简单地解释什么是搜索引擎,搜索引擎的作用和ElatiCSearch在实际工作中的作用等。阶段十、人工智能实战企业项目实战课程一、基础Pytho数据分析与机器学习案例实战教程课程风格通俗易懂,基于战,课程风格通俗易懂。主要课程分为三个大模块(1)ytho数据分析。(2)机器学习经典算法原理详解(3)十大经典案例实战。ytho数据科学库umy.ada,matlot结合机器学习库cikit-lear完成一系列机器学习案例。算法课程注重原理推导和流程解释,结合实例讲解复杂的机器学习算法,注重实战,所有课时结合代码演示。算法与项目相结合,选择经典kaggle项目,从数据预处理开始,代码实战一步一步带大家快速入门机器学习。旨在帮助学生快速开始如何使用它。ytho库来完成机器学习案例。根据真实数据集选择经典案例,从数据预处理到建立机器学习模型和效果评估,完整解释如何使用ytho及其常用数据库进行数据分析和模型建立。对于每一个挑战,分析解决问题的想法,如何构建合适的模型,并给出合适的评价方法。在每个案例中,学生可以快速掌握如何使用它ada预处理和分析数据,和分析matloti基于可视化的展示和展示cikit-lear建立库的机器学习模型。课程二、人工智能与深度学习实战课程风格易懂,必要原则,形象解读,项目实战不足-不!主要课程分为四个大模块(1)神经网络必须留下基本知识点,(2)深度学习模型,(3)深度学习框架Caffe与Teoflow,(4)深度学习项目实战。课程首先概述深度学习的应用和挑战.从计算机视觉中的图像分类任务开始解释深度学习的常规程序。对于复杂的神经网络,将其扩展到多个小模块,逐一突破,然后挑战整个神经网络结构。对于深度学习模型图像解释卷积神经网络的原理,详细说明所涉及的每个参数,分析和评估卷积网络结构,对现阶段流行的对抗生成网络和加强学习进行图像解释,并配合项目的实际演示效果。基于框架实际战斗,选择两个最受欢迎的深度学习框架,Caffe与Teorflow,首先解释其基本使用方法,井结合案例演示如何应用框架构建神经网络模型,完成案例任务。选择经典的深度学习项目进行实际战斗,使用深度学习框架从零开始完成人脸检测、验证码识别、人脸关键点定位,垃圾邮件分类,图像风格转换,AI自己玩游戏等等。对于每个项目的实际战斗。从数据预处理开始,逐步构建网络模型并进行分析和评估。课程提供的所有数据、代码和PPT,方便大家快速开始项目实践!阶段十一、IT高级开发者职场生存规则本课程主要为大多数毕业生或工作经验较少的学生设立,主要为专业素质提供指导,帮助更顺利地进入工作场所。为什么有些学生在技能上过关,却还是给别人-种书生的感觉为什么简历已经通过了,但仍然没有通过?HR的面试?为什么入职后和同事沟通总是有问题?为什么日常时间不够,不能兼顾生活、学习和工作?为什么学习-一段时间后,对工作场所没有方向感?为什么别人总能保持良好的心态,而我总是有很多问题?COT课程正是引领大家一起来探索其中的奥秘和方法,让大家-在学习过程中不断深思和进步,让大家的职场路越走越顺畅!课程目录:/19:人工智能顶级实战工程师就业课程[37.6G]┣━━八、机器学习(4)[835.1M]┃┣━━_SVM、多分类和多标签分类算法.zi[35.4M]┃┣━━_贝叶斯算法,EM算法.zi[32.3M]┃┣━━01回顾.m4[59.6M]┃┣━━02vm.m4[128M]┃┣━━03vm.m4[104.8M]┃┣━━04多分类.m4[106.3M]┃┣━━05回顾.m4[93.7M]┃┣━━06高斯普通贝叶斯.m4[49.5M]┃┣━━07贝叶斯网络.m4[106.8M]┃┣━━08EM算法.m4[91.3M]┃┣━━09EM.m4[26M]┃┗━━多分类和多标签分类算法.df[1.5M]┣━━二、数学基础(2)[813.4M]┃┣━━1等价变换矩阵.avi[78.3M]┃┣━━2解决线性方程组.avi[78.3M]┃┣━━03人工智能数学基础概率论和数理统计1.19.df[3M]┃┣━━3特征值特征向量、奇异矩阵、矩阵分解.avi[151.7M]┃┣━━4古典概率条件概率.avi[111.7M]┃┣━━5贝叶斯公式.avi[37.4M]┃┣━━6随机变量.avi[42M]┃┣━━7离散变量分布.avi[92.2M]┃┣━━8连续变量分布.avi[72M]┃┣━━9连续随机分布.avi[19.2M]┃┣━━10数字特征.avi[62.3M]┃┗━━11中心距,峰度,最大.avi[65.2M]┣━━机器学习(5)[380.2M]┃┣━━01马尔科夫.m4[27.9M]┃┣━━02马尔科夫.m4[17.7M]┃┣━━03HMM.m4[65.4M]┃┣━━04HMM后向算法.m4[59.6M]┃┣━━05HMM案例.m4[136.4M]┃┗━━06HMM案例.m4[73.3M]┣━━6.机器学习(2)[2.4G]┃┣━━[20180310]_决策树,综合学习.zi[3.6M]┃┣━━[20180311]_综合学习:随机森林,GBDT、XGBoot_课件PPT.zi[1.6M]┃┣━━[20180311]_综合学习:随机森林,GBDT、XGBoot_随堂笔记.zi[225K]┃┣━━[20180311]_综合学习:随机森林,GBDT、XGBoot_随堂代码.zi[212.5K]┃┣━━01回顾.m4[132M]┃┣━━02oftmax.m4[99.9M]┃┣━━03比特化.m4[182.3M]┃┣━━04决策树.m4[195.7M]┃┣━━05.m4[212.6M]┃┣━━06.m4[230M]┃┣━━7.m4[215.4M]┃┣━━8.m4[92.7M]┃┣━━09.m4[271.3M]┃┣━━10.m4[313.4M]┃┣━━11.m4[267.8M]┃┣━━12.m4[198M]┃┗━━知识回顾.g[297.5K]┣━━7.机器学习(3)[956.4M]┃┣━━[20180317]_聚类算法_随堂笔记.zi[425.2K]┃┣━━[20180317]_聚类算法_随堂代码.zi[39.1M]┃┣━━[20180317]_聚类算法_随堂课件.zi[3M]┃┣━━[20180318]_聚类算法...

    2022-04-04 人工智能随机森林算法 随机森林算法是机器算法吗

  • 黑马Python5.0教程实战人工智能就业班课程(视频+资料+源码),百度网盘,阿里云盘下载

    课程简介这套课程来自黑马程序员Pytho人工智能就业课程,本课程0基础0经验小白人员;想尝试是否适合最低成本Pytho编程相关工作的转型人员。人工智能课程的和谐方向,we做了很多改革,we在人工智能、小智聊填机器人项目、黑马头条推荐系统项目等方面增加了黑马头条项目、新美多多商城项目、50多项新技术。ytho其他六个方向:自然语言处理、自动操作和维护、自动测试、数据分析、图像处理、爬虫等,使学生更深入。本课程的四个特点1、就业强化课程竞争力2、we开发课程占百分之百403、原创黑马头条项目含金量高4、1%的人工智能照片30适合人群:零基础从事ytho开发的人员想学网络爬虫的人想学习we框架开发人员对学习ytho迷茫的人员对ytho开发感兴趣的人。黑马Pytho5.0人工智能就业课程视频截图课程目录:2020黑马5.0[97.6G]┣━━课件资料V5.0解压密码:52kt.et[17.1G]┃┗━━课件资料V5.0[17.1G]┃┣━━阶段1-Pytho核心编程.rar[60.9M]┃┣━━阶段10-检测和分割人工智能物体.rar[1.9G]┃┣━━阶段12-爬虫开发.rar[24.6M]┃┣━━阶段2-ytho和Liux高级编程,阶段3-前端开发.rar[133M]┃┣━━阶段4-we开发.rar[2.2G]┃┣━━阶段5-人工智能经典算法编程.rar[3G]┃┣━━阶段6-人工智能项目.rar[1.6G]┃┣━━阶段7-开发自动化测试.rar[1.1G]┃┣━━阶段8-开发自动化运维.rar[4.1G]┃┗━━阶段9-人工智能NLP项目.rar[3.1G]┣━━19-ytho测试v5.0[9.2G]┃┣━━1-3手工测试.rar[4.4G]┃┗━━3-4手工测试.rar[4.8G]┣━━1-Pytho基础语法v5.0.rar[6.3G]┣━━2-面向对象编程v5.0.rar[3.8G]┣━━3-liux命令v5.0.rar[636.7M]┣━━4-多任务编程v5.0.rar[332.8M]┣━━5-we服务器v5.0.rar[690.7M]┣━━6-we前端开发基础v5.0.rar[806.3M]┣━━7-MySQL数据库v5.0.rar[770.6M]┣━━8-mii-we框架v5.0.rar[761.4M]┣━━9-djago框架v5.0.rar[2.1G]┣━━10-美多商城v5.0.rar[7.5G]┣━━11-DRF框架v5.0.rar[1.5G]┣━━12-美多商城后台v5.0.rar[2G]┣━━13-项目部署v5.0.rar[832.5M]┣━━14-flak框架v5.0.rar[536.4M]┣━━15-黑马头条v5.0.rar[3.9G]┣━━16-人工智能基础v5.0.rar[2.9G]┣━━17-推荐系统基础v5.0.rar[3.6G]┣━━18-黑马头条推荐系统v5.0.rar[4G]┣━━20-NLP自然语言处理v5.0.rar[3.5G]┣━━21-ytho运维v5.0.rar[8.2G]┣━━22-深度学习和机器视觉v5.0.rar[3.2G]┣━━23-爬虫v5.0.rar[7G]┗━━24-数据分析v5.0.rar[6.3G]相关下载点击下载...

    2022-04-03 黑马人工智能 黑马 人工智能 视频

  • 知群:UI设计从入门到求职,成为未来精英型UI设计师 (视频+课件)免费分享,百度网盘,阿里云盘下载

    本课程来自知识组官方网站,售价4280元。完成本课程后,可以帮助您与大厂合作开展企业项目站,成为一线公司的高级设计师,培养设计思维和系统工作方法。工作项目经验优化,学生jami在创业公司自学UI,加入知群系统学习后UI和UX,正值知群初期实战赛,获得了罗子雄青睐,直接被推荐入职知名科技公司。课程不完全针对研究生入学考试和出国留学的学生,但仍有一些人在知识群体学习后成功获得了理想的学校offer,官网首页有相关转行案例。课程大小[6.1G]课程表底部可见。适合人群:零基础转行非专业设计师课程目录:UI交互设计从入门到求职课程[6.1G]┣━━0.【必看课】课程介绍[0B]┣━━1.介绍基本概念和案例[360.8M]┃┣━━用户体验与交互设计案例分析.m4[170.1M]┃┗━━如何选择适合你的设计软件.m4[190.7M]┣━━2.探索阶段[771.4M]┃┣━━知识课3挖掘商业需求和用户需求.m4[477.7M]┃┣━━【知识课4】定性研究和定量研究.m4[78.4M]┃┣━━【知识课5】竞争产品分析(1).m4[82.9M]┃┗━━【知识课6】竞争产品分析(2).m4[132.5M]┣━━3.定义阶段[254.6M]┃┣━━【知识课7】用户建模.m4[132.7M]┃┗━━知识课8行为旅程设计和故事板.m4[121.9M]┣━━4.设计阶段[672.8M]┃┣━━创造力的产生和评价(2).m4[110.9M]┃┣━━【知识课11】将创造力转化为草图并验证.m4[407.1M]┃┗━━【知识课9】创意产生与评价(一).m4[154.8M]┣━━5.实践阶段[254.1M]┃┣━━【知识课12】MVP概念与应用.m4[116.4M]┃┗━━敏捷和用户故事.m4[137.7M]┣━━6.一产品施工阶段[467.3M]┃┣━━信息架构设计(1).m4[102.8M]┃┣━━信息架构设计(2).m4[133M]┃┣━━信息架构设计(3).m4[130.1M]┃┗━━【知识课17】用户流程设计.m4[101.3M]┣━━7.二产品施工阶段[696.4M]┃┣━━页面布局设计(2).m4[409.6M]┃┣━━页面布局设计(3).m4[120M]┃┗━━页面布局设计(1).m4[166.9M]┣━━答疑课[370.5M]┃┣━━【答疑课】工作相关问题.m4[75.5M]┃┣━━【答疑课】交互设计工具相关问题.m4[74.2M]┃┣━━【答疑课】设计定义阶段.m4[94M]┃┣━━【答疑课】ToB...

    2022-04-04

  • 创客学院:嵌入式人工智能开发+物联网开发视频+讲义价值2560元,百度网盘,阿里云盘下载

    这套嵌入式人工智能开发官方网站由制造商学院代表老师主持,价格1260元,到处都是嵌入式,物联网,潜入式包括正确(交通、媒体、航空航天军工、制造、金融移动支付、娱乐、通信、家具、农业)等属于嵌入式类别,嵌入式人工智能是一种软硬结合技术。本课程主要是为了启发徘徊在嵌入式大门之外的工程师或开发人员,或在学习嵌入式时方向不明确。有两套课程:嵌入式人工智能开发物联网开发视频课件讲义大小[96.97G]文章底部的课程和下载地址嵌入式人工智能开发视频截图本课程由制造商学院教师主持:物联网开发网站价格1300元,从终端到云全面解释物联网开发教师从四个方面解释物联网开发:物联网就业和就业分析、物联网和嵌入式关系、物联网行业解决方案,最终也是最重要的物联网课程体系。物联网是一门综合性的交叉学科,就业行业分布广泛,偏向于软件应用开发的方向。目录:创客学院:嵌入式物联网课程2套[96.97G]┣━━11-嵌入式内核及驱动开发(初级)┃┣━━D1-设备环境建设┃┣━━D10-中断编程(4)┃┣━━D11-中断编程(5)┃┣━━D12-平台总线专题(1)┃┣━━D13-平台总线专题(2)┃┣━━D14-平台总线专题(3)┃┣━━D15-平台总线专题(4)┃┣━━D2-驱动模块开发(上)┃┣━━D3-驱动模块开发(下)┃┣━━D4-字符设备驱动基础(上)┃┣━━D5-字符设备驱动基础(中)┃┣━━D6-字符设备驱动基础(下)┃┣━━D7-中断编程(1)┃┣━━D8-中断编程(2)┃┗━━D9-中断编程(3)┣━━liux编程环境配置[1.6G]┃┣━━库的生产和使用┃┣━━CommBox通信调试工具V1.261┃┣━━CP2102Wi10_Driver┃┣━━ESP8266_GCC┃┣━━01flah_dowload_tool_v3.6.4.rar[7M]┃┣━━CommBox通信调试工具V1.261.rar[10.1M]┃┣━━e8266_at_i_v1.6_0.rar[2.2M]┃┣━━liux系统搭建.m4[292.3M]┃┣━━Source.Iight.v4—最新破解版注册...

    2022-04-04 嵌入式设备驱动程序 嵌入式驱动和应用

  • 计算机视觉AI工程师:从入门到进阶,攻破人工智能CV领域价值2199元,百度网盘,阿里云盘下载

    课程简介本课程来自网易云微专业计算机视觉AI工程师:从入门到进阶,攻破人工智能CV领域。官网售价2199元。现如今AI人工智能越来越广泛:人脸识别、监控视频分析、图像识别分析、智能驾驶、三维图像视觉、工业视觉检测、医学图像诊断、文本识别。从零开始学习课程Pytho,巩固数学基础,掌握深度学习算法,咀嚼3个月AI计算机视觉核心技术课程包括:ytho快速掌握,计算机视觉库oecv、计算机视觉应用实战、人脸检测与识别专题、深度学习基础、深度学习框架1teorflow、深度学习框架1teorflow、硅谷实战:对抗样式及对抗DL模型弱点包括课件资料18.68G文章底部有课程目录和下载链接。面向人群在校学生人工智能、计算机、数学等相关专业的学生·职场小白已经进入职场,技能需要补充,自学困难。·转行人员员工和企业管理者想要从传统行业转变为人工智能企业希望深入了解人工智能计算机视觉方向的团队经理课程收获系统掌握Pytho语言和图像数据处理方法主流深度学习算法系统的数学支持原理掌握人工智能计算机视觉方向的算法框架构建大量的课程练习和评估项目帮助你从学习到使用成功达到人工智能相关岗位的就业技能水平课程目录:计算机视觉AI从入门到进阶,工程师突破了人工智能CV领域[18.7G]┣━━硅谷实战:对抗样式及对抗DL模型弱点.rar[103M]┣━━计算机视觉库oecv.rar[1.2G]┣━━实战计算机视觉应用.rar[1.5G]┣━━课程导论.rar[287.3M]┣━━人脸检测与识别专题.rar[137M]┣━━深度学习基础.rar[569M]┣━━深度学习框架1teorflow.rar[516.6M]┣━━深度学习框架1teorflow(第二周).zi[918M]┣━━深度学习框架1teorflow(第三周).rar[1.7G]┣━━深度学习框架二kera.rar[1.2G]┣━━数学理论基础与ytho代码实现.rar[1.2G]┣━━项目答案1.rar[2.3G]┣━━项目答案2.rar[5.8G]┗━━ytho快速掌握.rar[1.4G]相关下载点击下载...

    2022-04-03 计算机视觉 cvc 计算机视觉cv全称

  • 尚学堂:AI人工智能+模型识别+强化学习,纯面向就业的AI课(完结)价值16800元,百度网盘,阿里云盘下载

    这套课程由著名孔老师在尚学校讲授:AI人工智能模型识别强化学习官网售价16800元。这套课程已于2020年开始更新.就业课程AI专为在职开发人员和高等数学专业人员定制的课程包括55个项目案例和60个算法模型!10企业级项目包括:(电缆缺陷检测安全帽检测,OCR识别、自动聊天机器人、推荐系统、电子元件缺陷检测、人脸识别、实体关系提取、知识地图智能业务分析),带您高薪就业!项目优势:尚学堂A目前有55个案例和10个企业级项目。新案例不一一例举,重点介绍新企业级项目:1)新增CV方向的CacadeRCNN算法和mmdetectio电缆缺陷检测项目工具2)新增CV方向的Darket工具配合Yolo完成安全帽检测项目3的算法NLP方向知识图谱项目4)新增NLP实体关系方向提取项目5)新增DataMiig智能商业分析的方向(使用AI算法分析指标,帮助公司更好地运作和决策)6)除了之前的ItemCF和GBDTLR算法,新增FM、FFM推荐算法,和Wide...

    2022-04-05 缺陷检测算法matlab 缺陷检测算法实现

  • 产品经理进阶:100个案例搞懂人工智能(txt+pdf+epub+mobi电子书下载)|百度网盘下载

    作者:林中翘出版社:电子工业出版社格式:AZW3,DOCX,EPUB,MOBI,PDF,TXT产品经理进阶:100个案例搞懂人工智能试读:前言写作缘由2016年,我曾看过一则新闻,讲述日本的北海道大学修建了一段不会被大雪覆盖的道路。其奥秘在于道路边上铺设了加热管,道路中设置了几个摄像头,能够通过图像识别技术检测落雪的厚度。加热管根据落雪的厚度自动调节温度,这样做能够用最低的能耗保持道路不被积雪覆盖。这件事带给我很大的触动:原来人工智能还能这么玩,做这么酷的事情!人工智能可以帮助我们解决很“大”的问题,大到证券的量化分析、交通资源的动态配置等;也可以帮助我们解决很“小”的问题,小到让我们走在路上不用受积雪的困扰。这离不开工程师的开发能力,更离不开产品经理发现需求、寻找解决方案的能力。很荣幸我能成为其中一员,能为人工智能的发展做出一点贡献。最初,我刚开始接触人工智能的时候,学习算法的过程非常痛苦和艰辛,主要原因在于,国内外所有人工智能相关的教材几乎都是面向专业技术人员编写的,通篇都是公式的推导与计算,很少有老师着眼于原理和场景的讲解。这对于非专业出身的产品经理来说非常不友好,晦涩难懂的公式实在是难以消化,只能花大量的时间研究资料,慢慢理解。2018年,在电子工业出版社策划编辑郑柳洁的盛情邀请下,我萌生了为产品经理写一本算法入门书的想法。在写作过程中,我一直在思考采用什么形式才能将算法的本质讲得通俗易懂,减轻读者学习的压力。最终决定以案例讲原理,用生动的比喻代替枯燥的公式方式,让产品经理更容易接受、更容易理解。这也是本书名字的由来。如果你想成为人工智能领域的产品经理,但又不懂技术、不懂算法,那么本书能够让你对人工智能的算法与应用有新的认知和理解,不会再觉得人工智能是一个高不可攀、遥不可及的领域。相反,人工智能是普通人也可以理解、学习和实现的,没有技术背景的产品经理也能通过学习此书,成为一名优秀的人工智能产品经理。阅读建议本书旨在帮助想要进入人工智能领域的产品经理掌握常见的机器学习、深度学习技术,了解不同技术的应用方式与场景,同时掌握正确的工作方法,在整个产品研发周期中体现出人工智能产品经理的价值。全书共分13章,从数据如何处理开始,到模型调优,再到算法的原理与商业化应用,由浅入深,探索人工智能的奥秘。建议读者按照章节顺序阅读,以便对机器学习有系统的认识。第1章主要介绍什么是机器学习,以及哪些问题适合用机器学习来解决。当你对机器学习有一个初步认识后,我们再具体学习机器学习有哪些步骤,如何选择模型,以及机器学习可以分为哪些类别。第2章主要介绍数据预处理的各种方法。在实际的项目中,最初拿到手的原始数据总是存在各种各样的问题,为了让模型更好地学习数据中的规律,我们采用数据预处理的方法对原始数据进行加工。第3章主要介绍数据的探索方法与模型的评价指标。通过对数据本质、可视化方式及模型指标三方面的探索,让产品经理对数据有更深刻的认识与理解。掌握数据的基本概念可以让我们在收集数据及进行数据预处理时更有针对性,知道哪些是不符合要求的数据,哪些是有价值的数据。第4~8章主要介绍五大机器学习基础算法——回归分析、决策树、朴素贝叶斯、神经网络和支持向量机,它们的基本原理、应用场景,以及在模型开发的过程中产品经理如何有效地解决问题。第9~10章主要介绍集成与降维算法,这两类比较特殊的机器学习算法能够有效提升机器学习的效果。第11~13章主要介绍深度学习在图像识别、自然语言处理与AI绘画三个方向的发展与成果。深度学习已经成为计算机视觉、语音识别和许多其他领域中机器学习的主要方法,因此也是产品经理必须关注、了解的重要领域。致谢感谢家人给我的大力支持,特别感谢我的妻子张容焕一直以来对我的理解与鼓励。感谢深大互联网圈、十八罗汉工作室对本书的支持,感谢王正勇对本书的指导与帮助。感谢平安科技同仁,感谢姜凯英、王仲秋等领导对本书的支持。感谢电子工业出版社策划编辑郑柳洁为本书出版所付出的辛苦和努力。最后,由于作者的水平有限,书中难免存在一些错误或不准确的地方,恳请读者批评指正。如你遇到任何不解的问题,或想提出宝贵意见,请添加微信号jutiaqiao与作者交流,期待能够得到你的真诚反馈。1机器学习入门1.1什么是机器学习1.1.1人类学习VS机器学习自计算机问世以来,人类一直尝试赋予计算机思想,让计算机变得更智能,使它能够理解我们说的话,看懂我们的表情,还能够帮助我们处理复杂的事情。为此,一个专门的学科诞生了,即人工智能(ArtificialItelligece)。如今,人工智能已经成为计算机科学的一个重要分支,它主要研究智能的实质,并提出一种模拟人类思考的方式。该领域的研究对象包括机器人、语音识别、图像识别、自然语言处理和专家系统等。从20世纪50年代起,人工智能的发展进入第一阶段推理期,当时的人工智能通过赋予计算机一种简单的逻辑推理能力使它变得智能。在当时,计算机已经能够证明一些简单的数学定理,但远没有达到真正智能的标准。20世纪70年代,人工智能的发展进入了第二阶段知识期。在这个时期出现了大量的专家系统,很多科学家尝试将人类的知识教给计算机,这有点像中学生的“题海战术”。但人类产生的知识量巨大,计算机没有办法全部学会,因此人工智能的发展很快就遇到了瓶颈。无论在推理期还是知识期,计算机都是按照人类设定的规则和总结的规律运作的,没有办法做到举一反三。如果只教会计算机做题,却没有教会它解题的思路,则下次遇到别的题目时它仍旧不会。于是一些学者想到,如果教会计算机学习的方法,让它能够自我学习,问题不就迎刃而解了吗?因此,机器学习(MachieLearig)的概念应运而生,人工智能终于进入“机器学习期”。对人类来说,“学习”是指一个人通过观察、模仿、理解、实践等手段获得知识或技能的过程。父母亲会不断地和婴儿说话,婴儿则通过模仿“听”和“说”的方式逐渐学习语言。我们从小阅读书籍、模仿字帖写字,通过“听”“说”“读”“写”四种方式掌握使用、书写汉字的技能,这些都是学习的过程。机器学习,顾名思义,就是让计算机也能像人类一样学习,通过观察和训练,发现事物规律,从而获得分析问题、解决问题的能力。我们对比一下人类学习和机器学习两个过程,人类学习汉字时需要用的书籍、字帖对于计算机来说相当于输入数据(Data),人类通过“听”“说”“读”“写”等不同的方式掌握使用汉字的能力,机器则通过某种学习算法(LearigAlgorithm)去学习这些输入数据。最后人类把使用汉字称为一种技能(Skill)。对于计算机来说从这些数据中发现规律就是它的技能。通常,我们把机器学习的结果叫作模型(Model)。图1-1展示了人类学习与机器学习的对比。图1-1人类学习与机器学习的对比技能是运用知识和经验执行一定活动的能力。计算机通过学习,可以帮助我们做数据分类、轨迹预测、重要因子识别等事情。例如,根据基金的历史表现和对大盘的数据分析,预测明年众多的基金中哪些能够获得高收益;从茫茫人海中准确识别出每个人的容貌等。从事过资讯或电商行业的产品经理经常会提到“个性化推荐”技术,淘宝在很早之前就把这项技术应用到了产品设计中。如图1-2所示,我们每次打开手机淘宝,看到的淘宝首页的广告栏及推荐板块的内容都不一样,并且很可能会惊喜地发现这些东西正好是我们想要的。图1-2淘宝的个性化推荐1.1.2机器学习三要素怎么让计算机知道用户当下最想要买什么商品呢?要实现这个功能,需要具备三个方面的条件,如图1-3所示。图1-3机器学习三要素1.数据若想让计算机能够理解用户在想什么,首先要让计算机去观察这个用户在电商网站上都做了些什么,买了些什么。它需要观察的数据包括用户看了哪些商品,会点进哪些商品的详情页浏览,在哪些商品页面上停留的时间比较长,买了哪些商品等。这些历史数据中蕴含了绝大部分人的购买规律、生活状态,计算机甚至可以根据这些数据生成用户画像。这些数据像一座金矿一样静静地等待被挖掘,而我们希望计算机能够通过自主学习的方式,把其中的规律挖掘出来,以便将来面对新的用户和商品时,就能预测哪些商品会受到哪类用户的欢迎。2.学习算法算法是机器学习数据的一种策略,就像“听”“说”这种人类的学习方法一样,可以帮助模型理解数据。然而算法都有一定的局限性,因此面对不同的数据、不同的目的,需要选择不同的算法。例如,预测客户当下想购买的商品,建立用户的画像或者分析客户的购买决策因素,需要使用不同的算法。机器学习算法有很多,常见的有逻辑回归、贝叶斯分类、决策树、随机森林等,这些算法我们在后面章节会详细介绍。3.模型进行一系列的训练之后,计算机就能学得一个预测模型,下次用户登录进来时就能根据其历史行为做出判断,在首页推荐其想要购买的商品。同时也能做到面对新的用户和商品时,预测哪些商品会受到哪类用户的欢迎,让用户感觉该网站能够想其所想。讲到这里,部分读者可能会有这样的疑问:我们通过人工的方法也能掌握这些规律,在没有机器学习之前我们也一直在做类似的事情,那为什么需要机器学习呢?还是以淘宝为例,2017年“双11”的交易额突破了1682亿元,14万个品牌共投入1500万种商品参与到“双11”活动中。如此庞大的数据量已经远远超出了人类能够处理的能力范围,我们很难在短时间内从错综复杂的数据中找到蕴藏其中的规则,做出准确的判断。何况这些数据还是结构化的交易类数据,处理起来已经如此困难,更不用说现代企业每日决策所依赖的数据中有80%的数据为非结构化数据了。对企业来说,商品的交易数据、运输成本、库存管理、历史定价、服务成本、支持成本等数据仅仅是每日做决策时所需的结构化数据的几个主要来源。而非结构化的数据,如社交媒体、邮件记录、通话记录、客户服务、技术支持记录、物联网的传感数据、竞争对手和合作伙伴的定价信息、供应链跟踪数据等以指数级增长的数据,其中常常会蕴含对优化推荐销售更具有指导意义的预测模型,而这些数据正是当今企业所忽视的,也是我们很难去总结和应用的数据。但机器学习很善于处理这类问题,因为它会不断地学习并改善模型的表现。机器学习算法本质上是迭代、持续学习的,并且会寻找最优的输出结果。每出现一次误算,算法都会吸取教训并改正错误,然后开始下一次数据分析的迭代计算。计算过程以毫秒为单位,其可以异常高效地优化决策和预测输出。机器学习可以对大量数据进行分析并获得规律,然后利用规律对未知数据进行预测。它不但能从数据中看到人类能看到的规律,更重要的是能在更短的时间内发现人类看不到的规律,我想这就是机器学习最大的应用价值。在医学领域,机器学习通过图像识别技术,已经实现了让计算机自动识别肿瘤细胞,帮助医生快速进行医学诊断;在制造业领域,通过强化学习的方式自动检测产品缺陷,提高出品率,帮助企业加快生产周期,降低生产成本;在金融领域,利用神经网络技术可以避免传统程序化交易因为无法根据实时发生的市场变动调整算法,从而造成资产损失的风险。在零售、安防、航空、互联网等其他不同领域,机器学习都有广泛的应用,它已经使我们的生活产生了巨大的变化。作为产品经理,更要学习各种算法的实现原理,知道实现机器学习的必要条件,从而懂得在后续工作中需要重点关注哪些方面的内容,以便运用机器学习解决问题。1.2什么问题适合用机器学习方法解决1.2.1必备条件机器学习不是万能的,不能解决所有的问题。机器学习擅长的是通过已知经验找到规律去解决问题。如果我们面对的问题没有任何规律可循,完全是一个随机事件,那么使用再复杂的机器学习算法也无济于事。值得注意的是,很多问题看似没有规律,实际上是人类处理不了太大的数据量,看起来杂乱的数据掩盖了背后的规律,这类问题并非无迹可寻,只是需要用正确的方法。所以面对问题,产品经理首先要分析可行性,想清楚数据背后的关联关系,透过数据现象看到问题本质。当银行决定某个客户的贷款额度时,可以根据过往成功放贷的数据找出每个贷款区间的人群特点、自身的房车资产状况等,然后再根据这个客户的信息进行计算。每天我们的邮箱都会收到大量的邮件,其中包含了不少垃圾邮件。我们可以根据过往垃圾邮件的特点、经常出现的关键字和IP地址等,做一个能够自动识别垃圾邮件的程序。一些产品线众多的企业早已开始利用客户购买记录以及行为特点来优化不同产品线的交叉销售策略,例如研究同时购买“啤酒”和“尿布”的男性顾客、同时购买“面包”和“打折商品”的女性顾客的特点。上述例子都展示了适合用机器学习解决的问题,它们主要有以下三个必备条件,如图1-4所示。图1-4使用机器学习的三个必备条件1.有规律可以学习申请贷款、识别垃圾邮件和购买东西,这三者都不是随机事件,它们存在共性,有内在的规律等待被发现。2.编程很难做到利用编程把上面的规律都写下来的难度非常大,比如银行面对的客户数据维度非常多,数据与数据之间的联系也非常复杂,我们很难通过穷举的方式把规则全都列清楚,并且这样的规则在面对异常数据时也没办法自我修正,对新数据的适应性也会变得越来越差;反之,机器学习可以通过对大量的数据学习形成模型,实现规则的自我学习,不断提升模型的准确率。3.有足够多能够学习到其中规律的数据银行有大量历史上申请过贷款的客户可以参考,邮件程序有大量垃圾邮件的范本可以参考,企业也有大量成交客户数据可以供模型训练学习。最后这一点非常重要,谈机器学习而没有数据的支撑就像建造房子时没搭房梁便想砌砖加瓦一样。1.2.2机器学习可解决的问题满足这三个条件的问题,我们都可以尝试使用合适的算法去解决。如图1-5所示,通常我们可以使用机器学习解决以下五类问题。图1-5机器学习可解决的问题1.回归回归任务是机器学习最典型的应用场景,是一种预测场景。在这类任务中,计算机程序会通过输入数据的属性值(特征)找出规律来预测新的输出数值。就像是在二维平面中根据一些连续的点构建出一个函数方程,然后通过方程画出下一个点的位置。因此,通常我们把通过连续值构建模型的任务称为回归任务。常见的回归算法包括线性回归、逻辑回归、多项式回归以及岭回归,等等。这类任务在日常生活中随处可见,例如保险公司通过历史保费数据去预测新投保人的索赔金额,以设置更合理的保险费,以及投资公司通过股票历史数据预测未来的价格等。这类预测也用在银行放贷交易中,根据已知数据和模型,评估应该给不同客户发放的贷款额度是多少。2.分类上面的预测任务是通过连续值构建函数从而找到下一个预测值,分类任务则是对离散值进行分类并判断预测值的所属类别。在这类任务中,输入的训练数据不但要有属性值(特征),还需要有对应的标签(类别)。所谓的学习,本质就是找到这一堆特征值和标签之间的关系。这样当下次遇到有特征而无标签的未知数据输入时,我们就可以通过已有的关系预测出它们的标签是什么。常见的分类算法包括决策树、逻辑回归、朴素贝叶斯以及神经网络算法等。分类任务不但在日常生活中很常见,在互联网领域也有着极为广泛的应用,典型场景有商品图片的自动识别分类、广告点击行为的预测,以及基于文本内容的垃圾短信、垃圾邮件识别,等等。在电商及金融领域常用的客户画像精准营销也是一种综合性的分类任务。另外,我们在电商领域中经常看到的推荐系统实际上是一个分类结合回归的复杂场景。推荐系统通常利用客户的历史行为、当前用户所处的环境以及商品的特点来决定推荐的内容。所以,当我们设计规则的时候可以从商品出发,找到其受众特点,也可以从人群出发,找到他们的商品偏好。值得一提的是,电商的推荐系统往往是由模型以及业务规则叠加组合而成的,并非单纯依靠算法计算适合推荐的商品。3.聚类聚类是指根据“物以类聚”的原理,将样本聚集成不同组的过程,这样的一组数据对象集合叫作簇。聚类的目的是使得属于同一个簇的样本相似,而属于不同簇的样本应该足够不相似。与分类不同,我们进行聚类前并不知道将要划分成几个组以及是什么样的组,训练数据不需要带有标签,完全依靠算法聚集成簇。产品经理经常做的用户行为分类就是一个典型的聚类场景,事先我们并不知道用户会进行什么操作,完全根据用户的使用情况对用户进行分类。在这个场景下往往根据运营人员所能接受的运营数目,给定聚类数来使用聚类。完成后为每个结果标注变量的大小,告诉运营人员每个类别的属性,然后分别制定不同的运营策略。4.寻找关键因素(归因)机器学习的另一个用处是帮助我们找到影响某个问题的重要因素。比如上述银行放贷的例子中,客户的属性非常多,通过模型我们可以找出对放贷影响最大的因素,以便指导业务同事重点收集客户与该因素有关的信息。5.异常检测在这类任务中,机器需要识别其特征显著不同于其他数据的异常值,并标记为不正常的数据。异常检测任务的一个典型应用场景是信用卡欺诈检测。通过对用户的购买习惯建模,信用卡公司可以检测到用户的卡是否被盗用。一旦发现某张卡出现大量和平时购买习惯不同的交易,信用卡公司会判定这张卡发生了不正常的消费行为,此时可以尽快冻结该卡以防欺诈。另外,在网络攻击、疾病的病因寻找、工厂的质量检测中也会大量运用机器学习的异常检测技术。产品经理拿到需求后,在构想整个使用场景的时候,应首先想这个问题到底适不适合用机器学习的方式去解决,同时还需要思考怎么拿到有效的数据,如果有数据缺失如何补充,数据类型是什么样的,是否有合适的算法可以支持实现。在心里有了初步的答案后,再和开发工程师进行交流。这种对数据的提前考虑能够极大地提高沟通效率。1.3机器学习的过程1.3.1机器学习的三个阶段学习了机器学习的概念后,我们知道机器学习实际上就是计算机通过算法处理数据并且学得模型的过程。“模型”这个词经常被我们挂在嘴边,但大部分人仍然不清楚模型是怎么做出来的,模型在计算机里是怎么表示的,对模型很难有一个具象的认识。实际上模型主要完成转化的工作,帮助我们将一个在现实中遇到的问题转化为计算机可以理解的问题,这就是我们常说的建模。如图1-6所示,在机器学习中生成一个模型的过程包括准备数据、建立模型以及模型应用三个阶段。准备数据有收集数据、探索数据及数据预处理三个步骤。对数据进行处理后,在建立模型阶段开始训练模型、评估模型,然后通过反复迭代优化模型,最终在应用阶段上线投产使用模型,在新数据上完成任务。图1-6机器学习的三个阶段在数据准备阶段,我们首先通过各种渠道收集相关数据,然后对数据、需求和机器学习的目标进行分析,尤其是对数据进行一些必要的梳理,从而了解数据的结构、数据量、各特征的统计信息、数据质量情况及分布情况等,以便后续根据数据的特点选择不同的机器学习算法。除此之外,为了更好地体现数据分布情况,我们通常选择用可视化的方式把数据的概况展示出来。通过数据探索,我们可能会发现不少问题,如存在数据缺失、数据不规范,有异常数据、非数值数据、无关数据和数据分布不均衡等情况。这些问题会直接影响数据的质量,因而得到的模型误差率会偏高。我们希望把样本数据的各个变量处理得更规范整齐并且具有表征意义,这样才能最大限度地从原始数据中提取特征信息以便算法和模型使用。为此,接下来要进行重点工作——数据预处理,这是机器学习过程中必不可少的关键步骤。生产环境中的数据往往是原始数据,也就是没有经过加工和处理的数据,这类数据常常存在千奇百怪的问题,因此,数据预处理的工作通常占据整个机器学习过程的大部分时间。接下来就是整个机器学习中的重头戏——建模。训练模型的过程从本质上来说就是通过大量训练数据找到一个与理想函数最接近的函数。这是所有机器学习研究的目标,也是机器学习的本质所在。最理想的情况下,任何适合使用机器学习去解决的问题,在理论上都能被一个最优的函数完美解决。但在现实应用中不一定能准确地找到这个函数,所以我们会去找与这个理想函数较接近的函数。如果一个函数能够满足我们的使用,那么我们就认为该函数是好的。在训练数据的过程中,通常认为存在一个假设函数集合,这个集合包含了各种各样的假设函数,我们需要做的就是从中挑选出最好的一个,这个假设函数与理想函数是最接近的。训练模型的过程,就好比在数学上,我们知道有一个方程和一些点的坐标,用这些点来求这个方程的未知项,从而得到完整的方程。但在机器学习中,我们往往很难得到这个完整的方程,所以我们只能通过各种手段求最接近理想情况下的未知项的值,使得这个结果最接近原本的方程。图1-7展示了模型训练的本质。图1-7模型训练的本质这个过程非常重要,在后续章节真正学习机器学习算法时,我们需要利用这个过程去理解算法的实现过程、构造损失函数的原因,以及找到所谓“最优解”的方法。在实际问题求解中,我们将理想函数与实际函数之间的差距称为损失值,所有的损失值加起来构成一个损失函数。求解最好的实际函数,也就是求解令损失函数最小化的过程。1.3.2模型的训练及选择一般情况下,不存在在任何情况下表现效果都很好的算法。因此在实际选择模型时,我们会选用几种不同的方法来训练模型,比较它们的性能,从中选择最优的方案。在训练模型前,可以将数据集分为训练集和测试集,或将训练集再细分为训练集和验证集,以便评估模型对新数据的表现。构建模型后,我们通常使用测试数据测试模型的效果。如果我们对模型的测试结果满意,就可以用这个模型对新数据进行预测;如果我们对测试结果不满意,则可以继续优化模型。优化的方法很多,在后面的章节中再详细讨论。到这里模型训练的工作就完成了。计算机在样本数据上使用一个算法,经过学习后得到一个模型,然后为模型输入新的待预测的数据,得到最终的预测结果。总结上述训练模型的过程,可分为以下三步:(1)根据应用场景、实际需要解决的问题以及手上的数据,选择一个合适的模型。(2)构建损失函数。需要依据具体的问题来确定损失函数,例如回归问题一般采用欧式距离作为损失函数,分类问题一般采用交叉熵代价函数作为损失函数,这部分内容在后续章节会展开讲述。(3)求解损失函数。求解损失函数是机器学习中的一个难点,因为做到求解过程又快又准不是一件容易的事情。常用的方法有梯度下降法、最小二乘法等,这部分内容同样在后续章节会展开讲述。实际上在每个阶段,产品经理都可以做很多事情以帮助开发工程师提升模型的效果,因为产品经理最接近业务,最了解一线需求,也就是最了解问题背景、方案应用场景、业务数据,等等。在整个项目开始之前我们需要确保开发工程师能够完全理解业务场景,明确模型的目标。在准备数据阶段,我们可以根据业务经验告诉开发工程师哪些数据是业务同事重点关注的,哪些数据可能会更有价值,哪些数据之间可能存在关联。比如在建立一个预测客户贷款倾向度模型时,我们会根据银行的经验把一些符合贷款申请的条件和规则告诉开发工程师,以便他们做数据过滤及异常数据的处理。在建模阶段,我们同样可以根据对业务场景的理解提出模型与数据源优化的方向,让程序开发和场景应用两个环境能够真正有机地结合起来。1.4机器学习的类型产品经理在日常工作中经常要用到一些理论方法来帮助解决问题。例如,在需求调研阶段,使用深度访谈、焦点小组、问卷调查、可用性测试等方法获得用户的真实反馈。在需求分析阶段,使用KANO模型、RFM模型、重要性象限判断等方法划分需求优先级。选择方法的关键是看使用场景以及不同产品的特性。在机器学习方面同样也有很多不同的算法,选择算法的关键是看数据的类型和待解决的问题。如图1-8所示,机器学习最常见的分类方式是根据数据有无标签分为四类:数据全部有标签的情况称为有监督学习,这种学习通过已有的一部分输入数据与输出数据之间的关系生成一个函数,再将输入数据映射到合适的输出数据;数据没有标签的情况称为无监督学习,这种学习直接对输入数据进行建模,挖掘数据之间的潜在关系;部分数据有标签的情况称为半监督学习和强化学习,前者综合利用有标签的数据和没有标签的数据,生成合适的分类函数,后者通过观察反馈自己去学习。以上几种学习方式并无优劣之分,只是应用场景不同。图1-8机器学习的四种类型1.4.1有监督学习大人们教导幼儿学习事物的类别时,会明确告诉幼儿哪些是书,哪些是桌子。类比到机器学习中,幼儿眼中看到的景物就是输入数据,大人们告诉幼儿的判断结果就是相应的输出。当幼儿见识多了以后,脑子里慢慢就会形成直观的感觉,记住这些事物的特点,这相当于通过训练得到了想要找到的函数,因而下次不需要别人告诉他们,他们就可以自己去判断哪些是书,哪些是桌子。这个过程叫作有监督学习(SuerviedLearig)。有监督学习的训练集要求每一条数据都包括输入和输出,也就是说必须带有特征和分类结果。训练集中的分类结果是人为标注好的,有监督学习是一个通过已有训练样本的输入与输出训练模型,再利用这个模型将所有的新输入数据映射为相应的输出,对输出进行判断从而实现分类的过程。最终模型具备了对未知数据分类的能力。有监督学习的目标是让计算机去学习我们已经创建好的分类系统。例如,在垃圾邮件检测中,模型的训练数据都是提前区分好的垃圾邮件与正常邮件,我们不需要机器去定义什么是垃圾邮件,只需要机器找到垃圾邮件出现的规律即可。有监督学习是最常见的传统机器学习算法,如人工神经网络、支持向量机、K近邻法、朴素贝叶斯方法、决策树等都是有监督学习。1.4.2无监督学习当幼儿长大成年之后,在认识世界的过程中经常用到无监督学习。例如,我们去参观画展,每个人对艺术的认识都不相同,这就需要我们自己去体会作品,寻找美的感觉。类比到机器学习中我们看到的画作就是输入数据,没有人告诉我们哪些画是更美的作品。看多了以后,我们会形成自己的审美标准,也就相当于通过大量的画作找到了一个函数,下次面对新的画作时,我们可以用自己的审美方式去评价这幅作品。这样一个过程就叫作无监督学习(UuerviedLearig)。无监督学习的训练集使用无标签的数据,也叫无输出数据。每一条数据没有所谓的“正确答案”,模型必须自己搞明白最后呈现的是什么。无监督学习的目标不是告诉计算机怎么做,而是让计算机自己去学习怎么做,自己去探索数据并找到数据的规律。我们常说的“物以类聚,人以群分”就是最典型的例子。只需要把相似度高的东西放在一起,模型就能发现它们的规律。对于新来的样本,计算新样本与原来样本的相似度后,模型可以按照相似程度对它们进行归类。当我们在做营销方案时,经常会遇到没有任何分群依据的情况,这时候用无监督学习可以识别有相同属性的顾客群,从而在营销活动中以同样的方式对待这些客户,同时也可以通过模型找到适合这个活动的客户的特点,从而为营销建议提供决策支持。有别于有监督学习网络,无监督学习网络在学习过程中并不知道其分类结果是否正确。无监督学习的特点是仅仅从样本中找出某个类别的潜在规律。常见的聚类问题都属于无监督学习。1.4.3半监督学习通常我们能够使用有监督学习得到一个性能更好、泛化能力更强的模型。有监督学习最大的限制条件在于必须使用带有标签的数据。在如今数据爆炸的时代,想要给数万亿的数据都打上标签是不太现实的事情。在图像识别领域,我们可以轻易地收集到几十万或上百万张关于桌子、椅子、书本和玩具的图片,但是要对每一张图片都打上标签,标明哪张图片是桌子,哪张是椅子,代价非常高,是一项耗时耗力的工作。我们在实际项目中拿到的往往是其中只有少量数据有标签的海量数据,这种情况非常不利于使用有监督学习方法。半监督学习(Semi-uerviedLearig)就是为解决上述问题而产生的,其目的在于利用海量未带标签数据,辅之以少量带标签数据进行学习训练,增强计算机的学习能力。半监督学习在训练阶段结合了大量无标签数据和少量标签数据。虽然无标签数据不能够提供类别信息,但是这些数据中蕴含了大量的数据分布信息,这些规律对模型学习起到正向帮助的作用。半监督学习可被进一步划分为纯半监督学习和直推学习。纯半监督学习假定训练数据中的未标记样本并非待预测数据,而直推学习假定学习过程中所考虑的未标记样本就是待预测数据,学习的目的就是在未标记样本上获得最优泛化性能。也就是说纯半监督学习基于开放世界的假设,希望学得的模型能适用于训练过程中未观察到的数据;而直推学习基于封闭世界假设,仅试图对学习过程中观察到的未标记数据进行预测。对此,产品经理只需了解即可,不需要深入了解两种学习的区别。半监督学习结合了有监督学习与无监督学习的特点,利用有标签数据的局部特征和分类方式,以及更多无标签数据的整体分布情况,就可以得到比单一数据源更好的分类结果。1.4.4强化学习AlhaGo的表现让很多人认识到强化学习的威力,通过这一方式训练出来的模型竟能达到如此智能的地步。强化学习(ReiforcemetLearig)会在没有任何标签的情况下,先尝试做出一些动作得到一个结果,通过这个结果的反馈,调整之前的行为。通过不断的调整,算法强化自身的决策能力,最终能够根据不同的情况,获得不同的决策结果。这种学习方式和有监督学习有点类似,它们都会学习从输入到输出的一个映射。但有监督学习输出的是数据之间的关系,可以告诉算法一个输入对应什么样的输出。所谓强化学习就是智能系统从环境到行为映射的学习,目的是获得最大的奖励信号。也就是说强化学习输出的是给机器的反馈,用来判断这个行为是正确的还是错误的。另外,强化学习的结果反馈有延时,有时候可能在走了很多步以后才知道前面某一步选择的优劣,而有监督学习做了比较坏的选择之后会立刻反馈给算法。有监督学习就好比有家长陪伴的学习,家长会马上告诉幼儿对错,纠正幼儿的错误。而强化学习就好比有一只还没有训练好的小狗,每当它把屋子弄乱后,主人就减少狗粮的数量。每次表现不错时,狗粮的数量就加倍。在这个过程中,先做一次小狗弄乱房间的试验,最终获得一个减少狗粮的负反馈结果,接下来小狗要是表现很好就获得一个增加狗粮的正反馈结果,这样反复很多次后,小狗会知道把客厅弄乱是不好的行为。虽然强化学习和无监督学习都使用无标签数据进行学习,但两者之间有很大的区别。例如在向用户推荐新闻的任务中,无监督学习会找到用户先前已经阅读过的类似新闻,并向他们推荐一个同类的新闻;而强化学习则通过向用户推荐少量新闻的方式,获得来自用户的反馈,最后构建用户可能会喜欢的新闻的“知识图”。选择哪种学习方式,主要看业务场景的需要以及具体问题下的实现难度。1.5产品经理的经验之谈本章开篇主要讲述机器学习的概念及机器学习适合解决的问题。对机器学习有一个初步认识后,我们再具体学习机器学习的过程,以及如何选择模型,机器学习可以分为哪些类别等。机器学习让计算机也能像人类一样通过观察大量的数据发现事物规律,获得某种分析问题、解决问题的能力。计算机需要得到数据、学习算法及模型三方面的支持,才能在面对新数据时自动做出判断,主动学习。机器学习不能解决所有问题。机器学习擅长的是通过已知经验找到规律从而解决问题。对于同时满足有规律可以学习,通过编程很难实现,并且有足够多能够从中学习到规律的数据三个条件的问题,我们可以尝试挑选合适的算法去解决。基于上述条件,我们经常用机器学习来解决预测、分类、聚类、归因、异常检测等方面的问题。预测和分类的主要区别在于使用的数据源类型不同。预测主要使用连续值构建函数,分类主要使用离散值构建函数。分类与聚类类似,主要区别在于在分类场景下,我们已经知道训练数据的分类有哪些,而在聚类场景下我们可能不知道,要根据需要对数据进行聚合。机器学习生成一个模型的过程通常包括准备数据、建立模型及应用模型三个阶段。准备数据阶段包含收集数据、探索数据、预处理数据三个步骤。处理数据后,在建模阶段开始训练模型、评估模型,然后优化模型,最终到应用阶段投产使用模型,在新数据上完成机器学习的任务。数据的质量直接决定了模型的表现如何,因此我们需要在数据预处理上花费更多的心思,让数据的表现力更强。其实很多机器学习都是在解决类别归属的问题,即给定一些数据,判断每条数据属于哪些类,或者和其他哪些数据属于同一类等。如果我们只对这一堆数据进行某种划分,通过它们内在的一些属性和联系,将数据自动整理为某几类,这就属于无监督学习。如果我们一开始就知道了这些数据包含的类别,并且有一部分数据(训练数据)已经被标上了类别,我们通过对这些已经标好类别的数据进行归纳总结,得出一个映射函数,从而对剩余的数据进行分类,这就属于有监督学习。而半监督学习指的是在训练数据十分稀少的情况下,利用一些没有类标的数据提高学习准确率的方法。根据反馈的好坏来推导规则,以进行下一步学习的方式就是强化学习。最后,产品经理是需求与开发之间的桥梁,千万不能把需求交给开发人员后,就摆出一副事不关己的姿态。产品经理不但要考虑如何提升模型的精度,更要思考模型应用后,如何提升应用效果。2数据的准备工作2.1数据预处理2.1.1为什么要做数据预处理数据准备有收集数据、探索数据、数据预处理三个步骤。这一章我们重点讲解如何挖掘数据的有效信息以及如何对数据进行预处理,以便从加工后的数据中提取特征,为模型学习打下坚实的基础。在信息化时代,数据逐渐成为现代社会基础设施的一部分,就像日常生活中不可或缺的水、电、公路、通信网络一样。同时因互联网的快速普及,全球数据量正呈现出指数级的爆炸式增长。弗雷斯特研究公司的公开研究结果表明,目前金融交易、社交媒体、GPS坐标等数据源每天产生超过2.5EB的海量数据。美国国际数据集团预测,按照目前全球数据总量50%左右的增长率预估,至2020年全球产生的数据总量将达到40ZB。面对如此庞大的数据矿山,想要挖出有价值的金子可不是一件容易的事情,其主要原因在于数据来源渠道太广泛,因此收集到的数据质量参差不齐,缺失大量的数据或存在很多异常数据。导致数据不完整或者不准确的原因有很多,例如不同渠道用户填写的信息不同、用户修改信息后历史数据没有被覆盖、数据传输过程中丢失、命名约定不一致或输入字段格式不一致等。在银行办理过业务的同学都有过这样的经历,填表时,对于不重要的信息选择不填写,不便透露的信息随便填写,“生日”直接选择默认值“1月1日”,“家庭住址”填写了城市,这些行为都会给数据处理人员造成不少的困扰。想象你是一家互联网金融公司的产品经理,你设计了一个功能,通过用户注册时填写的“兴趣爱好”来推荐不同的理财业务。上线后却发现转化率非常低,仔细一看数据才发现“兴趣爱好”区域中默认勾选了几个板块,因此很多用户懒得修改,就直接进入下一步了。从数据上看有几个板块较受欢迎,但实际上不是用户的真实想法。这种“不真实”的数据会让产品经理产生错误的判断。同样,这种“不真实”的数据也会给模型以错误的引导。数据和特征决定了机器学习的上限,而模型和算法的应用只是让我们逼近这个上限。这个说法形象且深刻地道出数据处理和特征分析的重要性。给定不同的训练数据,训练出来的模型的效果可能天差地别。因此上述这种数据格式不统一、存在异常值和缺失值的现象,会让机器的学习过程变得十分艰难。如图2-1所示,一般情况下,我们获得的原始数据可能存在以下几个问题。图2-1原始数据可能存在的问题(1)存在缺失值:部分字段没有信息,需要补充缺失值。(2)存在异常值:部分字段因为记录错误,导致出现不在正常取值范围内的数值。(3)信息的度量范围不同:很多字段的数值取值范围不同,例如年龄的取值一般在0~120的区间,身高的取值通常在60~230的区间。具有不同单位、度量范围的数据很难放在一起比较,需要通过某些方法让所有数据的取值都处在一个范围里。(4)信息表达的意义不准确:对于某些定量特征,其包含的信息是以区间划分的数值,不同数值代表的含义有很大差别。例如学生的考试成绩,“59分”和“60分”虽然只有1分之差但表示的含义是完全不同的,我们可以将定量的考分,转换成“1”和“0”表示及格和未及格。(5)定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,需要将定性特征转换为定量特征。最简单的方式是为每一种定性值指定一个定量值,例如客户的“兴趣爱好”这个字段有“文体活动”“投资理财”等,我们可以把这些表述转化成“01”“02”这样的数值以便机器能够加以区分。(6)信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,部分数据的表达能力比较弱,需要通过数据增强的手段才能让机器更容易理解。为了解决以上问题,提高数据质量,工程师们在训练模型前首先需要想办法提升数据的质量。因此他们创建了许多数据预处理技术,通过这些技术能够增强数据的表现力,让算法发挥最佳的效果。数据预处理主要分为数据清洗、数据集成、数据变换及数据归约四个步骤。在数据清洗阶段,我们试图填充缺失的值,光滑噪声点和识别离群点,并纠正数据中不一致的取值。在数据集成阶段,我们会将多个数据源中的数据整合存放在统一的数据源中,这样做有助于减少结果数据集的冗余和不一致,提高后续建模的准确性和速度。在数据变换阶段,我们通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。在数据归约阶段,在尽可能保持数据原貌的前提下,最大限度地精简数据量。这样,使用归约后的数据集训练模型更加高效,并且能够产生与原数据集相同的分析结果。2.1.2数据清洗拿到数据之后,我们首先进行数据清洗。数据清洗是整个数据预处理的第一步,也是对数据重新审查、校验的过程。通过这个环节,能够统一数据格式,清除异常值以及填补缺失值,不让错误、不规整的数据进入模型中。通常情况下,我们可以按照格式标准化、错误纠正、异常数据处理以及清除重复数据这样的顺序检查数据问题并且选择合适的方法处理其中待改善的数据,如图2-2所示。数据清洗的方法非常多,产品经理只需要了解数据清洗的一般思路,在面对实际问题时能根据数据源的特点选择合适的方法进行清洗即可,没有必要把全部方法都使用一遍。图2-2数据清洗的一般步骤1.格式标准化拿到数据之后,我们首先统一数据格式规范。不规范、不统一的数据可能不会影响我们对数据含义的理解,但是影响模型对数据的理解。因此含义相同的字段需要采用统一的表达形式,例如,1月30日、1/30、1-30表达的都是同一天,需要统一采用标准时间戳格式。深圳福田、深圳市福田区、深圳福田区都表达相同的含义,需要采用相同的表达形式。最后检查数据中不应该出现的字符,最常见的是字段中头部、中部、尾部误输入的空格,或者是姓名中存在数字、身份证号中出现汉字这样的情况。2.错误纠正接下来检查数据中有没有出现与该字段不符的内容,产品经理可以对数值型以及枚举型字段的取值设定一个范围,依靠业务知识与经验帮助工程师修正数据中出现的错误取值。例如银行在分析客户的消费情况时,会发现部分客户的信用卡消费金额中出现负数的消费记录,如果有对应数额的消费记录则可以判断这笔记录是一笔退款,则可以同时清除这两条消费记录。如果没有对应数额的消费记录,则判断这笔记录是一笔还款,则可以消除这条入账记录。还有一种常见的错误是输入位置错误,例如在姓名栏填写了性别,在身份证号栏填写了手机号等。对于这种情况,不能简单地删除错误数据,因为有可能是人工填写错误,也有可能是前端没有校验,还有可能是导入数据时存在部分或全部列没有对齐的问题,因此我们要仔细识别问题类型,逐个进行处理。3.异常数据清理统一数据格式后,开始分析数据的异常情况。在这个环节需要处理含有缺失值及异常值的数据,缺失值是指字段取值缺失的数据,异常值指的是数据集中偏离大部分数据的取值的数据。在没办法补充数据的情况下,对于数据的缺失值,一般采用删除法或插补法处理。删除法比较简单,如果存在缺失值的数据量不大,则可以直接删除这些缺失的记录。如果某个变量的缺失值较多且对研究目标没有太大影响,则可以将这个变量整体删除。在条件允许的情况下,可以用插补法找到缺失值的替代值进行插补,尽可能还原真实数据的分布情况。常见的插补法有两种形式。(1)使用属性的中心度量填充缺失值:统计某个缺失特征的数据分布情况,对于均匀分布的特征数据可以使用均值进行插补;对于分布不均匀的特征数据可以使用中位数进行插补,如图2-3所示。还是刚才银行分析客户消费情况的例子,如果部分客户的月收入特征没有数值,则可以统计所有客户的月收入情况,取月收入的中位数或均值,填充到缺失该特征的样本中。图2-3使用属性的中心度量填充缺失值(2)使用最有可能的值填充缺失值:使用算法推测缺失值,常见的算法有回归算法、贝叶斯算法或决策树算法。如图2-4所示,如果我们想要更加准确地知道一个客户的月收入,则可以通过决策树的方式找出和这个客户具有相同特征的人群,对比该人群的月收入情况再确定缺失值。或者通过回归算法,预测出这个客户最有可能的月收入情况,以此填充缺失值。图2-4使用算法推测缺失值异常值也称为数据噪声,若想处理噪声数据,首先要了解如何找到这些噪声点。通常我们会采用两种方法寻找噪声点:一种是计算该数据集的均值,选择与均值差距较大的数据点作为噪声点;另一种是采用聚类方法,将某个特征可能出现的取值集合成“群”,落在“群”集合之外的值被视为离群的噪声点。检查噪声后,采用分箱、聚类、回归、机器和人工检查相结合等方法让数据的分布情况变得更“光滑”,去掉数据中的噪声。产品经理不需要掌握具体的实现方法,只需要了解哪些是我们可以使用的技术。无论是缺失值还是异常值,都需要产品经理仔细思考,分析成因并推测出正确值。对于缺失或不能推测的数据也要想一些其他转化的方法让这部分数据的不良影响降到最低。4.清除重复数据数据清洗的最后一步是检查数据源中有没有特征值相同的记录。这个步骤比较简单,只需要判断样本数据的每一个特征值是否相同,将相同的记录合并为一条记录即可。2.1.3数据集成如果样本数据被存放在多个不同的数据源中,我们需要将这些数据源中的数据结合起来并统一存储。建立数据仓库的过程实际上就是数据集成,如图2-5所示。这个步骤就是将分散在不同数据源的样本有机地整合到一起,例如宽表整合,将所有的特征值合并到一张表上展示。集成有助于减少结果数据集的冗余,并且对数据进行统一处理,能够提高后续数据挖掘的准确性和速度。图2-5数据集成数据集成是指将多个数据库整合为一个数据库。在这个过程中需要着重解决命名差异、数据冗余以及数据值冲突三个问题。造成这些问题的原因主要是来自多个数据集合的数据由于在命名上存在差异而导致相同的特征具有不同的名称,或者是相同意义的字段采用了不同的表达方式,等等。实际上,命名差异与数据值冲突的问题在经过数据清洗后已经基本得到解决,数据冗余的问题通过数据变换及数据归约解决。在集成环节,只需要把不同数据集的数据结合并统一存储即可。2.1.4数据变换经过以上几步,我们可以得到一份格式统一、没有缺失值和异常值的初始数据。这样的数据集已经满足了机器学习的基本要求,可以开始训练模型了。但是在模型实际应用数据的时候会发现,使用这种数据训练起来速度慢而且效果也不好,其原因是数据量太大,部分有价值的信息没有被完全利用。为了提升模型的准确率,我们可以尝试变换数据,帮助计算机寻找数据之间的关联,挖掘出更有价值的信息。常见的数据变换方法有很多,例如标准化、归一化、正则化、特征二值化,等等。产品经理只需要了解这些方法的目的,不需要掌握具体的实现过程。图2-6展示了常用的数据变换方法。试读结束[说明:试读内容隐藏了图片]点击下载...

    2022-04-03

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园