Machine Learning Classification Problem 总结

最近在学习 Machine Learning 的知识,一些听 Andrew Ng 的 coursera 课,一边做习题,即使这样,仍感觉听完就糊涂,学完就忘,so,重新捡起中断了一年多的 blog。前期的关于 Linear Problem 的内容我争取尽早补上吧。本周主要介绍 Classification Problem 以及 Logistic Regression(逻辑回归)的知识。

Classification Problem

有监督学习分为两类问题:regression problem(回归问题)& classification problem(分类问题)。上周聊过了 regression problem,这周来总结下 classification problem。

所谓 Classification Problem(分类问题),与Regression Problem的不同是,它的output是有限个数的、离散的值,这里的有限个数不局限在{0,1}两个值,是可数范围内的多个,如:

  • email 是否为垃圾邮件
  • 肿瘤是良性/恶性

Logistic Regression

Classification Problem 不可以用 Linear Regression(线性回归算法)来解决,需要用 Logistic Regression(逻辑回归算法,名称中的regression是由于历史原因导致的,请无视)。

逻辑函数(Logistic function)也叫 S 型函数(Sigmoid function)

当输出值是2个时,h(x)的的输出表示结果为1的可能性,当h(x) >= 0.5,则预测y = 1,否则y = 0:

输出值是多个时:

Decision Boundary

先着重介绍两个输出值的情况。可以看到,当θ’ * X = 0时(即h(x) = 0.5),这条线被称为Decision Boundary(决策边界),用于区分y = 0 & y = 1: decision boundary of logistic function

Overfitting

我们先通过一个线性回归的例子讨论下 overfitting 的定义及解决方案。下图中从左到右分别表示underfitting(欠拟合/高偏差) & fitting(拟合) & overfitting(过度拟合)。 过度拟合:预测模型 h(x) 过度匹配 training data,导致曲线十分扭曲,当预测新数据时,效果很差。一般来说,features过多 / 多项式的次数过大,都可能造成 overfitting。

通常来说,解决过度拟合有两种方法:

  1. 减少特征数量
    • 人工选择features
    • 通过model selection algorithm自动选择
  2. Regularization(正则化)
    • 保留所有的features,但是减小θ值
    • regularization 在线性回归问题和逻辑回归问题上都可以运用

Linear Regression 的正则化成本函数和梯度递减算法

cost function

cost function for linear regression cost function

Regularization 后的cost function为下图,为了让cost function接近0,必须得降低θ1 ~ θn的值,最终达到减少overfitting的目的:

其中 λ 称为 regularization parameter,该参数既不能过大(导致underfitting),也不能过小(overfitting),具体如何选择,之后我们在介绍。

gradient descent for regularized linear regression

由于θ0不需要处罚,所以对它进行特殊处理,其中 alpha 为学习速率参数:

normal equation for linear regression cost function

Logistic Regression 的正则化成本函数和梯度递减算法

cost function

当逻辑回归套用线性回归的cost function时,cost function会呈现出波浪形的形状,存在大量的local optima。为解决这个问题,逻辑回归对cost function做了调整。

单个training data的cost function为: 单个training data的cost function合并后为下图:

总的cost function如下图:

gradient descent

使用梯度递减求解逻辑回归的 cost function 最小值的做法和线性回归的一样,皆为:

由于梯度递减在某些情况下速度较慢,一些”Conjugate gradient”, “BFGS”, and “L-BFGS” 能更快速的求解出θ值

cost function for regularized logistic regression

同样的,用于 regularization 的项不包含 θ0.

gradient descent for regularized logistic regression