Coursera Machine Learning 学习笔记(三):逻辑回归与正则化

我们将介绍另一个重要的机器学习算法——逻辑回归,逻辑回归是一种用于二元分类问题的机器学习算法。我们可以使用最小二乘法来拟合数据并得出参数。

在上一篇文章中,我们学习了线性回归模型及其应用。今天,我们将介绍另一个重要的机器学习算法——逻辑回归,并深入探讨如何使用正则化来改进模型。

什么是逻辑回归?

逻辑回归是一种用于二元分类问题的机器学习算法。它的目标是根据输入变量的值预测输出变量的值(通常为0或1)。与线性回归不同,逻辑回归输出的结果不是连续值,而是概率值。这个概率值表示样本属于某个类别(例如“0”或“1”)的可能性。

在实际应用中,我们通常将概率大于0.5视为属于某个类别。例如,在垃圾邮件过滤器中,如果一个电子邮件被分类器预测为垃圾邮件概率大于0.5,则它会被过滤出去。

如何实现逻辑回归?

与线性回归相似,我们可以使用最小二乘法来拟合数据并得出参数。但由于逻辑函数不再是线性的,最小二乘法不再适用。相反,我们使用一种称为“最大似然估计”的方法来拟合数据。

最大似然估计的基本思想是选择使观测数据出现的概率最大化的参数值。在逻辑回归中,我们将使用sigmoid函数作为激活函数,并使用logistic loss作为损失函数。

sigmoid函数定义如下:

$$h_{theta}(x) = g(theta^{T}x) = frac{1}{1+e^{-theta^{T}x}}$$

其中$g(z)$表示sigmoid函数:

$$g(z)=frac{1}{1+e^{-z}}$$

logistic loss定义如下:

$$J(theta)=frac{1}{m}sum_{i=1}^{m}[-y^{(i)}log(h_{theta}(x^{(i)}))-(1-y^{(i)})log(1-h_{theta}(x^{(i)}))]$$

其中$m$表示样本数量,$y$表示样本标签(0或者1),$h_theta(x)$表示预测结果。

Coursera Machine Learning 学习笔记(三):逻辑回归与正则化

通过求解上述损失函数的梯度和Hessian矩阵(详见课程笔记),我们可以得到模型参数$Theta$。

正则化

在实际应用中,我们通常需要处理高维数据集并避免过拟合。这时候就需要引入正则化来调整模型复杂度并提高泛化能力。

正则化的基本思想是在损失函数中加入一个正则化项,以惩罚模型的复杂度。常用的两种正则化方法是L1正则化和L2正则化。

L1正则化定义如下:

$$J(theta)=frac{1}{m}sum_{i=1}^{m}[-y^{(i)}log(h_{theta}(x^{(i)}))-(1-y^{(i)})log(1-h_{theta}(x^{(i)}))] + frac{lambda}{m}sum_{j=1}^n|Theta_j|$$

其中$lambda$表示超参数,控制着对模型复杂度的惩罚程度。当$lambda=0$时,模型与逻辑回归相同;当$lambda>0$时,模型会更倾向于选择小一些的参数值。

L2正则化定义如下:

$$J(theta)=frac{1}{m}sum_{i=1}^{m}[-y^{(i)}log(h_{theta}(x^{(i)}))-(1-y^{(i)})log(1-h_{theta}(x^{(i)}))] + frac{lambda}{2m}sum_{j=1}^n Theta_j^2$$

与L2相比,L1可以使得部分特征权重为零。这个特性被称为“稀疏性”,可以用于特征选择和降维等应用场景。但是,在某些情况下,L2正则化可能会更好地控制过拟合。

在本文中,我们介绍了逻辑回归模型及其实现方法,并深入探讨了如何使用正则化来改进模型。这些知识对于理解机器学习算法的基本原理以及应用场景都有很大帮助。

在下一篇文章中,我们将介绍支持向量机(SVM)算法。敬请期待!