1. 磐创AI-开放猫官方网站首页
  2. Medium

让我们学习癌症分类的基本原理–Logistic回归


在这篇文章中,让我们揭开所有关于癌症检测的炒作的神秘面纱,或者检测一张图片是由狗还是猫组成的,或者甚至是检测你上周收到的邮件:“嘿,你中了彩票”是不是垃圾邮件。从根本上说,所有这些问题陈述都可以大致归类为“分类之下”。这些类型的问题是非常令人兴奋的,因为你可以在分类领域找到的问题集范围是巨大的,它们非常有趣,给你解决这些问题的兴奋感,并希望有这样的感觉:“是的,我的算法可以在MRI图像中检测到肿瘤”。

像往常一样,让我们从头开始研究这个算法。我将向您介绍假设表示法、激活函数、成本函数、优化算法。有很多要讲的,抓起一杯咖啡或你最喜欢的饮料通读吧!

什么是Logistic回归?

Logistic回归是一种将数据分类为离散结果的方法。例如,我们可以使用逻辑回归来将电子邮件分类为垃圾邮件或非垃圾邮件。当我说:“离散的结果”是什么意思?-当你必须预测一个离散的班级间隔的值的时候。也就是说,在癌症检测的情况下,您可以预测两个不同的类别。病人要么被诊断出患有癌症,要么没有。这里在我们的班级间隔中只有两个值。A是,或者否。积极或消极。对或错。1或0。难怪,这两个比特已经统治了所有的计算机科学和电子学。

为了尝试分类,我们可以使用Logistic回归,并将所有大于0.5的预测映射为1,将所有小于0.5的预测映射为0,以表示一个二进制。然而,这种方法并不是在机器学习问题的所有情况下都能很好地工作。我们需要设计出比那更好的东西。分类与回归的特例类似,不同之处在于,在这种情况下,我们感兴趣的是将给定数据点分类为离散类,即{0,1,2…n}。现在让我们定义一下假设函数。

假设函数表示法

在这里,我们处理的是二分类,我们需要对假设函数进行建模,以便取值并严格预测介于0和1之间的结果。预测大于1或小于0是没有意义的。为了解决这个问题,有一个经典函数可以在0到1之间映射您的输入。这就是Sigmoid函数,在深度学习的上下文中也称为激活函数。

可视化功能总是有帮助的。下面是上述表达式的表示形式:

很明显,上述函数的输入越大,函数的输出就越趋于1。记住,当x趋于正无穷大时,函数g(X)趋于1,反之亦然。现在,利用这一点,我们将按如下方式定义假设函数:

但是所有这些在我们的例子中是如何工作的呢?-X代表一个向量,代表你选择的特定问题陈述的特征,并与优化的θ值相乘。现在,当您将此结果传递到Sigmoid函数中时-您将得到一个值的向量,每个值代表介于0和1之间的概率。值越低,越接近类“No”,值越高,越接近类“Yes”。就这么简单。听起来不错吧?现在,让我们来讨论一下决策界限。

决策边界

让我们以有趣的方式了解这一点。假设您要加入一家新机构。他们在你加入之前会进行几次测试,并根据你的得分-他们将决定你是否加入。让我们把那些被录取的称为“录取”,而那些没有被录取的称为“未被录取”。你有一些被录取的学生的数据点,这些数据点以前没有基于他们的分数,然后你画出了它们。它看起来是这样的:

现在,您可以看到决策边界在您可以将其可视化时是多么重要了。一旦您有了您训练的算法的决策边界,您就可以根据对新数据点的直观推断得出结论。在上述情况下,我们的算法已经获得了线性决策边界-当数据相当分散时,该边界无疑也可以是非线性的。也就是说,您可以将非线性复函数输入到Sigmoid函数。但是,如果处理不当,这将带来一个权衡-过度适应的问题。稍后会详细介绍这一点。

成本函数

我们不想使用与线性回归相同的成本函数,因为Logistic函数会导致输出波动,导致许多局部最优。换句话说,它不会是一个凸函数。相反,我们的Logistic回归成本函数如下所示:linear regression

请注意,对于一个简单的IF/ELSE条件,我们可以选择根据变量“y”来定义该特定训练示例的成本函数。当该训练示例的值/输出属于类别“1”、“True”、“Yes”、“Cancer”或任何正数时,我们将成本定义为假设函数的负对数。当它是“0”、“否”、“阴性”或“非癌症”时,它是从假设中去掉的一个人的负对数。如果所有这些听起来都很复杂,有一个巧妙的技巧可以简化这一点:

您可以如上所述在一行中定义成本函数。我们以这样的方式使用变量y,只要它是1,右边的值(1-y)将使乘数无效,并使成本函数特定于正例。当y为0时,在另一种情况下也是如此。让我们想象一下这两种情况下的成本:

当输出值为1时,我们会看到每当假设输出值接近零时-那就是您的算法出错的时候。这就是成本应该上升的时候,你也可以在图表中看到。

类似地,当您将训练示例的输出设置为零,并且您的假设也产生趋于零的值时,您就可以确定您的算法运行良好。从图表中可以明显看出,成本也应该是零。

渐变下降


梯度下降算法的一般形式如下,我们也将对此算法使用相同的形式。

如果您不确定这是如何工作的,请转到我的另一篇文章-机器学习简介,我在其中详细讨论了这个优化算法,让您深入了解它是如何在包含等高线图的情况下实际工作的。Introduction to Machine Learning

Logistic回归在行动中的应用

就是这样,如果你已经走到了这一步-祝贺你,并拍拍你自己的背!现在,您可以使用上面学到的概念实现二进制分类。选择任何编程语言并实现上述内容,您就应该可以启动并运行Logistic回归了!我们已经介绍了分类的基本原理-问题陈述,重新定义了假设函数,学习了经典的Sigmoid函数,了解了成本函数是如何工作的,最重要的是,您应该能够根据成本图来调试算法的性能。

这只是你进入分类世界之旅的开始。在这里你可以做很多事情。很多外行人认为是超级大国的很酷的东西。从自动驾驶汽车到潜在的癌症检测。通过这些,您还间接了解了神经网络-一种最先进的深度学习算法。我计划很快写更多关于他们的文章。

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/22/%e8%ae%a9%e6%88%91%e4%bb%ac%e5%ad%a6%e4%b9%a0%e7%99%8c%e7%97%87%e5%88%86%e7%b1%bb%e7%9a%84%e5%9f%ba%e6%9c%ac%e5%8e%9f%e7%90%86-logistic%e5%9b%9e%e5%bd%92/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息