逻辑回归 Logistic Regression 算法是一种被广泛使用的分类算法,属于线性分类的一种。通过分析数据中的正负样本,学习样本特征到样本标签的转换函数,Logistic Regression 可用于实现广告点击率的预测。
<div align=center>这里写图片描述
图1 线性分类
<div align=center>
这里写图片描述
图2 非线性分类

模型原理:

对于图1所示的线性可分问题,需要找到一条直线,区分出两个不同类的点,这条直线也称超曲面。上述超曲面可以用线性方程描述,即:
L := Wx+b=0

其中W是权重,b是偏置。在本算法中,通过对训练样本学习,最终得到该超平面,将数据分成正负两个类别。为了能将两个类据分开,需要用某个阈值作为判别准则,常见的阈值函数有符号函数Sgn、Sigmoid函数、ReLU 函数等,其形式分别是

Sgn:

<div align=center>
这里写图片描述

Sigmoid函数:

<div align=center>
这里写图片描述

ReLU函数:
<div align=center>
这里写图片描述

以下主要讨论Sigmoid函数,首先从图像容易知道它的定义域为,值域为(0,1),它是个同胚映射,其次分析它的导数,分析函数性质,求导是常用方法。

函数性质总结:
: 1.定义域为(-∞∞)
: 2.值域为$(0,1)$
: 3.在定义域中是连续光滑函数
: 4.在定义域内处处可导,且导数为$f(x)=f(x)(1-f(x))$

以下用python实现其函数功能:

import numpy  as np

def Sig(x):
    '''
    :param x:
    输入x
    :return:
    输出 Sigmoid(x) 值
    '''
    return 1.0/(1+np.exp(-x))

Sigmoid函数的输出为(0,1),二分类器,相当于离散型随机变量,符合(0,1)分布,取正例的概率为:
$$
P(y=1|X,W,b)=Sigmoid(WX+b)={1 \over (1+exp(-WX+b))}
$$
取负例概率为:
$$
P(y=0|X,W,b)=1-P(y=1|X,W,b)={exp(-WX+b) \over (1+exp(-WX+b))}
$$

对于上述的模型,需要求解的是参数W 和b,确定好这两个参数,就完成了分类器的设计