机器学习实战_Machine_Learning_in_Action

机器学习是使用计算机来彰显数据背后的真实含义,它为了把无序的数据转换成有用的信息。是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
展开查看详情

1. 目 录 致谢 阅前必读 1. 机器学习基础 机器学习实战-复习版(问题汇总) 2. k-近邻算法 3. 决策树 4. 基于概率论的分类方法:朴素贝叶斯 5. Logistic回归 6. 支持向量机 What’s the SVM? 7. 集成方法-随机森林和AdaBoost 8. 预测数值型数据:回归 9. 树回归 10. 使用K-均值聚类算法对未标注数据分组:k-means聚类 11. 使用Apriori算法进行关联分析 12. 使用FP-growth算法来高效发现频繁项集 13. 利用PCA来简化数据 14. 利用SVD简化数据 15. 大数据与MapReduce 16. 推荐系统 2017-04-08_第一期的总结 朴素贝叶斯讨论 直播问题汇总 本文档使用 书栈(BookStack.CN) 构建 - 1 -

2.致谢 致谢 当前文档 《机器学习实战(Machine Learning in Action)》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构 建,生成于 2018-02-16。 书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以 及对文档内容的生成和导出工具。 文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认 文档内容知识点是否错漏。如果您在阅读文档获取知识的时候,发现文 档内容有不恰当的地方,请向我们反馈,让我们共同携手,将知识准 确、高效且有效地传递给每一个人。 同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识 文档,欢迎分享到 书栈(BookStack.CN) ,为知识的传承献上您的 一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取 最新的文档,以跟上知识更新换代的步伐。 文档地 址:http://www.bookstack.cn/books/MachineLearning 书栈官网:http://www.bookstack.cn 书栈开源:https://github.com/TruthHun 分享,让知识传承更久远! 感谢知识的创造者,感谢知识的分享 者,也感谢每一位阅读到此处的读者,因为我们都将成为知识的传承 者。 本文档使用 书栈(BookStack.CN) 构建 - 2 -

3.致谢 本文档使用 书栈(BookStack.CN) 构建 - 3 -

4.阅前必读 阅前必读 MachineLearning 第一部分 分类 第二部分 利用回归预测数值型数据 第三部分 无监督学习 第四部分 其他工具 第五部分 项目实战(非课本内容) 阶段性总结 联系方式 网站视频 ApacheCN 组织资源 MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 ApacheCN - 学习机器学习群【629470233】 Machine Learning in Action (机器学习实战) | ApacheCN(apache中文网) 电子版书籍:【机器学习实战-中文版-带目录版.pdf】 — 感谢 大佬 Wizard Zhang 生成的电子书《机器学习实战- ApacheCN.pdf》 视频已更新完成,如果你觉得有价值,请帮忙点 Star【后续组织 学习活动:sklearn、kaggle 和 tensorflow】 — 视频网站:优酷/bilibili / Acfun ,可直接在线播放。 (最下方有相应链接) — 对于帮忙转发 MachineLearning(机器学习) 学习路线图 的 朋友,可以加群后私聊 瑶妹 企鹅 赠送《机器学习实战》百度云 本文档使用 书栈(BookStack.CN) 构建 - 4 -

5.阅前必读 视频一套,谢谢 第一部分 分类 1.) 机器学习基础 机器学习实战-复习版(问题汇总) 2.) k-近邻算法 3.) 决策树 4.) 基于概率论的分类方法:朴素贝叶斯 5.) Logistic回归 6.) 支持向量机 7.) 集成方法-随机森林和AdaBoost 第二部分 利用回归预测数值型数据 8.) 预测数值型数据:回归 9.) 树回归 第三部分 无监督学习 10.) 使用K-均值聚类算法对未标注数据分组:k-means聚类 11.) 使用Apriori算法进行关联分析 12.) 使用FP-growth算法来高效发现频繁项集 第四部分 其他工具 13.) 利用PCA来简化数据 14.) 利用SVD简化数据 15.) 大数据与MapReduce 本文档使用 书栈(BookStack.CN) 构建 - 5 -

6.阅前必读 第五部分 项目实战(非课本内容) 16.) 推荐系统 阶段性总结 2017-04-08_第一期的总结 联系方式 项目负责人 @jiangzhonglian(片刻) 模块负责人 负责人 模块 章节 类型 QQ (GitHub) 机器学习 第 1 章: 机器学习基础 介绍 @毛红动 1306014226 实战 机器学习 第 2 章: KNN 近邻算法 分类 @尤永江 279393323 实战 机器学习 第 3 章: 决策树 分类 @景涛 844300439 实战 机器学习 第 4 章: 朴素贝叶斯 分类 @黎荣晋 1844886175 实战 机器学习 第 5 章: Logistic回归 分类 @黄金 604090997 实战 机器学习 第 6 章: SVM 支持向量机 分类 @王德红 934969547 实战 机器学习 第 7 章: 集成方法(随机森林和 分类 @高益美 424410028 实战 AdaBoost) 机器学习 第 8 章: 回归 回归 @段任文 401233721 实战 机器学习 第 9 章: 树回归 回归 @段任文 401233721 实战 机器学习 第 10 章: K-Means 聚类 聚类 @徐昭清 827106588 实战 机器学习 第 11 章: 利用 Apriori 算法进 频繁 @刘海飞 1049498972 实战 行关联分析 项集 本文档使用 书栈(BookStack.CN) 构建 - 6 -

7.阅前必读 机器学习 第 12 章: FP-growth 高效发现 频繁 @程威 842725815 实战 频繁项集 项集 机器学习 第 13 章: 利用 PCA 来简化数据 工具 @廖立娟 835670618 实战 机器学习 第 14 章: 利用 SVD 来简化数据 工具 @张俊皓 714974242 实战 机器学习 第 15 章: 大数据与 MapReduce 工具 @范未太 842376188 实战 项目贡献者 @jiangzhonglian(片刻) @wangyangting(那伊抹微笑) @chenyyx(瑶妹) @geekidentity(侯法超) @mikechengwei(Mike) @hello19883(hello19883) @sheepmen(徐鑫) @highfei2011(ibe) @LeeMoonCh(Arithmetic) @caopeirui(Veyron C) @Cugtyt(Cugtyt) 加入方式 企鹅: 529815144(片刻) 1042658081(那伊抹微笑) 190442212(瑶妹) ApacheCN(apache中文网) 维护更新 关于我们 加入我们 网站视频 本文档使用 书栈(BookStack.CN) 构建 - 7 -

8.阅前必读 知乎问答-爆炸啦-机器学习该怎么入门? 当然我知道,第一句就会被吐槽,因为科班出身的人,不屑的吐了一口 唾沫,说傻X,还评论 Andrew Ng 的视频。。 我还知道还有一部分人,看 Andrew Ng 的视频就是看不懂,那神秘 的数学推导,那迷之微笑的英文版的教学,我何尝又不是这样走过来 的?? 我的心可能比你们都痛,因为我在网上收藏过上10部《机器学 习》相关视频,外加国内本土风格的教程:7月+小象 等等,我都很难 去听懂,直到有一天,被一个百度的高级算法分析师推荐说:《机器学 习实战》还不错,通俗易懂,你去试试?? 我试了试,还好我的Python基础和调试能力还不错,基本上代码都调 试过一遍,很多高大上的 “理论+推导”,在我眼中变成了几个 “加减 乘除+循环”,我想这不就是像我这样的程序员想要的入门教程么? 很多程序员说机器学习 TM 太难学了,是的,真 TM 难学,我想最难 的是:没有一本像《机器学习实战》那样的作者愿意以程序员 Coding 角度去给大家讲解!! 最近几天,GitHub 涨了 300颗 star,加群的200人, 现在还在不 断的增加++,我想大家可能都是感同身受吧! 很多想入门新手就是被忽悠着收藏收藏再收藏,但是最后还是什么都没 有学到,也就是”资源收藏家”,也许新手要的就是 MachineLearning(机器学习) 学习路线图。没错,我可以给你们的 一份,因为我们还通过视频记录下来我们的学习过程。水平当然也有 限,不过对于新手入门,绝对没问题,如果你还不会,那算我输!! 视频怎么看? 本文档使用 书栈(BookStack.CN) 构建 - 8 -

9.阅前必读 1. 理论科班出身-建议去学习 Andrew Ng 的视频(Ng 的视频绝对 是权威,这个毋庸置疑) 2. 编码能力强 - 建议看我们的《机器学习实战-教学版》 3. 编码能力弱 - 建议看我们的《机器学习实战-讨论版》,不过在 看理论的时候,看 教学版-理论部分;讨论版的废话太多,不过在 讲解代码的时候是一行一行讲解的;所以,根据自己的需求,自由 的组合。 循序渐进大体介绍:机器学习初学者建议 | ApacheCN 干货内容实际操作:MachineLearning(机器学习) 学习路线图 机器学习视频-教学版 AcFun B站 本文档使用 书栈(BookStack.CN) 构建 - 9 -

10.阅前必读 优酷 网易云课堂 ApacheCN 组织资源 kaggle: 机器学习竞赛 深度学习 机器学习 大数据 运维工具 TensorFlow R1.2 机器学习实战-教 Spark 2.2.0和 Zeppelin 0.7.2 中文文档 学 2.0.2 中文文档 中文文档 Pytorch 3.0 中文 Sklearn 0.19 Storm 1.1.0和 Kibana 5.2 中文 文档 中文文档 1.0.1 中文文档 文档 LightGBM 中文 Kudu 1.4.0 中文文 文档 档 XGBoost 中文文 Elasticsearch 5.4 档 中文文档 Beam 中文文档 本文档使用 书栈(BookStack.CN) 构建 - 10 -

11.阅前必读 本文档使用 书栈(BookStack.CN) 构建 - 11 -

12.1. 机器学习基础 1. 机器学习基础 第1章 机器学习基础 机器学习 概述 机器学习 研究意义 机器学习 场景 机器学习 组成 主要任务 监督学习(supervised learning) 非监督学习(unsupervised learing) 强化学习 训练过程 算法汇总 机器学习 使用 机器学习 数学基础 机器学习 工具 Python语言 数学工具 附:机器学习专业术语 第1章 机器学习基础 本文档使用 书栈(BookStack.CN) 构建 - 12 -

13.1. 机器学习基础 机器学习 概述 机器学习(Machine Learning,ML) 是使用计算机来彰显数据背后的真实含 义,它为了把无序的数据转换成有用的信息。是一门多领域交叉学科, 涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技 能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人 工智能的各个领域,它主要使用归纳、综合而不是演绎。 1. 海量的数据 2. 获取有用的信息 机器学习 研究意义 本文档使用 书栈(BookStack.CN) 构建 - 13 -

14.1. 机器学习基础 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能, 特别是如何在经验学习中改善具体算法的性能”。 “机器学习是对能通 过经验自动改进的计算机算法的研究”。 “机器学习是用数据或以往的 经验,以此优化计算机程序的性能标准。” 一种经常引用的英文定义 是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. 机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自 然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、 证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运 用。 机器学习 场景 例如:识别动物猫 模式识别(官方标准):人们通过大量的经验,得到结论,从 而判断它就是猫。 机器学习(数据学习):人们通过阅读进行学习,观察它会 叫、小眼睛、两只耳朵、四条腿、一条尾巴,得到结论,从而 判断它就是猫。 深度学习(深入数据):人们通过深入了解它,发现它会’喵 喵’的叫、与同类的猫科动物很类似,得到结论,从而判断它 就是猫。(深度学习常用领域:语音识别、图像识别) 模式识别(pattern recognition): 模式识别是最古老的 (作为一个术语而言,可以说是很过时的)。 本文档使用 书栈(BookStack.CN) 构建 - 14 -

15.1. 机器学习基础 我们把环境与客体统称为“模式”,识别是对模式的一种认知, 是如何让一个计算机程序去做一些看起来很“智能”的事情。 通过融于智慧和直觉后,通过构建程序,识别一些事物,而不 是人,例如: 识别数字。 机器学习(machine learning): 机器学习是最基础的(当下 初创公司和研究实验室的热点领域之一)。 在90年代初,人们开始意识到一种可以更有效地构建模式识别 算法的方法,那就是用数据(可以通过廉价劳动力采集获得) 去替换专家(具有很多图像方面知识的人)。 “机器学习”强调的是,在给计算机程序(或者机器)输入一些 数据后,它必须做一些事情,那就是学习这些数据,而这个学 习的步骤是明确的。 机器学习(Machine Learning)是一门专门研究计算机怎 样模拟或实现人类的学习行为,以获取新的知识或技能,重新 组织已有的知识结构使之不断改善自身性能的学科。 深度学习(deep learning): 深度学习是非常崭新和有影响力 的前沿领域,我们甚至不会去思考-后深度学习时代。 深度学习是机器学习研究中的一个新的领域,其动机在于建 立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来 解释数据,例如图像,声音和文本。 参考地址: 深度学习 vs 机器学习 vs 模式识别 深度学习 百科资料 机器学习已应用于多个领域,远远超出大多数人的想象,横跨:计算机科学、工程技术和统计学 等多个学科。 搜索引擎: 根据你的搜索点击,优化你下次的搜索结果,是机器学 本文档使用 书栈(BookStack.CN) 构建 - 15 -

16.1. 机器学习基础 习来帮助搜索引擎判断哪个结果更适合你(也判断哪个广告更适合 你)。 垃圾邮件: 会自动的过滤垃圾广告邮件到垃圾箱内。 超市优惠券: 你会发现,你在购买小孩子尿布的时候,售货员会赠 送你一张优惠券可以兑换6罐啤酒。 邮局邮寄: 手写软件自动识别寄送贺卡的地址。 申请贷款: 通过你最近的金融活动信息进行综合评定,决定你是否 合格。 机器学习 组成 主要任务 分类(classification):将实例数据划分到合适的类别中。 应用实例:判断网站是否被黑客入侵(二分类 ),手写数字 的自动识别(多分类) 回归(regression):主要用于预测数值型数据。 应用实例:股票价格波动的预测,房屋价格的预测等。 监督学习(supervised learning) 必须确定目标变量的值,以便机器学习算法可以发现特征和目标变 量之间的关系。在监督学习中,给定一组数据,我们知道正确的输 出结果应该是什么样子,并且知道在输入和输出之间有着一个特定 的关系。 (包括:分类和回归) 样本集:训练数据 + 测试数据 训练样本 = 特征(feature) + 目标变量(label: 分类- 离散值/回归-连续值) 特征通常是训练样本集的列,它们是独立测量得到的。 本文档使用 书栈(BookStack.CN) 构建 - 16 -

17.1. 机器学习基础 目标变量: 目标变量是机器学习预测算法的测试结果。 在分类算法中目标变量的类型通常是标称型(如:真与 假),而在回归算法中通常是连续型(如:1~100)。 监督学习需要注意的问题: 偏置方差权衡 功能的复杂性和数量的训练数据 输入空间的维数 噪声中的输出值 知识表示 : 可以采用规则集的形式【例如:数学成绩大于90分为优秀】 可以采用概率分布的形式【例如:通过统计分布发现,90%的 同学数学成绩,在70分以下,那么大于70分定为优秀】 可以使用训练样本集中的一个实例【例如:通过样本集合,我 们训练出一个模型实例,得出 年轻,数学成绩中高等,谈吐 优雅,我们认为是优秀】 非监督学习(unsupervised learing) 在机器学习,无监督学习的问题是,在未加标签的数据中,试图找 到隐藏的结构。因为提供给学习者的实例是未标记的,因此没有错 误或报酬信号来评估潜在的解决方案。 无监督学习是密切相关的统计数据密度估计的问题。然而无监督学 习还包括寻求,总结和解释数据的主要特点等诸多技术。在无监督 学习使用的许多方法是基于用于处理数据的数据挖掘方法。 数据没有类别信息,也不会给定目标值。 非监督学习包括的类型: 聚类:在无监督学习中,将数据集分成由类似的对象组成多个 类的过程称为聚类。 密度估计:通过样本分布的紧密程度,来估计与分组的相似 本文档使用 书栈(BookStack.CN) 构建 - 17 -

18.1. 机器学习基础 性。 此外,无监督学习还可以减少数据特征的维度,以便我们可以 使用二维或三维图形更加直观地展示数据信息。 强化学习 这个算法可以训练程序做出某一决定。程序在某一情况下尝试 所有的可能行动,记录不同行动的结果并试着找出最好的一次 尝试来做决定。 属于这一类算法的有马尔可夫决策过程。 训练过程 算法汇总 本文档使用 书栈(BookStack.CN) 构建 - 18 -

19.1. 机器学习基础 机器学习 使用 选择算法需要考虑的两个问题 1. 算法场景 预测明天是否下雨,因为可以用历史的天气情况做预测,所以 选择监督学习算法 给一群陌生的人进行分组,但是我们并没有这些人的类别信 息,所以选择无监督学习算法、通过他们身高、体重等特征进 行处理。 2. 需要收集或分析的数据是什么 举例 机器学习 开发流程 1. 收集数据: 收集样本数据 2. 准备数据: 注意数据的格式 3. 分析数据: 为了确保数据集中没有垃圾数据; 如果是算法可以处理的数据格式或可信任的数据源,则可以跳 过该步骤; 本文档使用 书栈(BookStack.CN) 构建 - 19 -

20.1. 机器学习基础 另外该步骤需要人工干预,会降低自动化系统的价值。 4. 训练算法: [机器学习算法核心]如果使用无监督学习算法,由于 不存在目标变量值,则可以跳过该步骤 5. 测试算法: [机器学习算法核心]评估算法效果 6. 使用算法: 将机器学习算法转为应用程序 机器学习 数学基础 微积分 统计学/概率论 线性代数 机器学习 工具 Python语言 1. 可执行伪代码 2. Python比较流行:使用广泛、代码范例多、丰富模块库,开发周 期短 3. Python语言的特色:清晰简练、易于理解 4. Python语言的缺点:唯一不足的是性能问题 5. Python相关的库 科学函数库: SciPy 、 NumPy (底层语言:C和Fortran) 绘图工具库: Matplotlib 数据分析库 Pandas 数学工具 Matlab 本文档使用 书栈(BookStack.CN) 构建 - 20 -

21.1. 机器学习基础 附:机器学习专业术语 模型(model):计算机层面的认知 学习算法(learning algorithm),从数据中产生模型的方法 数据集(data set):一组记录的合集 示例(instance):对于某个对象的描述 样本(sample):也叫示例 属性(attribute):对象的某方便表现或特征 特征(feature):同属性 属性值(attribute value):属性上的取值 属性空间(attribute space):属性张成的空间 样本空间/输入空间(samplespace):同属性空间 特征向量(feature vector):在属性空间里每个点对应一个 坐标向量,把一个示例称作特征向量 维数(dimensionality):描述样本参数的个数(也就是空间 是几维的 学习(learning)/训练(training):从数据中学得模型 训练数据(training data):训练过程中用到的数据 训练样本(training sample):训练用到的每个样本 训练集(training set):训练样本组成的集合 假设(hypothesis):学习模型对应了关于数据的某种潜在规则 真相(group-true):真正存在的潜在规律 学习器(learner):模型的另一种叫法,把学习算法在给定数据 和参数空间的实例化 预测(prediction):判断一个东西的属性 标记(label):关于示例的结果信息,比如我是一个“好人”。 样例(example):拥有标记的示例 标记空间/输出空间(label space):所有标记的集合 本文档使用 书栈(BookStack.CN) 构建 - 21 -

22.1. 机器学习基础 分类(classification):预测时离散值,比如把人分为好人 和坏人之类的学习任务 回归(regression):预测值时连续值,比如你的好人程度达到 了0.9,0.6之类的 二分类(binary classification):只涉及两个类别的分类 任务 正类(positive class):二分类里的一个 反类(negative class):二分类里的另外一个 多分类(multi-class classification):涉及多个类别的 分类 测试(testing):学习到模型之后对样本进行预测的过程 测试样本(testing sample):被预测的样本 聚类(clustering):把训练集中的对象分为若干组 簇(cluster):每一个组叫簇 监督学习(supervised learning):典范—分类和回归 无监督学习(unsupervised learning):典范—聚类 未见示例(unseen instance):“新样本“,没训练过的样本 泛化(generalization)能力:学得的模型适用于新样本的能 力 分布(distribution):样本空间的全体样本服从的一种规律 独立同分布(independent and identically distributed,简称i,i,d.):获得的每个样本都是独立地从这 个分布上采样获得的。 作者:片刻 1988 GitHub地址: https://github.com/apachecn/MachineLearning 版权声明:欢迎转载学习 => 请标注信息来源于 ApacheCN 本文档使用 书栈(BookStack.CN) 构建 - 22 -

23.1. 机器学习基础 本文档使用 书栈(BookStack.CN) 构建 - 23 -

24.机器学习实战-复习版(问题汇总) 机器学习实战-复习版(问题汇总) 第1章 机器学习实战-复习版(问题汇总) 1.VSCode的安装使用 2.GitHub的使用说明 3.问题汇总 4.复习的时间和资料 5.直播方式 6.机器学习QQ群 第1章 机器学习实战-复习版(问题汇总) 1.VSCode的安装使用 参考文 档:http://cwiki.apachecn.org/pages/viewpage.action? pageId=7373315 2.GitHub的使用说明 参考文 档:https://github.com/apachecn/kaggle/blob/master/d ocs/github-quickstart.md 注意: https://github.com/apachecn/MachineLearning (这是本项目的地址,记得修改链接。。) 3.问题汇总 1.样本数据的来源: 本文档使用 书栈(BookStack.CN) 构建 - 24 -

25.机器学习实战-复习版(问题汇总) 1. 1. 日志文件 2. 2. 数据库 3. 3. HDFS 4. 4. 数据流 2.样本数据按照一定比例来划分:训练数据集 + 测试数据集 1. 1. 根据业务场景来分析,得到对应的比例 2. 2. 一般设置是按照 训练数据集:测试数据集 = 8:2 3.训练数据集包括: 特征(也就是数据的纬度 or 属性) + 目标变量(分类结果 or 回归值) 4.测试数据用来干嘛? 如下图:用于评估模型的效果。(测试样本的预测类别 和 测试样本的 实际类别 的diff,就是我们的错误率) 5.监督学习和无监督学习的区别:是否有目标变量(也就是:是否存在分类结果) 6.电子书的下载位置: 下载书籍: https://github.com/apachecn/MachineLearning/tree /python-2.7/books 7.性能不好是什么意思? 就是对比其他语言来说:资源的使用效率受限、处理速度慢。 本文档使用 书栈(BookStack.CN) 构建 - 25 -

26.机器学习实战-复习版(问题汇总) 8.学习原理后,如果成为调包侠?调包侠是否很丑? 1. 学习原理后,就看看 sklearn中文文档: http://sklearn.apachecn.org, 转型做调包侠 2. 调包侠一点都不丑,为什么呢? 便于分析业务,快速发现问题 开发速度快,便于优化和维护 9.python讲解的版本 2.7.X 2.7.X版本测试比较稳定,没有Bug 3.X 的朋友刚好可以上手去熟悉 API 并 锻炼自我解决问题的能 力,算是自我学习的一个方式吧 对于使用 3.X的朋友,可以提交 Pull Requests 到 3.X 分 支,成为开源的贡献者,方便更多的人学习你的代码 4.复习的时间和资料 形式:直播+讨论组 周期:周一 ~ 周五 时间:20:30 ~ 21:30 学习文 档:https://github.com/apachecn/MachineLearning 下载书籍: https://github.com/apachecn/MachineLearning/tree /python-2.7/books 活动日期:2017-11-20 ~ 2017-12-08(共15天,1章1天) 活动详 情:http://www.apachecn.org/machinelearning/279.h tml 本文档使用 书栈(BookStack.CN) 构建 - 26 -

27.机器学习实战-复习版(问题汇总) 5.直播方式 QQ:在讨论组共享屏幕(实时) 视频会在 讨论组中进行分享 B站的直播地址(延迟) 直播地址: http://live.bilibili.com/5427054 6.机器学习QQ群 ApacheCN - 学习机器学习群【629470233】 装逼不装逼,我们还是老地方见! | ApacheCN 本文档使用 书栈(BookStack.CN) 构建 - 27 -

28.2. k-近邻算法 2. k-近邻算法 第2章 k-近邻算法 KNN 概述 KNN 场景 KNN 原理 KNN 项目案例 项目案例1: 优化约会网站的配对效果 项目概述 开发流程 项目案例2: 手写数字识别系统 项目概述 开发流程 KNN 小结 第2章 k-近邻算法 本文档使用 书栈(BookStack.CN) 构建 - 28 -

29.2. k-近邻算法 KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法是一种基本分类与回归方法,我们这里只讨论分类问 题中的 k-近邻算法。 一句话总结:近朱者赤近墨者黑! k 近邻算法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k 近邻算法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其 k 个最近 邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻算法不具有显式的学习过程。 k 近邻算法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”。 k值的选 择、距离度量以及分类决策规则是k近邻算法的三个基本要素。 KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 本文档使用 书栈(BookStack.CN) 构建 - 29 -