Logistic回归(一)

简介: 这篇内容是一个关于逻辑回归的教程概览

目录


引入

对数几率模型与Logistic回归

逻辑回归

逻辑回归损失函数

交叉熵

相对熵


本章节讲解逻辑回归的基本原理、逻辑回归模型构建过程。课程环境使用Jupyter notebook环境


引入


首先,在引入LR(Logistic Regression)模型之前,非常重要的一个概念是,该模型在设计之初是用来解决0/1二分类问题,虽然它的名字中有回归二字,但只是在其线性部分隐含地做了一个回归,最终目标还是以解决分类问题为主。


# 科学计算模块
import numpy as np
import pandas as pd
 
# 绘图模块
import matplotlib as mpl
import matplotlib.pyplot as plt


之前我们研究了线性回归模型的原理与应用,线性回归模型可以简写为:f(x) = w^Tx + b


当我们希望线性模型的预测值逼近真实标记Y,这样就是线性模型,那可否令模型的预测值逼近y的衍生物呢? 比如,是在线性回归基础上,在等号的左边或右边加上了一个函数,这个函数对线性结果进行了一系列的非线性转换,从而能够让模型更好的捕捉一般规律,此时该模型就被称为广义线性模型,y的衍生物生成函数,我们称之为联系函数。


y = e^{w^Tx+b}这就是对数线性回归(log-linear regression),它实际上是在e^{w^Tx+b}试图让逼近,上式形式上是线性回归,但实际上已是在求输入空间到输出空间的非线性函数映射。


我们通过一个例子先来熟一下线性回归模型的不足:


先看一下方法:np.linalg.lstsq(x, y, rcond=-1)


  • NumPy 中用于求解最小二乘问题的函数,它返回最小二乘解,即找到一个最接近输入数据的解,使得残差平方和最小。


# 随机生成100个数
np.random.seed(216)
x = np.linspace(0,10,100).reshape(-1,1)  # ...行1列
 


该模型还需要引入一个截距参数:


x = np.concatenate((x, np.ones_like(x)), axis=1)
# 在给定的轴(axis)上将两个数组合并


数据标签:


y = np.exp(x[:,0] + 1).reshape(-1,1)


如果我们使用简单线性回归模型来对数据进行预测 y= w^T X + b


  • # 权重向量 ( w ) 的转置,与自变量向量 ( x ) 进行点积运算


  • 使用最小二乘法来进行计算,则模型输出结果为:


np.linalg.lstsq(x, y, rcond=-1)
 
 
(array([[ 2968.68189529],
        [-8611.71543123]]),
 array([8.22208992e+09]),
 2,
 array([58.52647642,  4.9819583 ]))


通过结果发现,通过最小二乘法计算出模型参数为 2968.68和-8611.71,即 y=2968.68x-8611.71


我们最后将原始数据导入模型中,计算出模型预测值,再进行可视化:


yhat = x[:,0] * 2968.68 - 8611.71
 
plt.scatter(x[:,0], y)
plt.plot(x[:,0], yhat,'r')



红色的是我们预测出的模型,蓝色的点是真实的数,可以将方程改写为:



np.linalg.lstsq(x, np.log(y), rcond=-1) 

 

按照输出结果, 我们得到模型方程:lny=x+1,即解出原方程。



Logistic回归(二)+https://developer.aliyun.com/article/1544676?spm=a2c6h.13148508.setting.29.2a1e4f0euIPhgb

相关文章
|
7月前
|
机器学习/深度学习
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(下)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
机器学习/深度学习 数据可视化 Python
逻辑回归那些事—使用牛顿法解决实际问题
逻辑回归是机器学习中的重要章节,本文将带你从公式推导到算法实现详细讲述这部分内容,想学习这个高大上的技能么,快来看吧!!!
5498 0
逻辑回归那些事—使用牛顿法解决实际问题
|
6月前
|
机器学习/深度学习 算法
Logistic回归(二)
Logistic回归,又称对数几率回归,是用于分类问题的监督学习算法。它基于对数几率(log-odds),通过对数转换几率来确保预测值在0到1之间,适合于二分类任务。模型通过Sigmoid函数(S型曲线)将线性预测转化为概率。逻辑回归损失函数常采用交叉熵,衡量模型预测概率分布与真实标签分布的差异。熵和相对熵(KL散度)是评估分布相似性的度量,低熵表示分布更集中,低交叉熵表示模型预测与真实情况更接近。
|
7月前
R语言Poisson回归的拟合优度检验
R语言Poisson回归的拟合优度检验
|
7月前
R方和线性回归拟合优度
R方和线性回归拟合优度
|
7月前
使用R语言进行多项式回归、非线性回归模型曲线拟合
使用R语言进行多项式回归、非线性回归模型曲线拟合
|
7月前
|
机器学习/深度学习 算法
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(上)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
7月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
|
7月前
|
机器学习/深度学习 算法 数据可视化
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
|
7月前
R语言多项式线性模型:最大似然估计二次曲线
R语言多项式线性模型:最大似然估计二次曲线