(一)机器学习——逻辑回归(附完整代码和数据集)

什么是逻辑回归?

首先逻辑回归是一种分类算法,然后也是一种监督学习方法。逻辑回归是一种监督学习方法,也就是说逻辑回归问题的数据集都是带标签的。以二维平面点集为例:数据集的坐标x1(横坐标),x2(纵坐标)都叫数据集的特征,这里的x2(为了不和后面的y弄混,我们用x2表示)不是标签,对于逻辑归回解决的分类问题,标签是这个数据属于的类别,如果是二分问题,用{1,0}表示类别,那标签就是1或者是0。
逻辑回归算法和预测类算法中的线性回归算法有一定的类似性。简单来讲,逻辑回归,就是通过回归的方法来进行分类,而不是进行预测,比如预测房价等。

逻辑回归解决的问题

先看下面的图,已知平面上分布的红点和蓝点,逻辑回归算法就是解决怎么根据一系列点,计算出一条直线将平面上的点分成两类,一般的解决方法就是建立一个数学模型,然后通过迭代优化得到一个最优值,然后根据这个值来计算这条直线。
(一)机器学习——逻辑回归(附完整代码和数据集)_第1张图片

问题的转化

既然是二分问题,我们希望输入一个数,输出为y∈{0,1},这样就能将样本点映射到两个不用的类别中。具体方法就是计算每个点属于类别“1”或者属于类别“0”的概率,哪个概率大,这个点就属于哪一类,那么这个问题就转化成了怎么计算每个点属于“1”或者“0”的概率

激活函数

如图所示是激活函数的式子和图像。该函数也可以叫做概率函数,横坐标是输入的值,纵坐标是概率值,当概率值小于0.5时,y=0,当概率值大于0.5时,y=1。那输入的值又是什么呢?以一个二维数据点(X1,X2)为例,这个值就是z=W1×X1+W2×X2+W3。其中W3是平移项,用行向量矩阵表示X=[X1,X2, 1], W=[W1, W2, W3]
在这里插入图片描述
这里的权重W如果确定了,那这个逻辑回归问题也就解决了。所以我们的问题转化成了求解权重系数W=[W1, W2, W3]的问题。
需要注意的是,激活函数中的z值并不是二维数据点的纵坐标值,而是z=W1×X1+W2×X2+W3计算得来的。
在这里插入图片描述
(一)机器学习——逻辑回归(附完整代码和数据集)_第2张图片

极大似然估计法

计算概率的问题解决了,然后就是建立损失函数(目标函数),然后根据目标函数使用梯度下降法求解W,该问题就解决了。说到底,这还是一个最优化的问题,更准确的讲是一个无约束优化问题。
一般性假设激活函数φ(z)是计算数据点属于“1”的概率,则:
在这里插入图片描述
将两个式子综合来,可以改写为下式:
在这里插入图片描述
上式将分类为0和分类和1的概率计算公式合二为一。假设分类器分类足够准确,此时对于一个样本,如果它是属于1类,分类器求出的属于1类的概率应该尽可能大,即p(y=1lx)尽可能接近1;如果它是0类,分类器求出的属于0类的概率应该尽可能大,即p(y=0lx)尽可能接近1。
通过上述公式对二类分类的情况分析,可知我们的目的是求取参数w,使得p(ylx)对0类和1类的分类结果尽可能取最大值,然而实际上我们定义的损失函数的是求最小值,于是,很自然的,我们想到对p(ylx)式子加一个负号,就变成了求最小值的问题,这就得到了逻辑回归中的损失函数

不过,为了计算方便,我们通常对上述式子取log,因而得到下式:
在这里插入图片描述
在这里插入图片描述
对每个数据点进行累加,得到最终的损失函数(目标函数),也是对数似然函数
在这里插入图片描述
然后对上述函数使用梯度下降法进行求解就得到了权重系数w。

梯度下降法

激活函数有如下等式成立。
在这里插入图片描述
基于上式对损失函数进行求导数:
(一)机器学习——逻辑回归(附完整代码和数据集)_第3张图片
设步长(学习速率)为η,权重系数w的迭代式为:
在这里插入图片描述

模型的测试

机器学习算法中的监督学习算法有个共同点,先用带标签的数据集进行学习,然后使用不带标签的数据集进行测试。训练数据集和测试数据集不能重复。

完整的逻辑回归python3源代码下载地址:
https://download.csdn.net/download/u014571489/10751551 (无测试部分代码和数据集)
https://download.csdn.net/download/u014571489/10753587 (添加了测试部分的代码和数据集)
(一)机器学习——逻辑回归(附完整代码和数据集)_第4张图片

逻辑回归算法的不足

逻辑回归算法只能解决二分类问题,逻辑回归扩展后的softmax Regression算法也只能解决线性可分问题。对于非线性可分问题,为了能够利用逻辑回归通常有两种方法(1)利用人工对特征进行处理,如使用核函数对特征进行处理,变成线性可分。但是人工的特征处理需要有一些领域的知识,难度比较大。(2)对基本的逻辑回归算法进行扩展,以适应更难的分类问题。

你可能感兴趣的:(机器学习理论)