逻辑回归

2018/4/29 posted in  MachineLearning

不知道什么是逻辑回归,但是也许看完接下来的文章,你会有个大概的印象吧

简单介绍Logistic回归

Logistic回归用到的知识点

  • Sigmoid函数和Logistic回归分类器
  • 最优化理论初步
  • 梯度下降最优化算法
  • 数据中的缺失项处理

Logistic回归的一般过程

  • 1.收集数据:采用任意方法收集数据
  • 2.准备数据:由于需要进行距离计算,因此要求数据类型为数值型.另外,结构化数据格式则最佳.
  • 3.分析数据:采用任意方法对数据进行分析.
  • 4.训练算法:大部分时间将用于训练,训练的目的是为了找到最佳的分类回归系数.
  • 5.使用算法:首先,我们需要一些输入数据,并将其转换成对应的结构化数值;接着,基于训练好的回归系数就可以对这些数值进行简单的回归计算,判定他们属于哪个类别;在这之后,我们就可以在输出的类别上做一些其他分析工作.

基于Logistic回归和Sigmoid函数的分类

Logistic回归

  • 优点
    • 计算代价不高
    • 易于理解和实现
  • 缺点
    • 容易欠拟合
    • 分类精度可能不高
  • 适用类型
    • 数值型(数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析))
    • 标称型数据(标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类))

基本公式:
Sigmoid函数具体的计算公式

\[p=h_{\theta}(x)=g(\theta^Tx)=\dfrac{1}{1+e^{-\theta^Tx}}\]
\[g(z)=\dfrac{1}{1+e^{-z}}\]

\[
\begin{aligned}
g^{'}(X)& =\left(\dfrac{1}{1+e^{-z}}\right)^{'} \\\
& = \dfrac{e^{-z}}{(1+e^{-z})^2} \\\
& = \dfrac{1}{1+e^{-z}}\cdot \dfrac{e^{-z}}{1+e{-z}} \\\
& = \dfrac{1}{1+e^{-z}}\cdot \left(1-\dfrac{1}{1+e^{-z}}\right) \\\
& = g(z)\cdot (1-g(z))
\end{aligned}
\]

logistic 回归及似然函数

假设
\[
\begin{aligned}
P(y=1|x;\theta)& =h_{\theta}(x) \\\
P(y=0|x;\theta)& =1-h_{\theta}(x) \\\
P(y|x;\theta)& =(h_{\theta}(x))^y(1-h_{\theta}(x))^{(1-y)}
\end{aligned}
\]

似然函数:
\[
\begin{aligned}
L(\theta) & =p(\vec{y}|X;\theta) \\\
& =\prod_{i=1}^m p(y^{(i)}|x^{(i)};\theta) \\\
& = \prod_{i=1}^m (h_{\theta}(x^{(i)}))^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{(1-y^{(i)})}
\end{aligned}
\]

对数似然函数:
\[
\begin{aligned}
\ell(\theta) & =\log L(\theta) \\\
& = \sum_{i=1}^m\left(y^{(i)}\log h_{\theta}(x^{(i)})+(1-y^{(i)})\log (1-h_{\theta}(x^{(i)}))\right)
\end{aligned}
\]

最大似然/极大似然函数的随机梯度