人工智能算法介绍系列 : 逻辑回归 Logistic Regression

1 篇文章 0 订阅
1 篇文章 0 订阅

本系列文章将梳理人工智能中广泛用到的若干算法。通过这些介绍,读者可以更清晰地理解诸多人工智能框架,帮助大家更准确地选择人工智能框架,更有效地开发出自己期望的人工智能应用。

逻辑回归 Logistic Regression介绍

顾名思义,Logistic Regression是一种回归算法,但是也可以用作归类算法。其实Logistic Regression (又被称作Logit Regression) 通常被用来估计一个新的样本归属到某个分类的概率,如判断未接电话是否是骚扰电话。如果估计是骚扰电话的概率超过50%,则判定其为骚扰电话,否则判定其为正常电话。这是一个二进制判决的例子。
与线性回归不同,逻辑回归的输出是概率,即将线性回归的结果经过逻辑函数运算输出,输出的范围是0到1之间。当概率大于0.5时就判断为真,否则就判断为否。
逻辑函数(Logistic function)是一种S函数 (sigmoid function), (i.e., S-shaped),其曲线如下图所示。
逻辑函数
参考: 逻辑函数的WIKIpedia页面

逻辑回归的训练和代价函数

训练对象是参数矢量。训练目标是使得为的样本对应的输出概率尽可能高,即尽可能接近1,那些为的样本对应的输出应该尽可能接近0,即尽可能低。
基于这个目的,代价函数如下:
单个样本的代价函数
训练结果得到一组参数矢量,这些参数矢量是的代价函数最小。
整个训练样本集的代价函数是所有单个样本代价的均值。
研究表明,逻辑回归的代价函数是凸函数,表明有唯一的全局最小解。利用最陡梯度等算法总是可以得到最佳结果。
Python模块sklearnLogisticRegression()就是原来计算逻辑回归的函数。

Softmax Regression

逻辑回归可以直接支持多个类。这叫做Softmax Regression, or Multinomial Logistic
Regression。
如下图中公式所示,对于每个新的样本,Softmax Regression会计算其属于所有k个可能的分类的概率,而不仅限于两个。首先利用下图公式计算出k个值。故事中sita是要训练的矢量值,X为输入矢量。这个过程金额线性回归和逻辑回归类似。需要注意的是sita是随k值不同而不同的。
第k个类的值计算
然后这k个值经过softmax函数计算出概率大小。
Softmax
与逻辑回归类似,Softmax Regression回归也是将新的样本归到概率最高的那个类。
这个归类会使得代价函数最小。
Python模块sklearnLogisticRegression(multi_class=”multinomial”,solver=”lbfgs”, C=10)就是原来计算Softmax回归的函数。
与逻辑回归类似,最陡梯度等算法也使用与Sotfmax回归算法。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值