前言
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、机器学习的定义?
计算机无需明确编程即可学习的研究领域。
二、机器学习的算法
1.监督学习
监督学习是现实生活中使用最多的机器学习类型,而且这是最快的进步而和创新。
监督机器学习或更常见的监督学习指学习x到y或输入或输出映射的算法。监督学习的关键特征是你给予学习算法的示例。也就是说对于给定的输入x,正确的标签y是通过查看正确的学习算法最终学习到的输入x和期望的输出标签y,只取输入而没有输出标签,并给对输出的合理准确的预测或猜测。列如:
Input(x) | Output(y) | Application |
spam? | spam filtering | |
audio | text transcripts | speech recognition |
English | Spanish | machine translation |
image ,rader info | position of other cars | self-driving car |
在所有的这些应用程序中,我们将首先使用以下示例训练我们的模型,输入正确x和正确答案,也就是我们的标签y。在模型从这些输入或者输出之后然后他们可以接受一个全新的输入x,着个x是以前从来没有见过的,并尝试适当的输出相应的y。
监督学习的例子1:
回归示例:任务是预测数字
我们给算法一个数据集也就是所谓的正确的答案y,学习算法的任务是产生更多的这样正确的答案,具体预测什么是可能的答案。
监督学习的例子2:
分类算法:不像回归可能欧无数个数字的预测,而分类只有两种可能的输出,但是在每种不同的结果中又可以再次分为不同的类型。
分类算法预测类别,类别不一定是数字,它可以是非数字的 。它可以预测一张图片是猫还是狗。在都预测数字的时候,分类和回归的不同之处在于分类预测一组有限的可能输出类别。
回顾一先监督学习:将输入x映射到输出y,学习算法从引用正确答案中学习。监督学习的两大类型的回归和分类。在预测房价等回归应用程序中,学习算法必须从无限多的可能输出的数字中预测数字。而在分类中,学习算法必须对一个类别进行预测,所有的可能输出都是一个小组。
2.无监督学习
我们要求没有得到任何标签,相反我们在数据集中我们的工作只是找到某种结构或某种模式,或某些有趣的东西。我们不是试图监督算法,为了给每个输入提供一些正确的答案,相反我们要求弄清楚我们的房间什么是有趣的,或者这个数据中可能有什么模式或者结构。无监督算法可能决定数据,可以分配给不同的组或两个不同的集群。因此他们会决定 这里有一个集群或者什么组。
聚类算法 一种无监督学习算法,获取没有标签的数据并尝试将他们自动分组到集群中。
示例1
他将未标记的数据放置在不同的集群中,这可以被证明可以在许多应用程序中使用。聚类算法就是找文章,那天在互联网上所有的数十万的文章新闻,找到相似的词的文章并将他们分组。现在聚类算法可以自己计算出那些词暗含了某些文章的属于同一组。
示例2
在监督学习中,数据同时带有输入x和输入标签y。在无监督学习中数据仅带有输入,x但不输出标签y,算法必须找到数据中的某种结构或某种模式或某些有趣的东西。
异常检测
降维 :一个大数据几乎神奇的压缩他得到了一个小数据集,而丢失尽可能减少的信息。
3.监督学习与无监督学习的区别
在分类中,只有少数可能是输出,如果您的模型正在识别猫与狗,那么这是两个可能的输出,是一个可能输出的有限集合。
而在回归中,模型可以输出无限多可能的数字,除了将这些数字可视化之外,
监督学习中的训练集包括输入特征和输出目标。要训练模型需要输入训练集,学习算法的输入特征和输出目标,然后你的监督学习算法会产生一些功能也就当做函数 f。f的工作是获取一个新的输入x和输出并估计或预测。 函数f称为模型,x称为输入或输出特征。模型的输出是预测。模型的预测是y的估计值。
具有一个输入变量的线性模型称为单变量线性回归
4.强化学习
三、模型示例
1,线性回归模型
代价函数:
如果用一条直线拟合训练数据,所以有这个模型,f(w,b)=wx+b;在这里模型的参数是,w和b。为了衡量w和b的选择,与训练数据的匹配程度,需要一个成本函数J,成本函数J所做的是衡量在模型预测和y值的正真值之间。线性回归会尝试找到w和b的值,尽可能使J尽可能小。J作为w和b的函数,为了使得更好的可视化成本函数J 。当w为1时,
不太常用
2,分类
主要解决分类问题
1,逻辑回归
2,决策边界
了解逻辑回归如何计算这些预测
逻辑回归分为两步
P(y=1|x;w,b)表示对于给定参数x和b时等于1的概率
逻辑回归中代价函数
过度拟合问题
算法不能很好的拟合训练数据,也就是模型对训练数据的欠拟合就是下图左边算法。如果你的数据不在训练的例子之上也能表现出良好的算法称之为泛化。也就是能够在全新的示例上也能做出良好的预测。
虽然在上图第三个算法中,能够很好的拟合五个数据,误差为零,但是这个算法有问题,我们称之为过度拟合。或者说的高方差。
解决过度拟合问题
1,有足够多的训练样本
2,是否能够使用更少的特征,可以使用正则化来减少特征的数量,比如将参数设置为零从而消除最大的一个特征,这是比较温和的方法,正则化的作用是鼓励学习算法缩小参数值,而不必使得参数恰好为零。正则化的特征就是它可以让你保留 所有特征,但他们只是防止特征产生过大的影像,而有时候这会导致过度拟合。
正则化工作原理
用于线性回归的正则化方法
第一部分通常是平方误差成本函数,再加后面则成了正则化成本函数 ,其中lambade是正则化参数
以上就是需要将w进行的跟新和对b进行的更新
四、重要算法
1,梯度下降
使用梯度下降一种更系统的方法来找到w和b的值,也就是J的最小值。梯度下降在机器学习中无处不在,不仅用于线性规划,还用于训练一些最先进的神经网络模型,也称为深度学习模型。梯度下降是一种可用于尝试最小化任何函数定算法,而不仅仅是线性回归的的成本函数。梯度下降最适合用于更一般的函数,包括用于具有两个以上参数的模型的其他成本函数。
梯度学习的算法是,在山谷的顶端环顾四周并寻找朝向哪一个方向迈出一小步能够尽快的到达下坡,然后值重复这个步骤,最终只是达到的是局部极小值,因为在刚才的位置上在稍微移动一点就可能达到另一个与之不同的山谷。而这两个不同的山谷都称为局部最小值,每个不同的顶点会带你走进不同山谷,
其中α(学习率)表示的是你下坡时候的步子有多大取值大概在0-1之间,当α比较大的时候这表示对应的是一个激进的梯度下降过程,剩下粉红框子表示的是成本函数J的导数项,这表示你想要往那个方向走,α表示你朝往该方向的步子大小。
对于梯度下降算法,将会重复以上两个跟新步骤,直到算法收敛,而这指的是达到局部最小值,其中参数w,b不在随着采取的额外的步骤而发生太大的变化。
左边是正确的,要进行同步跟新
不正确的更新步骤
学习率:α
在w为5的那一个点上,表示斜率为零,意味着已经取得局部最小值,梯度下降会使得w
保持不变,他只是将w的新值更新为w的旧值完全相同。所以具体来说 当w为5时,一次迭代后w仍为5.如果你的参数已经到达了局部最小值那梯度下降步骤将完全没有。
另一个例子:
随着函数斜率的逐渐缩小,标志着你迈的步子也越来越小,当我们接近最小梯度下降时,更新步骤也是步子自动变小,即使α保持在某一个定值
平方误差成本函数来构建具有梯度下降的线性回归模型
左边是线性回归模型, 右边是平方误差成本函数
上图是梯度下降算法
线性回归平方误差成本函数的时候,成本函数将永远不会有多个局部的最小值,他像一个碗(凸函数)具有单一的局部最小值,因此当在凸函数上实现梯度下降时,只要选择正确的适当的学习效率,他总会收敛到全局最小值。
左上角是模型和数据图 右边是成本函数的等高线图,底部是成本函数的曲面图。
batched garding desenct指的是在梯度下降的每一步中,我们都有再查看所有的训练实际,而不仅仅是训练数据的一个子集。
多维特征
多元线性回归模型
矢化量
矢化量既可以缩短代码又可以提高运行速率
Numpy dot 点函数能够使得在计算机中使用并行硬件
矢化量运行速度快的原理
用于多元线性回归的梯度下降法
特征缩放
由于训练数据范围比较大,等高线又高又搜,梯度下降可能在找到全局最小值之间来回跳很长时间,通过数据转换
判断梯度下降是否收敛
也就是说他是否在帮助你找到接成本函数最小值的 最小参数
特征工程
就是说可以根据原始特征来组合新的特征以使得算法更容易做出更准确的预测
多项式回归
正则化逻辑回归
正则化逻辑回归的梯度下降更新和正则化线性回归的更新相似
目录
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。