机器学习:Sigmoid函数及Logistic回归模型

sigmoid函数是一个有着优美S形曲线的双弯曲数学函数,其在逻辑回归、人工神经网络中有着广泛的应用(sigmoid:adj. 乙状结肠的;C形的;S形的 n. S状弯曲)。在生物统计中,该函数也可以模仿一些情况下生物数量的 S 形曲线,起初阶段资源丰富大致是指数增长,然后随着资源受限开始变得饱和增加变慢,最后达到成熟时增加停止保持平衡。

Sigmoid函数及导数

f(z) = \frac{1}{1 + e^{-z}} = \frac{e^{z}}{1 + e^{z}}
f'(z) = (\frac{1}{1 + e^{-z}})' = -1 \times {(1 + e^{-z})}^{-2} \times (-1) \times e^{-z} \\ = \frac{e^{-z}}{{(1 + e^{-z})}^{-2}} = f(x) (1 - f(z))

sigmoid函数及导数

结合图像分析,其优点:

  • 定义域(−∞, +∞) 值域(0, 1),可将任意范围的输入映射到(0, 1)之间,单调连续,以(0, 0.5)中心对称,是一个非常良好的阈值函数;
  • z为0时f(z)为0.5,当z超过6时f(x)越来越接近于1但永不会越过,同样z小于-6时f(z)向左越来越接近于0,在z超出[-6,6]的范围后,函数值非常接近基本没有变化,在应用中一般不考虑;
  • 函数值域限制在(0,1)之间,[0,1]与概率值的范围相对应,这样sigmoid函数就能与一个概率分布联系起来;
  • 处处可导求导容易,导数是其本身的函数,即f′(z)=f(z)(1−f(z)),计算方便节省时间。

同时缺点:

  • 由于其软饱和性,在饱和的时候梯度太小太平滑,容易产生梯度消失,导致模型训练出现问题;
  • 其输出并不是以0为中心的;
  • sigmoid函数可以很容易地应用在训练过程中,但只能处理两个类(只有0和1两种状态),不适用于多分类的问题。

python代码实现

# -*- coding: UTF-8 -*-

#导入科学计算库和绘图库
import numpy as np
import matplotlib.pyplot as plt

#定义函数计算s(x) = 1/(1+e^(-x))
def sigmoid(x):
    return 1./(1. + np.exp(-x))

#确定x值和y值范围
x = np.arange(-50, 50)
y = sigmoid(x)

#以x,y为轴,绘制Sigmoid及其导数
plt.plot(x, y)
plt.plot(x, y*(1-y))
plt.show()

Logistic回归模型

在搜索引擎广告排名决策中,为了预估每个广告的点击率,需要考虑广告位置、点击量、展示时间、受众人群等多个影响因素,这么多因素最好能用一个统一的数学模型来描述,而且这个模型能够随着数据量的增加越来越准确,这并非易事。早期很多经验值修正和近似的做法在整合各个特征时效果都不很好,后来工业界普遍采用逻辑回归模型(Logistic Regression / Logistic Model)。
逻辑回归模型指将一个事件出现的概率逐渐适应(回归)到一条S型逻辑曲线上,该曲线一开始变化快逐渐减慢最后饱和,上述sigmoid函数就是其中曲线之一(图形及特点详见上文)。
有了逻辑回归模型(sigmoid函数),就可以把各种信号(因素值)组合起来,不论组合成多大或多小的值最后都能得到一个概率分布。也可认为逻辑回归模型就是一种将影响概率的不同因素结合在一起的指数模型,例如z = a_0 + a_1x_1 + a_2x_2 + ... + a_kx_k中,每个x_i称为变量,表示影响概率的各种因子,a_i称为回归参数,表示每个因子的权重值,a_0是一个特殊参数与任何因子无关,可以保证在没有任何信息时,有一个稳定的概率分布,z是sigmoid函数的参数值,得出z后带入函数可得到位于(0,1)之间的概率值。
逻辑回归模型中的各参数的确定需要进行大量训练才能得出,和很多指数模型(如最大熵模型)一样,训练方法相似,可以采用通用的迭代算法GIS和改进的迭代算法IIS来实现,这两个算法知道就好,至今没多少人能搞懂和实现,希望以后有机会能学习一下。

参考:
《数学之美》吴军博士著

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容