三月下旬新内容速递丨JVM调优、权限体系与函数进阶

春日渐暖,学习正酣!三月下旬更新聚焦JVM参数实战、权限体系拆解、多种分析法与AI架构入门,助你在数据与技术的融合中持续进阶!


一、场景应用精选

【数析课堂】别只盯着总数!用“结构分析法”一眼看穿业务真相》→跳出总量思维,深入业务结构发现机会。
【旭日图】数据的“家族族谱”与深度透视镜》→通过旭日图展示多层级数据关系,助力钻取分析。
【函数课堂】Fixed 与 Exclude 怎么选?》→场景化讲解函数选择逻辑,告别计算度量困惑。
【数析课堂】分组法:分析师的“分层透视眼”,一眼看穿客户与业务本质》→掌握分组分析法,实现精细化运营洞察。

二、技术经验分享

那些年漏配错配的,JVM参数们》→深入解析JVM常见配置误区,提升系统性能与稳定性。
别慌!权限体系其实超简单》→轻松掌握权限设计核心逻辑,快速落地数据安全管控。

三、AI知识更新

【AI每日一学】讲一下单Agent架构vs多Agent系统的特征、优点和缺点》→对比单Agent与多Agent系统,为智能体选型提供参考。

四、任务持续上线

【BI知识闯关】那些年漏配错配的,JVM参数们》→通过闯关巩固JVM参数配置要点。
【AI知识巩固】讲一下单Agent架构vs多Agent系统的特征、优点和缺点》→强化AI架构理解,夯实智能体基础知识。
【数析课堂】结构分析法知识巩固》→练习结构分析,掌握业务构成洞察技巧。
【图表应用】旭日图—你的专属“层级解码器”》→实战旭日图绘制,解锁层级数据可视化。
【BI知识闯关】别慌!权限体系其实超简单》→检验权限体系学习成果,提升实战能力。
【函数】Fixed 与 Exclude 怎么选?》→深入辨析两类函数,精准匹配分析场景。
【数析课堂】分组法知识巩固》→强化分层分组思维,提升客户与业务分析效率。

阳春三月,学习正当时,快来社区参与挑战,一起探索数据新视界!

麦粉社区
>
帖子详情

算法系列篇——逻辑回归(Logistic Regression)原理详细总结

数据挖掘 发表于 2019-11-29 15:40
发表于 2019-11-29 15:40:17
本帖最后由 xielixia 于 2019-12-10 11:06 编辑

-----------------------------------------------------------------------------------------------------------------------------------------------------
      写在最前面,本篇内容来源于我的博客https://blog.csdn.net/weixin_40449129/article/details/102541838。本篇帖子主要对逻辑回归的算法原理进行详细推导,其中会涉及到微积分,概率论等一些数学知识,需要一定数学基础(本人水平有限,无法通俗易懂的解释逻辑回归)。另外现在论坛还不支持公式输入,以及图片大小的调整,所有的公式都是复制的图片,看起来特别变扭
-----------------------------------------------------------------------------------------------------------------------------------------------------
      
      逻辑回归(Logistic Regression)是一个分类算法,既可以用来解决二分类问题也可以解决多分类问题。那么为什么名为“回归“的算法却是用来解决分类问题的呢?本文将对逻辑回归的由来及原理做出详细的总结。


1)线性回归(Linear Regression)


       线性回归一般化的描述指通过计算输入变量的加权和,并加上一个常数偏置项(截距项)来得到一个预测值。线性回归预测模型如下(向量形式):
                                                                   270655de0c2dfcc6fb.png
线性回归是求出输出特征向量yˆ和输入样本矩阵X之间的线性关系系数θ,然后给定一个特征向量X,输出一个预测值yˆ。由于yˆ的值是一个连续的数值,因此线性回归是一个回归模型。


2)分类问题(Classification Problem)
       对于一个二分类问题,假如给定一个样本x,我们需要估计该样本属于特定的一个类别的概率(比如是否是垃圾短信?)。假如我们估计样本xxx是垃圾概率的概率大于50%,则我们认为他是正类(label=1),否则我们认为它是负类(label=0 or label=−1)。这就是一个二分类问题。
       那么对于多分类问题,我们可以其转换成多个二分类问题,比如最简单的OVA(One-vs-all)方法,也可以直接用多元逻辑回归的方法解决,比如Many-vs-Many(MvM)。

3)回归问题到分类问题(Linear Regression To Classification Problem)
       那么如何用连续的数值去预测离散的标签值?我们能否将线性回归输出的一个连续的数值变成一个标签呢?一个比较直观的想法是设定一个阈值,比如回归模型输出的y大于0时,属于正类,y小于0时属于负类,这种方法叫做感知机(Perceptron)。
       感知机的方法可以很好的将一个连续的数值变成一个标签,但它有一个问题,即将y等于1时,和y等于100时,视为完全一样,都归为正类。那我们是否有更好的一个方法,将y等于1和y等于100都归为正类的同时,也考虑它们各自属于正类的置信度呢?
       这种方法就是逻辑回归(Logistic Regression),我们不直接去预测类别,而是预测类别为正的概率。如果样本类别为正的概率大于0.5,则认为样本为正类,否则为负类。



4 )逻辑函数(Logistic Function)
       那么如何将线性回归的输出值y,y属于(-∞, +∞),转换成[0,1]的概率的呢?
279405de0c417bd7ef.png
       正好,有一个Sigmoid函数,表达式和函数图像如下:
398275de0c43a828a3.png
620195de0c441c49e3.png
      一旦逻辑回归能够估计样本X属于正类的概率
                              983905de0c47764abd.png         
,那么很容易通过以下公式去判断样本x属于哪个类别:
947765de0c4a2f150d.png

    因此,逻辑回归的函数为:
331685de0c4b29b5a5.png
     对于二分类问题,逻辑回归函数可以写成:
699805de0c4d4b6537.png
       将两式合并,可写成:
670235de0c4e5c3a7c.png


5)决策边界(Decision Boundaries)
       对于二分类问题,逻辑回归函数为:
750215de0c4f9d19b4.png
       由于位于决策边界上的点属于正负类的概率相等,因此对于二分类问题一下两式相等:
809195de0c50dacb3e.png
       因此逻辑回归的决策边界是线性函数,因此逻辑回归是线性分类器。


6)目标函数(Objective Function)
       假设我们有数据集 583965de0c533deba0.png 对于二分类逻辑回归有:
732365de0c540099f0.png

       我们需要最大化目标函数:
100145de0c551585d5.png
将逻辑回归函数带入目标函数得:
707535de0c55ead220.png


7)最小化目标函数(Minimizing the Function)
       由上节可知,逻辑回归目标函数为:
832175de0c59362798.png
由于逻辑回归目标函数对于求解最小化损失函数的w,bw,bw,b是没有公式解(没有等价的正态方程)。 但好消息是,这个目标函数是凸函数,所以利用梯度下降算法(或任何其他优化算法)一定能够找到全局最小值。
       首先我们用损失函数L(w,b)L(w,b)L(w,b)对参数www求偏导,
734175de0c5bcb0ab4.png



368965de0c5cac8d61.png
同理,可对参数b求偏导,得:
178955de0c5de1d28a.png


       下面我们用梯度下降算法(GD)更新参数w,b:
507265de0c60063ddd.png

       当样本量非常大时,每一次更新参数w,b时的计算复杂度为O(n),因此有了随机梯度下降算法(SGD),批量梯度下降算法(BGD)。在深度学习中,通常我们运用批量梯度下降算法。


8)正则项(Penalty)
       当逻辑回归面临过拟合的问题,我们可以通过在损失函数中加入正则项。常见的正则有L1正则和L2正则。
       二元逻辑回归加入L1正则后,目标函数为:
534995de0c61e36f34.png


       加入L2正则后,目标函数为:
294645de0c62ec1c7a.png
       既加入L1正则,又加入L2正则(elasticnet),目标函数为:
169225de0c63fa6631.png


其中超参数λ\lambdaλ用交叉验证的方式去选择最好的超参数。
       一般来说,既加入L1正则,又加入L2正则,模型表现要比 只加L1好,因为当特征数量比样本的数量大的时候,或者特征之间有很强的相关性时,L1正则可能会表现的不规律。
       L1正则化就是在损失函数后边所加正则项为L1范数,加上L1范数容易得到稀疏解,所以可以用来做特征选择;L2正则化就是损失函数后边所加正则项为L2范数的平方,L2正则相比于L1正则来说,得到的解更平滑,但是同样能够保证解中接近于0的维度比较多,降低模型的复杂度。



9)Softmax Regression
       逻辑回归模型可以直接推广到支持多类别分类,不必要组合和训练多个二分类器,其称为 Softmax 回归或多类别 Logistic 回归。
       Softmax原理很简单:在给定一个实例x时,Softmax回归模型首先计算k类的分数sk(x),然后将分数应用在Softmax函数(也称为归一化指数)上做归一化处理,估计出每类的概率。
944305de0c696eab74.png

和 Logistic 回归分类器一样,Softmax 回归分类器将估计概率最高(它只是得分最高的类)的那类作为预测结果。
266075de0c6a51470f.png
       现在我们知道这个模型如何估计概率并进行预测,接下来将介绍如何训练。和二分类类似,多分类目标函数如下:

792775de0c6bced692.png


经过优化,多元逻辑回归的目标函数为:
964605de0c6f75d183.png
同理,多元逻辑回归的目标函数优化方法和二元逻辑回归类似,这里就不累述。

10)小结
       逻辑回归尤其是二元逻辑回归是非常常见的模型,训练速度很快,虽然使用起来没有支持向量机(SVM)那么占主流,但是解决普通的分类问题是足够了,训练速度也比起SVM要快不少。


下篇我们使用逻辑回归模型去做一个金融欺诈行为分析。
(欢迎转载,转载请注明出处。)




来自手机
发表于 2019-11-29 15:58:29
本帖最后由 xielixia 于 2019-12-10 11:02 编辑

论坛不支持编辑公式,图片看起来有点变扭。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

1回帖数 0关注人数 226696浏览人数
最后回复于:2019-12-2 10:21

社区

指南

AI

搜索

快速回复 返回顶部 返回列表