2020-04-12 13:01:47
尽可能简单地解释ML模型的工作方式
如果您是数据科学的新手,那么这个标题并不是要侮辱您。 这是我的第二篇帖子,主题是一个受欢迎的面试问题,内容类似于:"像我五岁那样向我解释[插入技术主题]。"
事实证明,达到5岁的理解水平相当困难。 因此,尽管这篇文章可能对幼稚园学习者来说不是很清楚,但对于没有或几乎没有数据科学背景的人来说,它应该是清楚的(如果不是最后,请在评论中让我知道)。
我将首先解释什么是机器学习以及不同类型的机器学习,然后再介绍常见的模型。 我不会进行任何数学运算,但是将来我会在另一篇文章中考虑这样做。 请享用!
监督机器学习的定义
监督学习是一种机器学习,其中您放入模型中的数据被"标记"。 标记只是简单地表示观测结果(也就是数据行)是已知的。 例如,如果您的模型试图预测您的朋友是否会打高尔夫球,那么您可能会有诸如温度,星期几等变量。如果您的数据带有标签,那么您的变量也将包含 如果您的朋友实际打高尔夫球,则值为1;否则,则为0。
无监督机器学习的定义
您可能已经猜到了,在涉及标签数据时,无监督学习与有监督学习相反。 在无监督学习的情况下,您不知道朋友是否打高尔夫球,这取决于计算机通过模型找到模式来猜测发生的事情或预测发生的事情。
监督机器学习模型
[需要成人监督]
逻辑回归
遇到分类问题时,将使用逻辑回归。 这意味着您的目标变量(也就是您要预测的变量)由类别组成。 这些类别可以是"是/否",也可以是代表客户满意度的介于1到10之间的数字。
逻辑回归模型使用方程式创建包含数据的曲线,然后使用该曲线预测新观测的结果。
> Illustration of Logistic Regression
在上图中,新观测值的预测值为0,因为它位于曲线的左侧。 如果查看此曲线所基于的数据,这是有道理的,因为在图形的"预测值为0"区域中,大多数数据点的y值为0。
线性回归
线性回归通常是人们学习的最早的机器学习模型之一。 这是因为仅使用一个x变量时,它的算法(即幕后方程式)相对容易理解-它只是画出一条最合适的线,这是在小学阶段教授的一种概念。 然后,该最佳拟合线用于做出有关新数据点的预测(参见插图)。
> Illustration of Linear Regression
线性回归与逻辑回归相似,但是当目标变量是连续的时使用线性回归,这意味着它可以采用任何数值。 实际上,任何具有连续目标变量的模型都可以归类为"回归"。 连续变量的一个例子是房屋的售价。
线性回归也很容易解释。 模型方程式包含每个变量的系数,并且这些系数指示目标变量针对自变量(x变量)中的每个小变化而变化了多少。 以房价为例,这意味着您可以看一下回归方程,并说"哦,这告诉我,每增加1平方英尺的房屋大小(x变量),便要卖出价格(目标变量) 增加25美元。"
K最近邻居(KNN)
该模型可用于分类或回归! 名称" K最近的邻居"并不旨在造成混淆。 该模型首先绘制出所有数据。 标题的" K"部分是指模型为了确定预测值应使用的最邻近数据点的数量(请参见下图)。 您作为未来的数据科学家,可以选择K,然后您可以使用这些值来查看哪个值提供最佳预测。
> Illustration of K Nearest Neighbors
K = __圈中的所有数据点都会对此新数据点的目标变量值进行"投票"。 得票最多的那个值是KNN为新数据点预测的值。 在上图中,最近的邻居中有2个是1类,而邻居中的1个是2类。因此,模型将为此数据点预测1类。 如果模型试图预测数值而不是类别,则所有"投票"都是对数值进行平均以获得预测。
支持向量机(SVM)
支持向量机通过在数据点之间建立边界来工作,其中一类的大多数位于边界的一侧(在2D情况下也称为线),而另一类的大多数位于另一侧。
> Illustration of Support Vector Machines
它的工作方式是机器寻求找到最大边距的边界。 边距定义为每个类的最近点与边界之间的距离(请参见插图)。 然后绘制新的数据点,并根据它们落在边界的哪一侧将其分类。
我对此模型的解释是针对分类情况的,但是您也可以使用SVM进行回归!
决策树和随机森林
> Illustration of Machine Learning
机器学习是指将大量数据加载到计算机程序中并选择一种模型以"拟合"数据时,这将使计算机(无需您的帮助)可以得出预测。 计算机制作模型的方式是通过算法进行的,算法的范围从简单的方程式(如直线方程式)到非常复杂的逻辑/数学系统,可以使计算机获得最佳预测。
无监督机器学习模型
[谨慎使用]
现在,我们正在尝试无监督的学习(又称"双关")。 提醒一下,这意味着我们的数据集未标记,因此我们不知道观察结果。
K均值聚类
当使用K表示聚类时,必须首先假设数据集中有K个聚类。 由于您不知道数据中实际上有多少个组,因此必须尝试不同的K值,并使用可视化和度量标准来查看哪个K值有意义。 K表示最适合圆形和相似大小的簇。
K Means算法首先选择最佳的K个数据点,以形成K个聚类中每个聚类的中心。 然后,它对每个点重复以下两个步骤:
· 将数据点分配到最近的集群中心
· 通过获取此集群中所有数据点的平均值来创建一个新中心
> Illustration of K Means Clustering
DBSCAN集群
DBSCAN集群模型与K的不同之处在于,它不需要您输入K的值,并且它还可以找到任何形状的集群(请参见下图)。 您无需输入簇的数量,而是输入簇中所需的最小数据点数以及搜索簇的数据点周围的半径。 DBSCAN将为您找到集群! 然后,您可以更改用于制作模型的值,直到获得对数据集有意义的聚类为止。
此外,DBSCAN模型会为您分类"噪声"点(即,远离所有其他观测值的点)。 当数据点非常靠近时,此模型比K表示的效果更好。
神经网络
在我看来,神经网络是最酷,最神秘的模型。 它们之所以称为神经网络,是因为它们是按照我们大脑中神经元的工作方式建模的。 这些模型用于在数据集中查找模式。 有时他们发现人类可能永远无法识别的模式。
神经网络可以很好地处理图像和音频等复杂数据。 它们是当今我们一直看到的许多软件功能的背后,从面部识别(不再令人毛骨悚然,Facebook)到文本分类。
对于本文而言,即使只是触及神经网络的运行方式,也可能过于复杂。 如果您想了解更多信息,请参阅"初学者"指南:https://pathmind.com/wiki/neural-network。
结论
希望本文不仅增加了您对这些模型的理解,还使您意识到它们是多么的酷和有用! 当我们让计算机进行工作/学习时,我们可以坐下来看看它能找到什么模式。 有时可能会造成混淆,因为即使专家也无法理解计算机得出其结论的确切逻辑,但是在某些情况下,我们关心的只是它擅长预测!
但是,有时候我们确实会关心计算机如何达到其预测,例如是否正在使用模型来确定哪些求职者将获得第一轮面试。 有关此的更多信息,以下是TED的精彩演讲,您不必成为数据科学家即可理解或欣赏:
与往常一样,非常感谢您的阅读,如果发现有用,请分享这篇文章! :)
所有图形都是我在www.canva.com上制作的(充满爱意)。 如果您希望使用它们,请与我联系。
还要向Sean Davern,Scott Kroeger,Dotun Opasina和Bhanu Yerra表示感谢,以帮助他们通过我们的数据科学访谈实践课程更好地理解这些模型。
(本文翻译自Megan Dibble的文章《Machine Learning Models Explained to a Five-year-old》,参考:https://towardsdatascience.com/machine-learning-models-explained-to-a-five-year-old-f2f540d9dcea)