00:01
第一章阴阳。机器学习machine learning是从数据中提取知识,它是统计学、人工智能和计算机科学交叉的研究领域,也被称为预测分析predictive analytics或统计学习statistical learning。近年来,机器学习方法已经应用到日常生活的方方面面,从自动推荐、看什么电影、点什么食物、买什么商品,到个性化的在线电台和从照片中识别好友,许多现代化网站和设备的核心都是机器学习算法。当你访问向Facebook MSN或Netflix这样的复杂网站时。很可能,网站的每一部分都包含多种机器学习模型。除了商业应用之外,机器学习也对当前数据驱动的研究方法产生很大影响。本书中介绍的工具均已应用在各种科学问题上,比如研究恒星、寻找谣言的行星、发现新粒子、分析DNA序列。
01:05
以及提供个性化的癌症治疗方案。不过,如果想受益于机器学习的算法。你的应用无需像上面那些例子那样给世界带来重大改变,数据量也用不着那么大。文章将解释机器学习如此流行的原因,并探讨机器学习可以解决哪些类型的问题。然后向你展示如何构建第一个机器学习模型,同时介绍一些重要的概念。首先看到1.1节,为何选择机器学习?在智能应用的早期,许多系统使用人为制定的衣服和else角色规则来处理数据。或根据用户输入的内容进行调整。想象有一个垃圾邮件过滤器,其任务是酌情将收到的某些邮件移动到垃圾邮件文件夹。你可以创建一个关键词黑名单,所有包含这些关键词的邮件都会被标记为垃圾邮件。
02:00
这是用专家设计的规则体系来设计智能应用的一个事例。人为制定的决策规则对某些应用来说是可行的,特别是人们对其模型处理过程非常熟悉的应用。但是,人为制定规则主要有两个缺点。做决策。所需要的逻辑只适用于单一领域和单项任务,哪怕任务稍微有一点变化,都可能需要重写整个系统。这是第一个缺点。第二个缺点,想要制定规则,需要对人类专家的决策过程有很深刻的理解。这种人为制定规则的方法并不适用的一个例子就是图像中的人脸检测。如今每台智能手机都能够检测到图像中的人脸,但直到2001年,人脸检测问题才得到解决。其主要问题在于计算机感知像素。像素组成了计算机中的图像的方式与人类感知面部的方式有非常大的不同,正是由于这种表征差异。
03:04
人类想要制定出一套好的规则来描述数字图像中的人脸构成,基本上是不可能的。但有了机器学习算法,仅向程序输入海量人脸图像,就足以让算法确定识别人脸需要哪些特征。看到1.1.1节机器学习能够解决的问题。最成功的机器学习算法是能够将决策过程自动化的那些算法,这些决策过程是从已知事例中泛化得出的,在这种叫做监督学习。的伦理方法中,用户将成对的输入和预期输出提供给算法,算法会找到一种方法,根据给定输入给出预期输出,尤其是在没有人类帮助的情况下,给定前所未见的输入,算法也能够给出相应的输出。回到前面垃圾邮件分类的例子,利用机器学习算法,用户为算法提供大量电子邮件作为输入。
04:02
以及这些邮件是否为垃圾邮件的信息作为预期输出,给您一封新邮件,算法就能够预测它是否为垃圾邮件。从输入输出队中进行学习的机器学习算法叫做监督学习算法superise the。因为每个用于算法学习的样例都对应着一个预期输出,好像有一个老师在监督的算法。虽然创建一个包含输入和输出的数据集往往费时又费力,但监督学习算法很好理解,其性能也易于测量。如果你的应用可以表示成一个监督学习问题。并且你能够创建包含预期输出的数据集,那么机器学习很可能可以解决你的问题。监督机器学习任务的示例如下,识别信封上手写的邮政编码。这里的输入是描扫描手写数字,预计输出是邮政编码中的实际数字。想要创建用于构建机器学习模型的数据集,你需要收集许多信封,然后你可以自己阅读邮证编码,将数字保存为预期输出。基于医学影像判断肿瘤是否为良性。这里的输入是影像输出是肿瘤是否为良性。想要创建用于创建。
05:17
想要创建用于构建模型的数据集,你需要一个医学影像数据库,你还需要咨询专家的意见。因此,医生需要查看所有的影像,然后判断哪些肿瘤是良性的,哪些不是良性的。除了影像内容之外。甚至可能还需要做额外的诊断来判断影像中的肿瘤是否为癌变。检测信用卡交易中的诈骗行为。这里的输入是信用卡交易记录,输出是该交易记录是否可能为诈骗。假设你是信用卡发行单位,收集数据及意味着需要保存所有的交易。并记录用户是否上报过任何诈骗交易。在这些例子中,需要注意一个有趣的现象就是,虽然输入和输出看起来相当简单,但三个例子中的数据收集过程却大不相同。阅读信封虽然很辛苦,却非常简单,也不用花多少钱。与之相反,获取医学影像和诊断不仅需要昂贵的设备,还需要稀有又昂贵的专家支持。
06:19
更不要说伦理问题和隐私问题了。在检测信用卡诈骗的例子中,收集数据要容易的多。你的顾客会上报诈骗行为,从而为你提供预期输出。要获取所有欺诈行为和非欺诈行为的输入输出对你只需等待即可。本书会讲到的另一类算法是无监督学习算法on supervis the learning ofm。在无监督学习中,只有输入数据是一致的,没有为算法提供输出数据。虽然这种算法有许多成功的应用,但理解和评估这些算法往往更加困难。无监督学习算法的示例如下。确定一系列博客文章的主题。如果你有许多文本数据,可能想对其进行汇总。
07:05
并找到其中共同的主题。事先你可能并不知道都有哪些主题,或者可或者不知道有多少个主题。所以输出是未知的。将客户分成具有相似偏好的群组。给定一组客户记录,你可能想要找出哪些客户比较相似,并判断能否根据相似偏好对这些客户进行分组。对于一家购物网站来说,客户分组可能是父母、书虫或游戏玩家。由于你事先并不知道可能有哪些分组,甚至不知道有多少组,所以并不知道输出是什么。检测网站的异常访问模式。想要识别网站的滥用或bug,找到异常的访问模式往往是很有用的。每种异常访问模式都互不相同,而且你可能没有任何记录在案的异常行为事例。在这个例子中,你只是观察流量,并不知道什么是正常访问行为和异常访问行为。
08:03
所以这是一个无监督学习问题。无论是监督学习任务还是无监督学习任务,将输入数据表征为计算机可以理解的形式都是十分重要的。通常来说,将数据想象成表格是很有用的。你想要处理的每一个数据点,每一份电子邮件,每一名客户,每一次交易,对应着表格中的一行,描述该数据点的每一项属性,比如客户年龄、交易金额和或者是交易地点对应表格中的一列。你可能会从年龄、性别、账号创建时间,在你的购物网站上的购买频率等方面来描述客户。你可能会用。每一个像素的灰度值来描述肿瘤图像。也可能利用肿瘤大小、形状和颜色进行描述。在机器学习中,这里的每个实体或每一行被称之为一个样本、三步或者说数据点,而每一列用来描述这些事情的属性则被称之为特征feature。本书后面会更详细的介绍如何构建良好的数据表征,这被称之为特征提取fair extraction或特征工程fair engineering。但你应该记住,如果没有数据信息的话,所有机器学习算法都无法做出预测。举个例子,如果你只有病人的姓氏这一个特征,那么任何算法都无法预测其性别,这些信息并未包含在数据中。如果你添加另一个特征,里面包含病人的名字,那么你预测正确的可能性就会变大。
09:30
因为通过一个人的名字,往往可以判断其性别。让人做不到100%。看到一点,1.2节,熟悉任务和数据。在机器学习过程中,最重要的部分很可能是理解你正在处理的数据,以及这些数据与你想要解决的任务之间的关系。随机选择一个算法并将你的数据输入进去,这种算法是不会有什么用的。在开始构建模型之前,你需要理解数据集的内容。每一种算法的输入数据类型和最适合解决的问题都是不一样的。在构建机器学习解决方案的过程中。
10:08
你应该给出下列问题的答案,或者至少要将这些这些问题记在脑子里。我想要回答的问题是什么?已经收集到的数据能够回答这个问题吗?要将我的问题表示成机器学习问题,用哪种方法最好?我收集的数据是否足够表达我想要解决的问题?我提取了数据的哪些特征?这些特征是否实现了正确的预测?如果衡量应用是否成功,机器学习解决方案与我的研究或商业产品中的其他部分是如何相互去影响的?从更大的层面来看,机器学习算法和方法只是解决特定问题的过程的一部分,一定要始终牢记整个项目的大局。始多人浪费大量时间构建复杂的机器学习解决方案,最终却发现没有解决正确的问题。
11:01
当深入研究机器学习的技术细节时,本书会讲到这些细节很容易忽视最终的目标。我们虽然不会详细讨论上面列出的问题,但仍然鼓励你记住自己在开始构建机器学习模型时做出的假设,无论是明确的还是隐含的假设。看到一点,二级为何选择Python Python已经成为许多数据科学应用的通用语言,它既有通用编程语言的强大功能,也有特定领域脚本语言,比如MATLAB或R的应用性。Python有用于数据加载、可视化、统计、自然语言处理、图像处理等各种功能的库。这个大型工具箱为数据科学家提供了大量的通用功能和专用功能。使用Python的主要优点之一就是利用终端或其他类似stupid notebook的工具,能够直接与代码进行交互。我们很快会讲到notebook。机器学习和数据分析本质上都是迭代过程,由数据驱动分析,这些过程必须有快速迭代和易于交互的工具。
12:04
作为通用编程语言,Ton还可以用来创建复杂的图形用户界面,Graphic user interface GUI和web服务也可以集成到现有的系统中。看到一点,三级CS是一个开源项目,可免费使用和分发。任何人都可以轻松获取其源代码来查看其背后的原理。SQ项目正在不断的开发和改进中,它的用户社区非常活跃,它包含许多目前最先进的机器学习算法,每个算法都有详细的文档。Second learn是一个非常流行的工具,也是最有名的Python机器学习库,它广泛应用于工业界和学术界,网上有大量的教程和代码片段。S论也可以与。其他大量Python科学计算工具一起去使用。本章后面会讲到相关内容。在阅读本书的过程中,我们建议你同时浏览S用户指南和API文档。
13:05
里面给出了每个算法的更多细节和更多选项。在线文档非常全面。而本书会介绍机器学习的所有必备知识,以便于你深入了解。看到安装SS依赖于另外两个pon包囊派和塞派。若想要绘图和进行交互式开发,还应该安装net Li I pon和g notebook。我们推荐使用下面三个预先打包的Python发行版之一,里面已经装有必要的包。首先是。啊,能看到。它用于大规模数据处理、预测分析和科学计算的攀森发行吧,啊,能看到已经预先安装好了。大家可以自己看一下。这里面的绝大部分他都已经预先给你安装好了。
14:01
主要有派派、panda I note和。它可以在Mac OS Windows和Linux上运行,是一种非常简便的解决方案。对于尚未安装Python科学计算包的人,我们建议你使用安康,到安康现在还免费提供商用的。英特尔MKL库MKL在安装and时会自动安装,可以使在中的许多算法的速度大大提升。这是俺的康大对应的官网。看到第二个。发行版inst canop牌。这是其对应的官网。用于科学计算的另一款pon发行版,它已经预先安装好no派、SPA MAT plus Le PS和IP,但免费版没。但是免费版没有预先安装S。如果你是能够授予学位的学术机构的成员,可以申请学术许可,免费使用insort kind派的付费订阅版。
15:16
In适用于Python2.7的版本,可以在Mac OS Windows和Linux上运行。看到第三个发行吧。XY。这是其对应的官网。它是专门为Windows打造的pon科学计算免费发行版pon X y已经预见装有long、派派、ma pro Li pandas I和。如果你已经安装了Python,可以使用pipe安装上面说的所有的包。
16:14
Pipe in store long PI th PI met plot Le I p FA pandas。按回车执行。没有任何报错就说明安装完毕。当然,我是使用的anaconda。加上P场。两者组合。所以我着重讲一下。如何去下载并安装and看到和如何下载并安装拍叉。首先安装完的康do。进入其官网。下滑到此处。
17:00
找到你对应的系统。点击下载。即可,当然我是已经下载好了。下载好了之后。Ug打开傻瓜式安装就行了。因为我还会使用到拍叉M。进入pytime的下载页面。在这里。选择你所对应的系统,当然我是已经选好了,我是Windows系统。我们要下载的是专业版。为什么要下载专业版?因为。书上的代码全都是。用的notebook来进行编写的。社区版不支持就notebook。专业版,它可以支持点击登录。
18:01
进行下载,当然我还是已经下载好了。下载好了之后,右击打开傻瓜式安装就行了。安装完毕之后,我们去打开。Hi Tom。新建一个项目。给项目取个名。
19:22
Introduction to ML with penson。当然,大家可以选择合适的位置。我在这地方位置就选择。
20:16
选择在D盘pon pon project。这个目录下。然后后面跟的是项目的名称。随后选择一下解释器。解释器对应的是nionconda。安装目录下面的。python.exe这么一个可执行文件。点击OK。然后点击create。
21:01
随后在这个项目下面新建一个目录。因为我要讲的是第一章,所以新建的目录名叫CHAPTER1。当然也可以跟我不一样。大家注意到这里stupid notebook这里有就意味着。可以在拍里面写。创建notebook文件。当然我们做一下验证。
22:05
Print Hollywood。
24:17
终于可以运行了。运行看看。这里是你对应的解释器。当然,这里输出的是解释器的绝对路径。这里是你运行的文件的绝对路径。只要确保这一块内容。没有错就行了。
我来说两句