机器学习: 逻辑回归
机器学习的笔记, 主要参考吴恩达的机器学习线上课, 以及"AI引论"课程.
1 Hypothesis
虽然叫做逻辑回归(logistic regression), 但是是用于分类的模型.
对于一个二分类问题, 数据集
自然, 标签
- 上面第二个等号用到了sigmoid函数的对称性.
- 注意到
当且仅当 .
假设函数: 相较于线性回归,
Logistic回归的假设函数是线性函数
决策边界(decision boundary):
两类边界上的数据点构成的图形, 即超平面
实际上, 可以在
例如,
2 Maximum Likelihood Estimation
如果我们使用线性回归的方差损失函数
对于模型
为了方便计算机计算, 取对数得到对数似然,
- 当预测值与真实值非常接近时, 损失接近
; 当预测值与真实值的相反类接近时, 损失趋于 .
最终得到代价函数为
Note. 线性回归的MLE方法. 对于线性回归, 一般认为确定平方差函数作为代价函数(经验风险最小化, ERM), 实际上可以用MLE解释.
模型
3 Gradient Descent
3.1 Derivation
我们可以用梯度下降算法求得最佳参数, 首先对代价函数求导得到
具体推导过程: 先计算
这样我们就可以用下面的方法来更新参数
3.2 Optimization
算法优化:
- Conjugate gradient
- BFGS
- L-BFGS
它们的优点:
- 不需要手动选择学习率
. - 通常比梯度下降快.
缺点: 复杂.
4 Multi-Class Classification
一对多(one-vs-all)或一对余(one-vs-rest): 将多元分类问题转化为多个二元分类问题.
对于每个类
, 将其当作正类, 其余当作负类, 训练得到一个分类器 .那么对于每个新的测试数据
, 我们只需要取概率最大的那个类,此种方法存在一个问题, 即各个分类器是独立的, 无法统一成一个模型. 进而当类别数
较大时, 分别训练各个分类器的代价太高.
可以利用Softmax回归方法解决多分类问题. 共同训练
- 这里的指数函数可以保证, 当
比其他 大一些时, 概率 能够比 大很多.
进而得到似然函数
5 Overfit & Regularization
一个模型对于测试数据需要有一定的假设, 即偏见(bias). 偏见的存在使得我们具有归纳的能力, 即对于相似的事物, 抓住主要相似点, 忽略其次要差异, 将它们归为同一类群; 如果没有偏见, 我们就缺乏归纳的能力. 模型亦如此. 由于模型的偏见不同, 造成的拟合结果也不同:
- 欠拟合(underfit): 高偏见(在训练集上代价过高).
- 合适的拟合.
- 过拟合(overfit): 高方差. 对于
个数据的回归问题, 总存在 次多项式函数能够穿过这些数据点, 但这通常对新的数据预测能力差(在测试集上代价明显高于训练集).
过拟合的原因一般有
- 某几个特征维度支配了预测, 即
的某些分量过大. - 存在大量无用特征, 但仍赋予了非零权重.
要解决第1个, 可以利用L2正则化(regularization)方法, 即将
- 其中的
会对较大的权重给出很大的惩罚, 使得权重分配更平均. - 注意最后的求和是从
开始的, 即不考虑 的大小. - L2正则化的线性回归也称为岭回归(rindge regression).
- 式中
, 称为正则化参数(regularization parameter). 它和学习率 一样是在学习前预先设定的, 成为超参数 (hyperparameter). 选择哪种模型, 哪种代价函数, 哪种正则化也可看作超参数. 对于超参数的选择, 一般先找出所有可能的超参数组合, (分别训练完毕后)在验证集(validation set)上找出误差最小的超参数集.
要解决第2个, 可以手动选择要保留的特征, 或使用模型选择算法;
也可以利用L1正则化方法, 即将
- 鼓励稀疏的
, 即大部分维度的权重为零. - L1正则化的线性回归也称为Lasso回归.
以线性回归+L2正则化为例, 新的代价函数的导数是