京公网安备 11010802034615号
经营许可证编号:京B2-20210330
逻辑回归是最简单的机器学习模型,常常应用于各种简单的任务中。这里记录逻辑回归的背景以及学习方法,权当自己的学习记录总结。
逻辑回归:首先,它不是一个回归模型,而是一个分类模型,它是被用来做分类的。 之所以称之为回归,是因为它的学习的是模型模型的参数以最佳拟合已有的数据。(比如,根据已有的一些点,回归出它的直线参数的拟合过程,就称之为回归。)
学习方法:梯度上升法,随机梯度上升法。
模型特点:
1. 优点:训练快、易理解、易实现
2. 缺点:模型不够强大、拟合能力有限,欠拟合,对于复杂的任务效果不够好
在二分类的模型中,我们能最希望的函数是一个二值化函数,也就是
h(x) = 0 当 x > 阈值,h(x)=1 当 x < 阈值
函数下图所示:
然而,虽然这个函数是我们很想学习到的函数,但是由于它在阈值点处的跳跃性(不连续性),使得它变得不好处理(比如在该点处没有导数(梯度)的问题)。
幸好,自然是美好的,我们可以用其它的函数来近似这个函数,Sigmoid 函数就是一个很好的近似方法
其函数图形如下所示(值阈(0–>1))
函数表达式为:

相比于原始的二值化函数,sigmoid函数具有处处连续、可导的优点。
为了实现逻辑回归分类器,我们将每个特征都乘以一个回归系数wi,然后将结果相加得到一个值,并将这个值带入到sigmoid函数中,就会得到一个0–>1之间的数值,而大于0.5的值被分为1类,小于0.5的被分为0类。所以,逻辑回归也被称之为一个概率估计模型。
在已经确定了分类器模型的函数形式之后,问题就在于如何学习以获得最佳的回归系数?
主要是采用梯度上升及其变形的方法。
它的思想是:要找到某个函数的最大值,最好的方法就是沿着该函数的梯度方向进行寻找。(要有梯度就要求待计算的点有定义并且可导,所以二值化函数不能使用。)
权重更新:

其中alpha为步长,学习(训练)的停止条件一般为:迭代到达一定的次数,或者算法已经到达了一定的误差范围之内。
注意区别于梯度下降法:跟梯度上升法是相同的道理,加法变为减法。
随机梯度上升法:因为梯度上升法在每次更新回归系数的时候都需要遍历整个数据集合,当数据很多的时候,就不适用了,改进的方法为:一次只使用一个样本来更新回归系数,这种方法称之为随机梯度上升法。
只是它用来寻找最小值(一般是loss最小),而梯度上升法用来寻找最大值。
所以总的来说,逻辑回归的计算方法很简单,就分为两步:1,计算梯度,2,更新权值。
具体的权重更新方法为:
具体的代码如下(python):
def sigmoid(x):
'''
逻辑回归的判别函数
'''
return 1.0/(1.0+exp(-x))
def gradientAscent(datas,labels):
'''
输入参数datas:训练数据矩阵,每一行为一个数据
输入参数labels:标签数据,为一个值。
要求参数数据匹配
'''
dataX = mat(datas)
#每列代表一个特征,每行代表不同的训练样本。
dataY = mat(labels).transpose()
#标签,将行向量转置为列向量
m,n = shape(dataX)
alpha = 0.001
#步长,也就是学习率
itera_num = 1000
#迭代次数
W = ones((n,1))
for i in range(itera_num):
H = sigmoid(dataX * W)
# H 是一个列向量,元素个数==m
error = dataY - H
W = W + alpha * X.transpose()*error
return W
def stochasticGradientAscent(datas,labels):
dataX = mat(datas)
#每列代表一个特征,每行代表不同的训练样本。
dataY = mat(labels).transpose()
#标签,将行向量转置为列向量
m,n = shape(datas)
alpha = 0.01
W = ones(n)
for i in range(m):
h = sigmoid(sum(dataX[i]*W))
error = dataY[i] - h
W = W + alpha * error *dataX[i]
return W
总结: 逻辑回归的目的是为了寻找非线性函数Sigmoid的最佳拟合参数中的权值w,其w的值通过梯度上升法来学习到。随机梯度上升一次只处理少量的样本,节约了计算资源同时也使得算法可以在线学习。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据工作的全流程中,数据清洗是最基础、最耗时,同时也是最关键的核心环节,无论后续是做常规数据分析、可视化报表,还是开展 ...
2026-03-20在大数据与数据驱动决策的当下,“数据分析”与“数据挖掘”是高频出现的两个核心概念,也是很多职场人、入门学习者容易混淆的术 ...
2026-03-20在CDA(Certified Data Analyst)数据分析师的全流程工作闭环中,统计制图是连接严谨统计分析与高效业务沟通的关键纽带,更是CDA ...
2026-03-20在MySQL数据库优化中,分区表是处理海量数据的核心手段——通过将大表按分区键(如时间、地域、ID范围)分割为多个独立的小分区 ...
2026-03-19在商业智能与数据可视化领域,同比、环比增长率是分析数据变化趋势的核心指标——同比(YoY)聚焦“长期趋势”,通过当前周期与 ...
2026-03-19在数据分析与建模领域,流传着一句行业共识:“数据决定上限,特征决定下限”。对CDA(Certified Data Analyst)数据分析师而言 ...
2026-03-19机器学习算法工程的核心价值,在于将理论算法转化为可落地、可复用、高可靠的工程化解决方案,解决实际业务中的痛点问题。不同于 ...
2026-03-18在动态系统状态估计与目标跟踪领域,高精度、高鲁棒性的状态感知是机器人导航、自动驾驶、工业控制、目标检测等场景的核心需求。 ...
2026-03-18“垃圾数据进,垃圾结果出”,这是数据分析领域的黄金法则,更是CDA(Certified Data Analyst)数据分析师日常工作中时刻恪守的 ...
2026-03-18在机器学习建模中,决策树模型因其结构直观、易于理解、无需复杂数据预处理等优势,成为分类与回归任务的首选工具之一。而变量重 ...
2026-03-17在数据分析中,卡方检验是一类基于卡方分布的假设检验方法,核心用于分析分类变量之间的关联关系或实际观测分布与理论期望分布的 ...
2026-03-17在数字化转型的浪潮中,企业积累的数据日益庞大且分散——用户数据散落在注册系统、APP日志、客服记录中,订单数据分散在交易平 ...
2026-03-17在数字化时代,数据分析已成为企业决策、业务优化、增长突破的核心支撑,从数据仓库搭建(如维度表与事实表的设计)、数据采集清 ...
2026-03-16在数据仓库建设、数据分析(尤其是用户行为分析、业务指标分析)的实践中,维度表与事实表是两大核心组件,二者相互依存、缺一不 ...
2026-03-16数据是CDA(Certified Data Analyst)数据分析师开展一切工作的核心载体,而数据读取作为数据生命周期的关键环节,是连接原始数 ...
2026-03-16在用户行为分析实践中,很多从业者会陷入一个核心误区:过度关注“当前数据的分析结果”,却忽视了结果的“泛化能力”——即分析 ...
2026-03-13在数字经济时代,用户的每一次点击、浏览、停留、转化,都在传递着真实的需求信号。用户行为分析,本质上是通过收集、整理、挖掘 ...
2026-03-13在金融、零售、互联网等数据密集型行业,量化策略已成为企业挖掘商业价值、提升决策效率、控制经营风险的核心工具。而CDA(Certi ...
2026-03-13在机器学习建模体系中,随机森林作为集成学习的经典算法,凭借高精度、抗过拟合、适配多场景、可解释性强的核心优势,成为分类、 ...
2026-03-12在机器学习建模过程中,“哪些特征对预测结果影响最大?”“如何筛选核心特征、剔除冗余信息?”是从业者最常面临的核心问题。随 ...
2026-03-12