
逻辑回归算法学习与思考
本文是作者对于逻辑回归算法的学习和思考,主要介绍:逻辑回归的算法介绍、逻辑回归的数学原理、逻辑回归的实际应用、逻辑回归的总结以及网络安全场景预测,欢迎大家参考讨论。
逻辑回归的算法介绍
逻辑回归(Logistic regression)是机器学习分类算法的其中一种,核心思想是利用现有数据对分类边界建立回归方程,以此进行分类。回归可以理解为最佳拟合,是一种选择最优分类的算法。
逻辑归回中会有一些新词汇需要理解。
h函数: 根据输入的数据预测类别的函数,Andrew Ng的公开课中称为hypothesis function。
j函数: 我们需要一个机制去评估我们的h函数的好坏,j函数的作用是评估h函数的好坏,一般这个函数称为损失函数(loss function)或者错误函数(error function)。
逻辑回归的数学原理
h函数相关(预测函数)
首先,我们先看看逻辑回归的预测函数,h函数!
其中含有θ (又称:theta)的变量为(当x0=1时,可以进行矩阵变换):
h函数的原型函数为sigmoid函数,展示如下:
sigmoid方程的图形如下,sigmoid函数的取值范围为 (0,1)
这里进行下小结,逻辑回归的预测函数使用sigmoid函数作为原型函数,然后对sigmoid函数的x进行替换,替换为一个多元一次方程。其中多元一次方程的θ为我要寻找最优组合的内容。
j函数相关
j函数的目标就是找到一组最佳θ,使得J(θ)的值最小。
我们可以利用梯度下降算法来求得J(θ)的值最小,根据梯度下降法可得θ的更新过程。j=0 时,代表更新j向量的第0分量,j=1 时,代表更新j向量的第1分量,以此类,为了方便理解,可以把j看成数组vector_j,j=0,就是更新vector_j[0]。α为学习步长。
经过一些数学推导的最终形式如下(推导过程为对θ求偏导数)。
ps:xj为x向量的第j分量,还可以理解为x数组的第j项,其实下图是对θ数组的第j项进行更新的算式,然而真正代码角度是对整个θ数组进行更新,也就是下下图的样子。
当我们把上式向量化处理就得到了代码可以处理的形式。
对比着代码看(代码出自《机器学习实战》)
这里进行下小结,我们为了寻找最佳的θ组合,设置了J(θ)函数,我们利用已知数据(建模的训练数据)来寻找最优的θ组合使得J(θ)最小,而我们找最优θ组合的算法为梯度下降算法。
逻辑回归的实际应用
目前单机使用机器学习算法的python库为sklearn库,实例如下。
使用该模型,需要手工调整函数的参数,这个需要对算法进行理解。
逻辑回归的总结
Logistic Regression算法作为一个二分类算法,主要解决的是线性可分的问题,对于多分类算法,可以利用Softmax Regression算法。
Softmax Regression是一般化的Logistic Regression,可以把Logistic Regression看成Softmax Regression的特例。
那么Softmax Regression和Logistic Regression该怎么选择呢?参考Stanford的文章的内容。
Softmax 回归 vs. k 个二元分类器
如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是选择使用 softmax 分类器呢,还是使用 logistic 回归算法建立 k 个独立的二元分类器呢?
这一选择取决于你的类别之间是否互斥,例如,如果你有四个类别的音乐,分别为:古典音乐、乡村音乐、摇滚乐和爵士乐,那么你可以假设每个训练样本只会被打上一个标签(即:一首歌只能属于这四种音乐类型的其中一种),此时你应该使用类别数 k = 4 的softmax回归。(如果在你的数据集中,有的歌曲不属于以上四类的其中任何一类,那么你可以添加一个“其他类”,并将类别数 k 设为5。)
如果你的四个类别如下:人声音乐、舞曲、影视原声、流行歌曲,那么这些类别之间并不是互斥的。例如:一首歌曲可以来源于影视原声,同时也包含人声 。这种情况下,使用4个二分类的 logistic 回归分类器更为合适。这样,对于每个新的音乐作品 ,我们的算法可以分别判断它是否属于各个类别。
现在我们来看一个计算视觉领域的例子,你的任务是将图像分到三个不同类别中。(i) 假设这三个类别分别是:室内场景、户外城区场景、户外荒野场景。你会使用sofmax回归还是 3个logistic 回归分类器呢? (ii) 现在假设这三个类别分别是室内场景、黑白图片、包含人物的图片,你又会选择 softmax 回归还是多个 logistic 回归分类器呢?
在第一个例子中,三个类别是互斥的,因此更适于选择softmax回归分类器 。而在第二个例子中,建立三个独立的 logistic回归分类器更加合适。
网络安全场景下的实践
逻辑回归算法作为一个二分类机器学习算法,主要优势是学习速度快,算法好理解,预测速度快等特点,并且神经网络在神经元上也是采用的是逻辑回归算法,因此在这个深度学习的大背景下,安全人员还是要学习逻辑回归算法。
对于在安全攻防上使用逻辑回归算法,我们先要明白逻辑回归算法的本质:逻辑回归是分类算法。
吸星是安全在机器学习实践上一个非常好的例子,由于吸星使用的是朴素贝叶斯分类算法,那么吸星能不能使用逻辑回顾呢?效果如何呢?这是值得实践的。
异常流量识别,由于瞬时流量或者流量区间中会存在非常多的属性,而且异常流量识别属于二分类,逻辑回归对于异常流量监测问题,这也是非常值得实践的。
网站异常URL识别,对于一个网站,URL的形式具有一定特征的,那么如果被种植了webshell,那么webshell的URL可能会与正常URL存在差异,因此利用此逻辑回归也是能解决这类问题的。
其实总结起来就是,只要每一条数据可以有多个属性,就可以利用逻辑回归。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
基于 SPSS 的 ROC 曲线平滑调整方法与实践指南 摘要 受试者工作特征曲线(ROC 曲线)是评估诊断模型或预测指标效能的核心工具, ...
2025-08-25神经网络隐藏层神经元个数的确定方法与实践 摘要 在神经网络模型设计中,隐藏层神经元个数的确定是影响模型性能、训练效率与泛 ...
2025-08-25CDA 数据分析师与数据思维:驱动企业管理升级的核心力量 在数字化浪潮席卷全球的当下,数据已成为企业继人力、物力、财力之后的 ...
2025-08-25CDA数据分析师与数据指标:基础概念与协同逻辑 一、CDA 数据分析师:数据驱动时代的核心角色 1.1 定义与行业价值 CDA(Certified ...
2025-08-22Power Query 移动加权平均计算 Power Query 移动加权平均设置全解析:从原理到实战 一、移动加权平均法的核心逻辑 移动加权平均 ...
2025-08-22描述性统计:CDA数据分析师的基础核心与实践应用 一、描述性统计的定位:CDA 认证的 “入门基石” 在 CDA(Certified Data Analy ...
2025-08-22基于 Python response.text 的科技新闻数据清洗去噪实践 在通过 Python requests 库的 response.text 获取 API 数据后,原始数据 ...
2025-08-21基于 Python response.text 的科技新闻综述 在 Python 网络爬虫与 API 调用场景中,response.text 是 requests 库发起请求后获取 ...
2025-08-21数据治理新浪潮:CDA 数据分析师的战略价值与驱动逻辑 一、数据治理的多维驱动引擎 在数字经济与人工智能深度融合的时代,数据治 ...
2025-08-21Power BI 热力地图制作指南:从数据准备到实战分析 在数据可视化领域,热力地图凭借 “直观呈现数据密度与分布趋势” 的核心优势 ...
2025-08-20PyTorch 矩阵运算加速库:从原理到实践的全面解析 在深度学习领域,矩阵运算堪称 “计算基石”。无论是卷积神经网络(CNN)中的 ...
2025-08-20数据建模:CDA 数据分析师的核心驱动力 在数字经济浪潮中,数据已成为企业决策的核心资产。CDA(Certified Data Analyst)数据分 ...
2025-08-20KS 曲线不光滑:模型评估的隐形陷阱,从原因到破局的全指南 在分类模型(如风控违约预测、电商用户流失预警、医疗疾病诊断)的评 ...
2025-08-20偏态分布:揭开数据背后的非对称真相,赋能精准决策 在数据分析的世界里,“正态分布” 常被视为 “理想模型”—— 数据围绕均值 ...
2025-08-19CDA 数据分析师:数字化时代的价值创造者与决策智囊 在数据洪流席卷全球的今天,“数据驱动” 已从企业战略口号落地为核心 ...
2025-08-19CDA 数据分析师:善用 Power BI 索引列,提升数据处理与分析效率 在 Power BI 数据分析流程中,“数据准备” 是决定后续分析质量 ...
2025-08-18CDA 数据分析师:巧用 SQL 多个聚合函数,解锁数据多维洞察 在企业数据分析场景中,单一维度的统计(如 “总销售额”“用户总数 ...
2025-08-18CDA 数据分析师:驾驭表格结构数据的核心角色与实践应用 在企业日常数据存储与分析场景中,表格结构数据(如 Excel 表格、数据库 ...
2025-08-18PowerBI 累计曲线制作指南:从 DAX 度量到可视化落地 在业务数据分析中,“累计趋势” 是衡量业务进展的核心视角 —— 无论是 “ ...
2025-08-15Python 函数 return 多个数据:用法、实例与实战技巧 在 Python 编程中,函数是代码复用与逻辑封装的核心载体。多数场景下,我们 ...
2025-08-15