1.对机器学习的初步理解
什么是机器学习?
任何时候你想知道某些东西(在百度或谷歌搜索想要了解的信息的时候;发朋友圈配文案的时候;用手机上的语言转文字功能;接收邮件)(机器学习已经在帮助优化风力涡轮机发电;在医疗保健方面,帮助医生做出准确的诊断;将计算机视觉引入工厂来帮助检查流水线上的东西是否有任何缺陷)
机器学习------一门在没有明确编程的情况下让计算机学习的科学
2.机器学习的应用
学习算法,提高算法的性能
为什么机器学习在今天得到如此广泛的应用?
机器学习已经成长为人工智能的子领域。通过编程,可以让机器做一些基本的事情,机器学习可以做更多有意义的事情
3.什么是机器学习
定义:
Arthur Samuel:让计算机在没有明确编程的情况下学习的研究领域
类型:
监督学习:许多实际中使用最多的机器学习类型,世界应用。
无监督学习
总共有三门课程,第一期和第二期课程将侧重于监督学习,第三个将侧重于无监督学习
4.监督学习
监督机器学习或更常见的监督学习是指学习x到y或输入到输出映射的算法,其关键特征是,您提供学习算法示例以供学习,这包括正确答案,通过查看输入x和所需输出标签y的正确对学习算法最终学会是接受输入而无需输出标签,并给出输出的合理准确的预测或猜测,学会从无限多可能的数字中预测数字。
回归算法
|------------------|------------------------|---------------------|
| Input(X) | Output(Y) | Application |
| email | spam?(0/1) | spam filtering |
| audio | test transcripts | speech recognition |
| English | Spanish | machine translation |
| ad,user info | click?(0/1) | online advertising |
| image,radar info | position of other cars | self_driving car |
| image of phone | dent or other defect | visual inspection |
在所有这些应用app中,您将首先输入使用示例x和正确答案(即标签y)来训练您的模型,在模型从这些输入、输出或x和y对中学习之后,他们可以采用一个全新的输入x,并尝试产生适当的输出y。
分类算法
我们只试图预测一小部分可能的输出或类别,在这种情况下,两种可能的产出0或1、良性或恶性,这与回归不同,回归试图预测无限多个可能的数字中的任意一个,所以事实上只有两个可能的输出,这就是为什么叫做分类,因为在这个例子中,只有两种可能的输出或两种可能的类别,您还可以将这个数据集绘制在像这样一条直线上,在分类问题中,您还可以有以上可能的输出类别,也许你的学习算法可以输出多种类型的癌症诊断,如果是恶性的,所以让我们把两种不同类型的癌症类型1和类型2。在这种情况下,该算法将有三种可能的输出类别,它可以预测。
在分类上,输出类(classes)和输出类别(category)经常互换使用,所以它俩当引号输出时是一样的
总结:
预测类别,类别不一定是数字,它可以是非数字,例如:它可以预测一张照片是猫还是狗;它可以预测肿瘤是良性还是恶性。类别也可以是数字,比如0或1;或0或1或2。但当你解释这些数字时,分类与回归的不同之处在于分类预测的是一个小的、有限的一套可能的产出类别,如0和1和2,但并不是所有可能的数字之间,比如0.5或1.7。在我们一直研究的监督学习的例子中,我们只有一个输入值,但是可以用多个输入值来预测输出。因此,学习算法必须决定如何将边界线拟合到这些数据上,学习算法找到的边界线将帮助医生诊断。
5.非监督学习
当我们回顾上一个视频中的监督学习时,它在分类问题的情况下,看起来像这样,每个示例都与一个输出标签y相关联,例如良性或恶性,在无监督学习中由两级和十字表示,给定的数据与任何输出标签y无关。比如:给定了有关患者及其肿瘤大小和患者年龄的数据,我们没有要求诊断肿瘤是良性还是恶性,因为没有给我们任何标签,为什么在数据集中,相反,我们的工作是找到一些结构或模式或者只是在数据中找到一些有趣的东西。称之为无监督是因为我们不试图监督算法,相反,为了对每个输入给出一些引用正确的答案,我们要求我们的房间自己弄清楚什么是有趣的,或者对于这个特定的数据集,这个数据中可能有什么模式或结构。
聚类算法
无监督学习算法可能会决定将数据分配给两个不同的组或两个不同的集群,所以它可能会决定,这里有一个集群或组,这里有另一个集群或组,这是一种特殊类型的监督学习,称为聚类算法。因为它将未标记的数据放入不同的集群中,这被证明用于许多许多应用程序,比如google news用的是聚类,google news做的就是天天走并查看互联网上数十万篇新闻文章,并将相关故事组合在一起。聚类算法是在寻找文章,把互联网上所有数十万篇新闻文章,找到提到相似词的文章并将它们分组到集群中。现在,这种聚类算法会自行计算出哪些词暗示某些文章属于同一组,该算法必须在没有监督的情况下自行计算出今天的新闻文章有哪些。
此图像显示了DNA微阵列数据的图片,这些看起来像电子表格的微小网络,每一个小柱子代表一个人的遗传或DNA活动。例如,这里的整个柱子都来自一个人的DNA,另一列是另一个人的,每一行代表一个特定的基因。举个例子,也许这里的每个角色可能代表一个影响眼睛颜色的基因或者这里的这个角色是一个影响某人身高的基因,研究人员甚至发现了一个人是否不喜欢某些蔬菜(如西兰花、抱子甘蓝或者芦笋)的遗传联系,这个想法是为了测量每个人表达了多少特定基因。因此,红色、绿色、灰色等这些颜色显示了不同个体具有或不具有特定基因活性的程度,然后运行聚类算法,将个体分组到不同的类别中或者不同类型的人可能像这些聚集在一起的人,我们就称这些类型分别为一,二,三。这是无监督学习,因为没有提起告诉算法,有一种人具有某些特征或具有某些特征的第二类人,而不是我们所说的这是一堆数据。因为我们没有提前为算法提供示例的正确答案。
总结聚类算法
这是一种无监督学习算法,获取没有标签的数据并尝试自动将它们分组到集群中。
其他类型:
在监督学习中,数据同时带有输入x和输出标签y,而在无监督学习中,数据仅带有输入x而没有输出标签y,并且算法必须在数据。我们看到的只是一种称为聚类算法的无监督学习示例,它将相似的数据点组合在一起,在本专业中,将学习聚类以及其他两种类型的无监督学习。
异常检测
用于检测异常事件,这对于金融系统中的欺诈检测非常重要,异常事件,异常交易可能是欺诈的迹象,对于许多其他应用程序也是如此。
降维:可以将一个大数据集神奇地压缩成一个小得多的数据集,同时丢失尽可能少的信息。
6.Jupyter Notebooks
这是很多人用来编写代码、进行实验和尝试的默认环境。在本课程中,就在Web浏览器中,您将构建一个用户Jupyter Notebook环境,以自己测试其中的一些想法。这不是一些虚拟的简化环境,这是完全相同的环境,完全相同的工具,开发人员现在在许多大国使用的Jupyter Notebook.
其中一种类型的实验室是可选实验室,可以一次打开并运行一行,通常无需自己编写任何代码。可选实验室的设计非常简单,每一个都是满分,因为没有分数,需要做的就是打开它并运行我们提供的代码,通过阅读并运行可选实验室中的代码,您可以了解机器学习代码的运行方式。应该通过从上到下一次一行地运行它来相对快速地完成它们。
可选实验是完全可选的,所以如果你不想的话,你根本不必做它们,但最好看一看,因为通过它们会让你有更深刻的感受,让你对什么有更多的体验机器学习算法,机器学习代码实际是什么样的。
练习实验室,有机会自己编写一些代码。
7.线性回归模型
数据拟合一条直线,这可能是当今世界上使用最广泛的学习算法。
监督学习模型实例
假设想根据房屋的大小来预测房屋的价格,我们将使用美国波特兰市的房屋大小和价格数据集。这里有一张图表,其中横轴是以平方英尺为单位的房屋大小,纵轴是以千美元为单位的房屋价格。这里的每个数据点,这些小十字中的每一个都是一所房子,其大小和价格是最近出售的。假设你是房地产经纪人,正在帮助一位客户出售她的房子,则该数据集可能会帮助您估算她可以获得的价格。可以从这个数据集构建一个线性回归模型,模型将为数据拟合一条直线。
监督学习,首先通过提供具有正确答案的数据来训练模型;被称为回归模型,因为它预测数据作为输出。
分类模型预测类别或离散类别,例如:预测图片是猫还是狗,或者如果给定病历,它必须预测患者是否患有特定疾病。
数据表
数据包括一组输入和输出
标准符号
要预测客户的房价,首先要训练模型以从训练集中学习,然后该模型可以预测而客户的房价。
在机器学习中,这里表示输入的标准符号是小写的x,我们称之为输入变量,也称为特征或输入特征。
例如:对于训练集中的第一个房子,x是房子的大小,因此x=2104,表示输出变量(有时也称目标变量)的标准符号是y。y是房子的价格,对于第一个训练示例,它等于400,所以y=400。数据集每栋房子一行,在这个训练集中,有47行,每一行代表一个不同的训练示例。我们将使用m表示训练示例的总数,因此m=47。为了表示单个训练示例,我们将使用(x,y)表示,对于第一个训练示例,这对数字是(2104,400)。事实上,现在有47个训练示例,引用一个具体的训练例子,这回对应到左边这张表中的特定行,将使用括号中的x上标i,y中的上标i,上标是为了告诉我们这是第i个训练示例,指的是表中特定的行和列,括号中的上标i不是求幂,这个i只是训练集中的一个索引,指的是表中第i行。
监督学习中的训练集包括输入特征和输出目标。输出目标是我们将从中学习的模型的正确答案。要训练模型,需要将训练集(包括输入特征和输出目标)提供给您的学习算法。监督学习算法会产生一些功能,将这个函数写成f,其中f代表函数。历史上,这个函数曾经被称为假设,f的工作是采用新的输入x和输出并进行估计或预测,将其称为y_hat,他的写法类似于顶部带有这个小帽子符号的变量y。在机器学习中,惯例是y_hat是y的估计或预测。函数f称为模型,x称为输入或输入特征,模型的输出是预测,y_hat。模型的预测是y的估计值。当符号只是字母y,则指的是目标,即训练集中的实际真实值。相反,y_hat是一个估计值,它可能是也可能不是实际的真实值,例如:如果正在帮助客户出售房子,那么在出售之前,房子的真实价格是未知的。模型f,在给定大小的情况下,输出作为估算器的价格,即对真实价格的预测。那么当我们学习算法的时候,如何表示函数?假设f是一条直线,函数就可以写成f_w,x=b,用w*(x+b)。很快定义w和b。但现在,只要知道w和b是数字,为w和b选择的值将根据输入特征确定预测y_hat。这个f_w b of x意味着f是一个以x作为输入的函数。并且根据w和b的值,f将输出预测y_hat的某个值。作为写这个f_w,b of x的替代方法,有时会只写f of x 而没有明确地将w和b包含在下标中。只是一个更简单的符号,它的意思与x的f_w b完全相同。在图表上绘制训练集,其中输入特征x在水平轴上,输出目标y在垂直轴上。该算法从数据中许欸小并生成了最合适的线,这条线是x=w*(x+b)的线性函数f_w b。这是此函数的作用,它使用了x的流线函数预测y的值。
线性回归,这是具有一个变量的线性回归,其中短语"一个变量"表示只有一个输入变量或特征x,具有一个输入变量的线性模型的另一个名称是单变量线性回归,其中uni在拉丁语中表示一个,而variate表示变量。单变量只能说是一个变量的一种奇特方式。
构建一个成本函数,其思想是机器学习中最普遍和最重要的思想之一,用于线性回归和训练世界上许多最先进的人工智能模型。