上一部分,我介绍了感知机Perceptron,从零开始学习机器学习(二)感知器 Perceptron_UnicornH!XD的博客-优快云博客接下来,我将介绍逻辑回归。本篇论文以公式为主,公式推导居多。
逻辑回归 Logistic Regression
逻辑回归虽然 称为回归,但也是一个分类模型,而且常用于二分类任务。
逻辑回归假设输出是通过以下算法从输入生成的: 给定输入 以及参数
(1)计算
(2)应用逻辑函数 得到
(3)在0和1之间均匀的生成一个随机数,
(4)
由于最终的输出取决于第三步中生成的数,因此这是一个概率算法。
关于逻辑回归的分布函数,
如图是一个逻辑回归函数,训练这样一个模型,我们需要:
(1)数据集 输入是
,输出是
(2)一个可以从数据集更新回归参数
的算法。通产使用最大似然估计 Maximum Likelihood Estimation 来更新参数。最大似然函数是给定一个基本概率模型
和一个特定参数集
的数据集发生的概率。
给定回归参数 可以将似然函数定义为,:
可能性只是参数 w 的函数,因为输入是固定的,因为我们控制了它们,而且在训练数据中我们已经观察到了输出,因此关于训练数据唯一未知的就是 w 是如何生成这些数据的。
最大似然估计(Maximum likelihood estimator MLE) 可以定义为:
假设我们的数据是独立且分布的,即数据中每一个输出 仅依赖于与之匹配的输入
通常,也使用对数:
其中
这种概率分布的正式名称是伯努利概率分布。
使用log函数:
MLE中参数,
时,
以及
时
,当我们试图找到MLE时,我们要做的就是设置 h,它同时依赖于 x 和 w,这样我们可以最大化看到 y = 0和 y = 1训练样本的概率。
损失函数 交叉熵损失(cross-entropy loss):
对于SGD,我们选取一个样本 来估计梯度
这里将使用链式法则(Chain Rule):
这里有一个常用的求导公式:
由此,我们可以将原公式SGD化为:
常规的SGD参数更新为:
即:
因此, 是我们的预测与实际产出之间的差值。
假设 没有更新
假设 沿着
的方向更新
线性决策边界(Linear Decision Boundary)
给定d, 决策边界与 x 的关系是线性的。
假设有两个输入 , 则:
如图,蓝色是估计的边界,黑色是实际边界。
总结:
在这片文章中,我介绍了
(1)逻辑回归模型
(2)最大似然估计 MLE
(3)交叉熵损失 cross-entropy loss
下一章将介绍支持向量机SVM