Logistic Regression算法笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010412858/article/details/79474270

机器学习中的逻辑回归Logistic Regression

假设数据服从 u=0, s=1 的逻辑斯蒂分布
logistic回归为什么要使用sigmoid函数

Logistic Function

逻辑回归(Logistic Regression)的名称是由其使用的核心函数–Logistic function得来的。

Logistic函数也叫作Sigmoid函数,最初由统计学家发明用来描述生态学中人口增长的特点。起初阶段大致是指数增长然后随着接近环境容量开始变得饱和,增加变慢;最后,达到成熟时增加停止。

Logistic 函数曲线是S型,能将任何实数映射到0~1之间,但又无法达到其极限。

σ ( z ) = 1 1 + e z

Representation Used for Logistic Regression

Logistic regression的公式表达出来很像线性回归。
逻辑回归与线性回归的关键不同在于:线性回归的输出值为二元值(0、1)而不是概率数值。
将输入变量(x)与权重(weights)或偏差系数( β )线性结合来预测输出值(y)

y ^ = σ ( w T x + b ) == e w T x + b 1 + e w T x + b

其中 w T 是单一输入变量x的权重系数,b是噪音系数。你输入数据的每一列都有一个相关联的实数常量系数b,其由训练学习而来。

Logistic Regression损失函数

假设有m组训练样本 ( x ( 1 ) , y ( 1 ) ) , . . . , ( x ( m ) , y ( m ) ) ,你需要训练你模型的参数使 y ^ ( i ) y ( i )
Loss(error) function:

L ( y ^ , y ) = ( y log y ^ + ( 1 y ) log ( 1 y ^ ) )

Why not 为什么不使用误差平方和来作为代价函数:
L ( y ^ , y ) = 1 2 ( y ^ y ) 2

这时候的代价函数是非凸的,也就是函数图像中会出现许多的局部最小值,导致梯度下降法极其容易得到局部最小值。如下:
enter image description here

Cost function:

J ( w , b ) = 1 m i = 1 m L ( y ^ i , y i ) = 1 m i = 1 m [ y i log y ^ i + ( 1 y i ) log ( 1 y ^ i ) ]

Sigmod函数求导

(1) σ ( z ) = 1 1 + e z = d d z 1 1 + e z = e z ( 1 + e z ) 2 = 1 + e z 1 1 + e z 1 1 + e z = 1 1 + e z ( 1 1 1 + e z ) = σ ( z ) [ 1 σ ( z ) ]

逻辑回归中我们的目标就是最小化损失函数 J ( θ )
y ^ = h θ ( x )
J ( θ ) = i ( y ( i ) log ( h θ ( x ( i ) ) ) + ( 1 y ( i ) ) log ( 1 h θ ( x ( i ) ) ) ) .

这里写图片描述

Logistic回归优缺点:

优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低;
缺点:容易欠拟合,分类精度可能不高

正则化的Logistic Regression

logistic回归通过正则化(regularization)惩罚参数,防止其取得过大,可以避免过拟合问题(overfitting),其代价函数如下:
这里写图片描述
这里写图片描述


References:
[1] https://www.coursera.org/learn/neural-networks-deep-learning/lecture/5sdh6/logistic-regression-gradient-descent
[2] [Machine Learning & Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族

猜你喜欢

转载自blog.csdn.net/u010412858/article/details/79474270