机器学习算法 之逻辑回归以及python实现

本文深入探讨逻辑回归算法,包括假设函数、目标函数和梯度下降法。通过Python代码演示如何使用梯度下降解决逻辑回归问题,涉及数据初始化、sigmoid函数、代价函数计算以及不同停止策略的比较。逻辑回归是一种分类算法,适用于二分类问题,通过sigmoid函数将线性回归的输出转换为概率值,并确定决策边界。
摘要由CSDN通过智能技术生成

下面分为两个部分:
1. 逻辑回归的相关原理说明
2. 通过python代码来实现一个梯度下降求解逻辑回归过程

逻辑回归(Logistic Regression)

首先需要说明,逻辑回归属于分类算法。分类问题和回归问题的区别在于,分类问题的输出是离散的,如(0,1,2,…)而回归问题的输出是连续的。

我们将要用来描述这个分类问题的标记如下:

m m 代表训练集中实例的数量

n 代表特征的数量

x(i) x ( i ) 表示第 i i 个训练实例,是特征矩阵的第i行,是一个向量

x j ( i ) 表示特征矩阵中第 i i 行的第 j 个特征,也就是第 i i 个训练实例的第 j 个特征

y y 代表目标变量,也就是输出变量

( x , y ) 代表训练集中的一个实例

(x(i),y(i)) ( x ( i ) , y ( i ) ) 代表第 i i 个观察实例

h 代表学习算法的函数,或者假设(hypothesis)

假设函数

逻辑回归是在线性回归的基础上,转化而来的。它是用来解决经典的二分类问题
首先说明下,什么是二分类问题

我们将输出结果 y y 可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则输出结果 y 属于0,1 ,其中 0 表示负向类,1 表示正向类。

我们将线性回归的输出记为:

z=θTX z = θ T X

我们知道,线性回归的输出结果是实数域中连续的,要想解决二分类问题,这时,我们引入 Sigmoid函数, 对应公式为:
g(z)=11+ez g ( z ) = 1 1 + e − z

Sigmoid函数
对应图像如上图,可见,自变量取值为任意实数,值域为[0,1]

经过sigmoid函数,就将任意的输入映射到了[0,1]区间内,我们在线性回归中可以得到一个预测值,再将该值进映射到Sigmoid函数中,这样就完成了由值到概率的转换,这就是逻辑回归中的分类任务

所以,我们逻辑回归的假设函数为:

hθ(x)=g(θTX)=11+eθTX h θ ( x ) = g ( θ T X ) = 1 1 + e − θ T X

逻辑回归的假设函数 hθ(x) h θ ( x ) 即为对应y=1的概率值,即我们可以用下式表示:

P(y=1|x;θ)=hθ(x) P ( y = 1 | x ; θ ) = h θ ( x )
P(y=0|x;θ)=1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值