【吴恩达机器学习笔记】五、逻辑回归

简介: 【吴恩达机器学习笔记】五、逻辑回归

五、逻辑回归


1. 逻辑回归

接下来我们要讲的是关于分类的算法,可以大致分为两个部分,首先要讲的是第一个部分只有两个标签的分类,后面我们会讲到第二部分多标签的分类。


f96d52b4ce53490aa90c1a2d9c442fc3.png


只有两个标签的分类应该很好理解,无非就是将两个类别放在计算机中就变成了判断0和1,0我们就称为负样本(Negative Class),而1我们就称为正样本(Positive Class)。


下面我们举个例子,用线性回归来进行分类,看看效果如何。

754f9e37f7a9404789340733d6ec39de.png



我们可以看到,通过输入样本,计算机就会自动拟合出一条曲线,阈值在0.5的地方,这样看起来效果似乎不错,但是有没有想过,如果有个样本特立独行远离了这些“大群体”,那这条曲线会受到什么影响。


829aaaf7180e4517a3ec98f1e32d2e6b.png


可以看到,整条曲线因为一个样本,与原有曲线相差甚大,所以我们一般不会用线性回归进行分类,不光是因为上面这个例子,它还有一个让人琢磨不透的地方就是,即使你输入的样本都是0或1,它的预测值竟然会大于1或者小于0。基于上面这些问题,接下来的主角就登场了,下面将会用到Logistic回归去进行分类。


bf6598c5e72848d18bb189fdf66bb483.png


名字看起来是用来解决关于回归的问题,但实际上它是一种分类算法,这是因为一些历史原因所致。


逻辑回归(Logistic Regression)模型


这个模型所用的函数是Sigmoid function(Logistic function),而Sigmoid funciton得到的的结果都会分布在0和1之间,公式如下:


8452cf5d1f9e49b5bd68dcd904443d82.png


下面我将给出这个模型的解释。


72a77f38c987403091a31365853f9549.png


我们可以假设hθ(x)代表输入值是x且y=1的概率,上面就是一个例子,可以看到输入x1后,hθ(x)=0.7即当x1输入后,有70%的概率是恶性肿瘤。


并且我们还有一点需要注意,P(y = 1|x;θ)代表的意思是在x的情况下,参数是θ且y=1的概率。

c234cd3d9ad64f78957c35d9df42d6d5.png



我们再对上面进行一下小结,我们可以设定一个规则,当hθ(x)≥0.5时,y=1,并且通过图像观察可以得到θTx≥0;相反当hθ(x)<0.5时,y=0,并且可以得到θTx<0。



f4f4d67ef45444daaed9891cd9866854.png

2. 决策界限

决策边界(Decision Boundary)

1af9549f2e294dcd8f347378baec9811.png



这个决策边界就是上图的那条红线,用来划分y=1和y=0的界限,由g中的函数公式得到,上面例子得到的边界是线性的。


但是如果特征变多了,决策边界就不像一条直线那么简单,它可能就是非线性的曲线了,就如下面这个例子:



2d6d433217a1411ebec47b49522b380f.png

小结


决策边界与之前的线性回归不同,它的曲线并不是由给出的数据集所决定,而是当θ给出后,它就已经决定了。


3. 代价函数

在做完上面的铺垫后,这节课要讲的就是在其他条件都给定的情况下,如何得到θ值。


Logistic回归代价函数


d5f5b697279c4ee7afa98aeaa0711657.png


从这个公式可以看出,代价函数中当y=1和当y=0时的式子不太一样,我们先来看当y=1时的情况。


743d2394942b4e94a79a4842a02c9b14.png


你会发现在y=1的情况下,当hθ(x)等于1时cost为0,这就是我们想得到的结果,反过来当hθ(x)为0时,cost根本得不到值,并且hθ(x)趋近于0时,cost会非常的大从而被排除,所以就能得到到hθ(x)=0时y不可能为1的结果。接下来再来看看当y=0时的情况。


0c89b2c197094af1bdef3ac22db730de.png


从图中可以看到,y=0的图像与y=1的图像对称,所以得到的结论也是完全相反,即当hθ(x)=0时,cost为0是最小的,而当hθ(x)等于1时,cost同样也取不到,hθ(x)趋向1时cost也会变得非常的大从而被排除,所以就能得到hθ(x)=1时y不可能为0的结果。


从上面来看,我们就能理解为什么当y=0时hθ(x)<0.5而当y=1时hθ(x)≥0.5了。


接下来,我将为你介绍如何去简化上面代价函数的式子,如下:


226858f4936c4174bc85ab90674c2dcd.png


你可以将y=0和y=1的情况带入式子,就可以得到一个整合的式子,我们可以验证一下,当把y=1和y=0分别带入这个式子可以得到两个式子,跟上面提到的两个式子完全相同,因为y和1-y总有一边会消为0。


所以弄清楚其中原理后,我们就要像之前一样,要去找到θ的最优值即当J(θ)最小时候的θ。


b6adc677ad2d444d983f183e362fe0b2.png


而我们现在又可以用到梯度下降的算法来计算θ的最优值。

74a8f8f379254416b96f1c78e4f32fc3.png



将式子带入,化简之后得:



184867a9ccbe453f9bb61e1670f23437.png

到这里你可能会有疑问,这不是跟之前线性回归的梯度下降公式一毛一样吗,但实际上并不是,因为logistic回归的假设函数h(θ)与线性回归的完全不一样,所以带入式子会得到两个不一样的结果。但是因为两者都是用到了梯度下降算法,所以两者的特征值如果相差过大,都可以用特征缩放来缩小特征值,从而使梯度下降收敛更快。


小结


logistic回归是一种非常强大,甚至是全世界运用最广泛的一种分类算法。


4. 高级优化

上面我们是通过给到θ然后计算J(θ)以及它对θ的偏导数值然后带入梯度下降的算法得到最优值,但是当数据变得非常多时,梯度下降的效率就会大打折扣,所以还有其他更好的算法可以计算θ最优值时收敛的更快,但同时也会更加复杂。


4c06427e75514c5bbfe5dac5abe942c0.png


如上面所示,共轭梯度算法(Conjugate gradient)、BFGS和L-BFGS三个算法收敛的速度会更快,而且你不用手动的去计算α,他们会自动计算给出最优α,但是缺点就是太过于复杂。现实中,不用去深入了解这些算法的细节,除非你是数值专家,你只需要知道怎么去用,怎么写代码就够了。


d24ac325496c4e18988a7f8df0e61915.png


而总结起来就是首先我们要给出θ的值,然后写出代价函数的代码区计算J(θ)与其对θ的偏导数,然后用高级优化算法去得出最优解。


5. 多元分类

接下来我们来讲讲用逻辑回归来进行多分类,下面举几个例子来解释什么是多分类:


d7a19cb98a1d4fe0b86a231d18605cd3.png


你可以将它想象成你有一个邮件,它可以自动的去分到工作、朋友、家人和爱好其中的类别当中,这就是多分类问题,当然你也可以想象成其它例子,就如上面的看病或者天气例子,所以在图像上也会有所不同。

cfcda66bf83b46b4b946dc4308a020d8.png



我们就拿三元分类作为例子:


52ed34e17d294fc783f4e45a2697716c.png


我们可以将三个类别分别设为y=1、y=2和y=3,然后得出三个分类器,每一个拟合器对应着一个类别,分别对每个分类器进行训练,然后测量对应类别的概率。



09fed38734984f6a88f8aceea0966fe2.png

小结


一对多的分类问题,就是通过对每一个类别训练一个分类器,分别得到不同的h(θ),这样当输入x的时候,我们就将x分别输入每一个分类器进行计算其概率值,最终h(θ)值最大的那个分类器所对应的类别即是我们要分入的类别。


目录
相关文章
|
1月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
59 1
|
1月前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
1月前
|
机器学习/深度学习 存储 自然语言处理
【机器学习】基于逻辑回归的分类预测
【机器学习】基于逻辑回归的分类预测
|
1月前
|
机器学习/深度学习 算法
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
|
3月前
|
机器学习/深度学习 人工智能 算法
【人工智能】机器学习、分类问题和逻辑回归的基本概念、步骤、特点以及多分类问题的处理方法
机器学习是人工智能的一个核心分支,它专注于开发算法,使计算机系统能够自动地从数据中学习并改进其性能,而无需进行明确的编程。这些算法能够识别数据中的模式,并利用这些模式来做出预测或决策。机器学习的主要应用领域包括自然语言处理、计算机视觉、推荐系统、金融预测、医疗诊断等。
66 1
|
3月前
|
机器学习/深度学习 算法
【机器学习】SVM面试题:简单介绍一下SVM?支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?SVM为什么采用间隔最大化?为什么要将求解SVM的原始问题转换为其对偶问题?
支持向量机(SVM)的介绍,包括其基本概念、与逻辑回归(LR)和决策树(DT)的直观和理论对比,如何选择这些算法,SVM为何采用间隔最大化,求解SVM时为何转换为对偶问题,核函数的引入原因,以及SVM对缺失数据的敏感性。
72 3
|
3月前
|
机器学习/深度学习 算法
【机器学习】支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择(面试回答)?
文章对支持向量机(SVM)、逻辑回归(LR)和决策树(DT)进行了直观和理论上的对比,并提供了在选择这些算法时的考虑因素,包括模型复杂度、损失函数、数据量需求、对缺失值的敏感度等。
60 1
|
3月前
|
机器学习/深度学习
【机器学习】逻辑回归LR的推导及特性是什么,面试回答?
逻辑回归(LR)的推导和特性的详细解释,包括其作为二分类模型的基本原理、损失函数(对数损失函数),以及决策树的特性,如不需要先验假设、高效性、易解释性、对缺失值的不敏感性,以及对冗余属性的鲁棒性。
40 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 吴恩达:机器学习的六个核心算法!
吴恩达教授在《The Batch》周报中介绍了机器学习领域的六个基础算法:线性回归、逻辑回归、梯度下降、神经网络、决策树和k均值聚类。这些算法是现代AI的基石,涵盖了从简单的统计建模到复杂的深度学习。线性回归用于连续变量预测,逻辑回归用于二分类,梯度下降用于优化模型参数,神经网络处理非线性关系,决策树提供直观的分类规则,而k均值聚类则用于无监督学习中的数据分组。这些算法各有优缺点,广泛应用于经济学、金融、医学、市场营销等多个领域。通过不断学习和实践,我们可以更好地掌握这些工具,发掘智能的乐趣。
114 1
算法金 | 吴恩达:机器学习的六个核心算法!
|
4月前
|
机器学习/深度学习 数据采集 人工智能

热门文章

最新文章