逻辑回归 Logistic Regression 算法是一种被广泛使用的分类算法,属于线性分类的一种。通过分析数据中的正负样本,学习样本特征到样本标签的转换函数,Logistic Regression 可用于实现广告点击率的预测。
图1 线性分类
图2 非线性分类
模型原理:
对于图1所示的线性可分问题,需要找到一条直线,区分出两个不同类的点,这条直线也称超曲面。上述超曲面可以用线性方程描述,即:
L := Wx+b=0
其中W是权重,b是偏置。在本算法中,通过对训练样本学习,最终得到该超平面,将数据分成正负两个类别。为了能将两个类据分开,需要用某个阈值作为判别准则,常见的阈值函数有符号函数Sgn、Sigmoid函数、ReLU 函数等,其形式分别是
Sgn:
Sigmoid函数:
ReLU函数:
以下主要讨论Sigmoid函数,首先从图像容易知道它的定义域为,值域为(0,1),它是个同胚映射,其次分析它的导数,分析函数性质,求导是常用方法。
- 函数性质总结:
- 1.定义域为(-∞∞)
- 2.值域为
- 3.在定义域中是连续光滑函数
- 4.在定义域内处处可导,且导数为
以下用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)分布,取正例的概率为:
取负例概率为:
对于上述的模型,需要求解的是参数W 和b,确定好这两个参数,就完成了分类器的设计
。