【BI学习心得19-逻辑回归与采购决策】

本文探讨了逻辑回归模型在物资分类中的应用,包括决策边界构建、似然函数理解、模型优缺点及常见问题。还介绍了如何通过贝叶斯优化进行超参数调优,特别是在物资分类中的风险和重要性评估。同时,通过实例展示了如何利用逻辑回归对战略、瓶颈等物资进行区分,并结合贝叶斯优化提升模型性能。
摘要由CSDN通过智能技术生成


1.逻辑回归模型

核心内容:

  • 假设数据服从伯努利分布
  • 通过极大化似然函数的方法
  • 运用梯度下降来求解参数
  • 将数据进行二分类

1.1逻辑回归假设

任何的模型都有自己的假设,在假设条件下才是适用的

假设1:数据服从伯努利分布

典型例子:连续的掷n次硬币(每次实验结果不受其他实验结果的影响,即n次实验是相互独立的)

贝努力分布为离散型概率分布,如果成功,随机变量取值为1;如果失败,随机变量取值为0。成功概率记为p,失败概率为 q=1-p
在这里插入图片描述
对应二分类问题,样本为正类的概率p,和样本为负类的概率q=1-p
在这里插入图片描述

假设2:正类的概率由sigmoid函数计算,即
在这里插入图片描述
预测样本为正的概率
在这里插入图片描述
预测样本为负的概率
在这里插入图片描述

1.3决策边界

在这里插入图片描述
线性的决策边界
在这里插入图片描述
构造预测函数
在这里插入图片描述
h θ ( x ) h_θ(x) hθ(x)表示结果为1的概率,对于输入x,分类结果为1和0的概率为
在这里插入图片描述

构造损失函数
在这里插入图片描述
在这里插入图片描述

Cost函数与J函数是基于最大似然估计推导得到的

将公式1综合起来,得到下面式子
在这里插入图片描述
取似然函数为
在这里插入图片描述
对数似然函数为
在这里插入图片描述
最大似然估计就是求使 l ( θ ) l(θ) l(θ),取最大值时的θ,这里可以使用梯度上升法求解,也即对 J ( θ ) J(θ) J(θ),使用梯度下降法求最小值 J ( θ ) = − 1 m l ( θ ) J(θ)=-\frac{1}{m}l(θ) J(θ)=m1l(θ)

1.4似然函数

统计模型中的参数的函数,表示模型参数中的似然性

给定输出x时,关于参数θ的似然函数L(θ|x)等于给定参数θ后变量X的概率, J ( θ ∣ x ) = P ( X = x ∣ θ ) J(θ|x)=P(X=x|θ) J(θx)=P(X=xθ)

1.5优缺点

逻辑回归的优点:

  • 形式简单,模型的可解释性非常好
  • 根据特征的权重可以得到不同的特征对最后结果的影响(某个特征的权重值高 => 这个特征对结果的影响大)
  • 工程上的baseline,如果特征工程做的好,效果不会差
  • 训练速度较快,计算量只和特征的数目相关
  • 模型资源占用小,只需要存储各个维度的特征值
  • 方便输出结果调整。逻辑回归可以很方便的得到最后的分类结果,因为输出的是每个样本的概率分数,我们可以很容易的对这些概率分数进行cut off,也就是划分阈值(大于某个阈值的是一类,小于某个阈值的是一类)

逻辑回归的缺点:

  • 准确率不是很高,形式简单,很难拟合数据的真实分布
  • 难处理样本不均衡问题
  • 难处理非线性数据,在不引入其他方法的情况下,只能处理线性可分的数据
  • 逻辑回归本身无法筛选特征,可以采用gbdt来筛选特征,然后再用逻辑回归

1.6常见问题

1.6.1如何进行分类

设定一个阈值,判断正类概率是否大于该阈值,一般阈值是0.5,所以只用判断正类概率是否大于0.5

1.6.2为什么训练中将高度相关的特征去掉
  • 可解释性更好
  • 提高训练的速度,特征多了,会增大训练的时间

2.物资分类

在这里插入图片描述

利润潜力:采购对可盈利性所做贡献的潜力,供应物品对利润的影响

供应风险:采购物品获得的难易程度,如果供应商没能准时供货,客户将遭受的损失程度

2.1战略物资

  • 对产品生产流程至关重要的采购项目,往往由于供给稀缺或运输困难而具有较高的供应风险
  • 买卖双方地位: 力量均衡,相互依赖性较高
  • 采购战略推荐: 战略联盟,紧密联系,供应商尽早介入,共同创造,并充分考虑垂直整合,关注长期价值

2.2瓶颈物资

  • 只能由某一特定供应商提供、运输不便、财务影响较低的采购项目
  • 买卖双方地位: 卖方主动,相互依赖性一般。
  • 采购战略推荐: 数量保险合同,供应商管理库存,确保额外库存,寻找潜在供应商

2.3杠杆物资

  • 可选供应商较多、能够为买家带来较高利润的采购项目,替换供应商较为容易,具有标准化的产品质量标准
  • 买卖双方地位: 买方主动,相互依赖性一般
  • 采购战略推荐: 采购招标,供应商选择,目标订价,与首选供应商达成一揽子协议, 最后按正常供应程序执行、处理分订单

2.4一般物资

  • 供给丰富、采购容易、财务影响较低的采购项目。 具有标准化的产品质量标准
  • 买卖双方地位: 力量均衡,相互依赖性较低
  • 采购战略推荐: 通过提高产品标准和改进生产流程,减少对此类项目的采购投入

2.5分类步骤

Step1,生成模拟数据 => material_group.csv

  • 和风险相关的24个指标
  • 和重要性相关的9个指标

Step2,使用逻辑回归进行建模

四种分类物资:战略、瓶颈、一般、杠杆

2.6逻辑回归进行建模

分别对风险、重要性进行LR建模

  • 超参数调优(贝叶斯优化)
  • 针对逻辑回归模型中的C和max_iter进行超参数优化
  • 绘制BCG矩阵四象限

3.贝叶斯优化

我们都知道神经网络训练是由许多超参数决定的,例如网络深度,学习率,卷积核大小等等。所以为了找到一个最好的超参数组合,最直观的的想法就是Grid Search,其实也就是穷举搜索,示意图如下。
在这里插入图片描述

但是我们都知道机器学习训练模型是一个非常耗时的过程,而且现如今随着网络越来越复杂,超参数也越来越多,以如今计算力而言要想将每种可能的超参数组合都实验一遍(即Grid Search)明显不现实,所以一般就是事先限定若干种可能,但是这样搜索仍然不高效。

所以为了提高搜索效率,人们提出随机搜索,示意图如下。虽然随机搜索得到的结果互相之间差异较大,但是实验证明随机搜索的确比网格搜索效果要好。
在这里插入图片描述

3.1优化原理

假设一组超参数组合是X=x1,x2,…,xn(xn表示某一个超参数的值),不同超参数会得到不同效果,贝叶斯优化假设超参数与需要优化的损失函数存在一个函数关系

而目前机器学习其实是一个黑盒子(black box),即我们只知道input和output,所以很难确直接定存在什么样的函数关系,所以我们需要将注意力转移到一个我们可以解决的函数上去,下面开始正式介绍贝叶斯优化。

贝叶斯优化的大体思路如下:
假设我们有一个函数 f : x − > R f:x->R f:x>R,我们需要在 x ⊆ X x⊆X xX内找到
x ∗ = a r g m i n ( x ∈ X ) f ( x ) ( 1 ) x^*=argmin_{(x∈X)}f(x)(1) x=argmin(xX)f(x)1

注意上面的x表示的是超参数,而不是输入数据。以图像分类任务为例,x可以是学习率,batch size等超参数的设置。而为了避免全文符号太多,所以将输入数据隐去了,换句话说f(x)等价于f(x|img)

当f是凸函数且定义域X也是凸的时候,我们可以通过已被广泛研究的凸优化来处理,但是f并不一定是凸的,而且在机器学习中f通常是expensive black-box function,即计算一次需要花费大量资源。那么贝叶斯优化是如何处理这一问题的呢?

3.2具体算法

Sequential model-based optimization (SMBO) 是贝叶斯优化的最简形式,其算法思路如下:
在这里插入图片描述
下面详细介绍一下上图中的算法:
1. Input:

  • f : 就是那个所谓的黑盒子,即输入一组超参数,得到一个输出值。

  • X:是超参数搜索空间等。

  • D :表示一个由若干对数据组成的数据集,每一对数组表示为(x,y),x是一组超参数,y表示该组超参数对应的结果。

  • S :是Acquisition Function(采集函数),这个函数的作用是用来选择公式(1)中的x,后面会详细介绍这个函数。

  • M :是对数据集D进行拟合得到的模型,可以用来假设的模型有很多种,例如随机森林,Tree Parzen Estimators(想要了解这两种的可以阅读参考文献[1])等。

2. InitSamples(f,x)→D
这一步骤就是初始化获取数据集D=(x1,y1),…,(xn,yn),其中yi=f(xi),这些都是已知的。

3. 循环选参数T次
因为每次选出参数x后都需要计算f(x),而正如前面介绍的每计算一次函数f,都会消耗大量资源,所以一般需要固定选参次数(或者是函数评估次数)

p(y|x,D)←FITMODEL(M,D)

首先我们预先假设了模型M服从高斯分布,且已知了数据集D,所以可以通过计算得出具体的模型具体函数表示。假设下图中的绿色实现就是基于数据集D经过计算后的服从高斯分布模型。可以看到Each additional band of green is another half standard deviation on the output distribution(绿色的每个附加带是输出分布的另一半标准偏差)。

在这里插入图片描述
那么高斯分布是如何计算的呢?
因为我们已经假设f~GP(μ,K)。 (GP:高斯过程,μ:均值 K:协方差kernel,)。所以预测也是服从正态分布的,即有p(y|x,D)=N(y|μ2)
在这里插入图片描述

  • xi←argmaxx∈XS(X,p(y|X,D))

现在已经将假设的模型计算出来了,那么下一步我们需要基于假设模型的基础上选择满足公式(1)的参数了,也就是选择X,那么如何选择呢?这就涉及到了Acquisition Function,为了让文章篇幅更易阅读,想了解Acquisition Function移步到文末。

  • yi←f(xi)
    既然参数选出来了,那么当然就是要计算咯。例如我们通过上述步骤已经选出了一组超参数 x i x_i xi,那么我们下一步就是将超参数带入网络中去进行训练,最后得到输出 y i y_i yi。这一步骤虽然expensive,但是没办法还是得走啊。
  • D←D⋃(xi,yi)
    更新数据集

3.3Acquisition Function

Acquisition Function的选择可以有很多种,下面将分别介绍不同的AC function

1)Probability of improvement
假设f′=minf,这个 f′ 表示目前已知的f的最小值。
然后定义utility function如下:
在这里插入图片描述
其实也可以把上面的u(x)理解成一个reward函数,如果f(x)不大于f’就有奖励,反之没有。

probability of improvement acquisition function定义为the expected utility as a function of x:
在这里插入图片描述
之后只需要求出a(x)的最大值即可求出基于高斯分布的满足要求的x。

2) Expected improvement

上面的AC function有个缺点就是找到的x可能是局部最优点,所以有了Expected improvement。f′的定义和上面一样,即f′=minf。utility function定义如下:
u ( x ) = m a x ( 0 , f ′ − f ( x ) ) u(x)=max(0,f′−f(x)) u(x)=max(0,ff(x))

因为我们最初的目的是找到使得f(x)最小的x,所以这个utility function的含义很好理解,即接下来找到的f(x)比已知最小的f′越小越好,然后选出小的程度最大的那个f(x)和f′之间的差距的绝对值作为奖励,如果没有更小的那么奖励则为0.

AC function定义如下:
在这里插入图片描述
通过计算使得aEI值最大的点即为最优点。

上式中有两个组成部分。要使得上式值最大则需要同时优化左右两个部分:

  • 左边需要尽可能的减少μ(x)
  • 右边需要尽可能的增大方差(或协方差)K(x,x)

但是二者并不同能是满足,所以这是一个exploitation-exploration tradeoff。

3) Entropy search
在这里插入图片描述
4) Upper confidence bound
在这里插入图片描述

参考资料

  1. 简书-评分卡模型
  2. 贝叶斯优化(Bayesian Optimization)深入理解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水花

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值