机器学习logistic分类回归算法(二元分类&多元分类)(代码片段)

计算机魔术师 计算机魔术师     2022-12-08     443

关键词:

🤵‍♂️ 个人主页: @计算机魔术师
👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。

该文章收录专栏
✨— 机器学习 —✨

【机器学习】logistics分类

一、线性回归能用于分类吗?

l o g i s t i c logistic logistic(数理逻辑)回归算法(预测离散值 y y y 的 非常常用的学习算法

假设有如下的八个点( y = 1 或 0 ) y=1 或 0) y=10),我们需要建立一个模型得到准确的判断,那么应该如何实现呢

  • 我们尝试使用之前文章所学的线性回归 h θ ( x ) = θ T ∗ x h_\\theta(x) = \\theta^T*x hθ(x)=θTx 来拟合数据( θ \\theta θ是参数列向量,注意这里的 x x x是关于 x i x_i xi的向量,其中 x 0 = 1 , 即 x 0 ∗ θ 0 = 常数项 x_0=1, 即 x_0*\\theta_0 = 常数项 x0=1,x0θ0=常数项),并在0~1设置一个阈值 y = 0.5 所对应的 x 0.5 值 y = 0.5 所对应的 x_0.5 值 y=0.5所对应的x0.5 x x x 大于 x 0.5 x_0.5 x0.5 的点则为1,否则为0,预测会得到如下粉丝直线

上一篇文章: 【机器学习】浅谈正规方程法&梯度下降

假设我们再增加一个数据点,如下图右方,按照如上算法对应的拟合直线 h θ ( x ) h_\\theta(x) hθ(x)则如下蓝色直线,此时得到错误的预测 (对于结果为1也小于 x 0.5 x_0.5 x0.5)

所以综上所诉,用线性回归来用于分类问题通常不是一个好主意,并且线性回归的值会远远偏离0或1,这显示不太合理。

所以梯度下降算法中引出 logistic regression 算法

二、二元分类

2.1假设函数

我们希望能把 h θ ( x ) = θ T ∗ x h_\\theta(x) = \\theta^T*x hθ(x)=θTx 结果在 0 ~ 1 之间,

这里引入 s i g m o i d sigmoid sigmoid 函数 (也叫做 l o g i s t i c logistic logistic 函数) —— g ( x ) = 1 1 + e − x g(x) = \\frac11 + e ^-x g(x)=1+ex1

s i g m o i d sigmoid sigmoid函数图像是一个区间在 0 ~ 1的S型函数, x ⇒ ∞ x \\Rightarrow\\infty x y ⇒ 1 y\\Rightarrow1 y1 x ⇒ − ∞ x \\Rightarrow-\\infty x y ⇒ 0 y\\Rightarrow0 y0

  • h θ ( x ) = g ( θ T ∗ x ) = 1 1 + e − θ T ∗ x h_\\theta(x) =g( \\theta^T*x) = \\frac11 + e ^- \\theta^T*x hθ(x)=g(θTx)=1+eθTx1
    那么我们的函数结果结果就会在0 ~ 1 之间

那现在我们所要做的便是需要求得参数 θ \\theta θ 拟合模型

如下图,假设肿瘤案例,如下 x x x为一个病人 同样的用列向量表示 x x x的参数,那么参数一tumorSize便是肿瘤的大小,那么我们可以假设输出结果为 0.7 ,意思就是医生会告诉这个病人很不幸,会有很大(70%)的概率得到肿瘤。

  • 那么公式可以表示为 h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_\\theta(x) = P(y=1|x;\\theta) hθ(x)=Py=1∣x;θ
  • 即在 x x x的条件下 求给定 y y y (概率参数为 θ \\theta θ)的概率


那么在 y y y只有 0 和 1 的情况下,有如下公式 (二者为对立事件,符合全概率公式)

  • P ( y = 1 ∣ x ; θ ) + P ( y = 0 ∣ x ; θ ) = 1 P(y=1|x;\\theta)+ P(y=0 |x;\\theta)= 1 Py=1∣x;θ+Py=0∣x;θ=1
  • 1 − P ( y = 0 ∣ x ; θ ) = P ( y = 1 ∣ x ; θ ) 1 - P(y=0 |x;\\theta)= P(y=1|x;\\theta) 1Py=0∣x;θ=Py=1∣x;θ

概率结果只在0 ~ 1中

  • 假设如下

那么此时我们可以设置阈值 g ( z ) g(z) g(z) = 0.5,大于 0.5 的点则为1,否则为0

即在 z < 0 z<0 z<0(即 θ T ∗ x \\theta^T*x θTx)中 g ( z ) g(z) g(z)< 0.5, 此时预测为0,在 z > 0 z>0 z>0(即 θ T ∗ x \\theta^T*x θTx) 时, g ( z ) > 0 g(z)>0 g(z)>0 预测值为1

2.1.1 案例一


我们假设他的各个 θ \\theta θ 参数向量参数为-3,1,1

此时如果满足 g ( z ) g(z) g(z)> 0.5 , 也就是横坐标 z z z(这里的 z z z 是对应线性方程) 大于零,预测 y 为 1 条件则如下:

化简为条件 x 1 + x 2 > = 3 x_1 + x_2 >=3 x1+x2>=3 , 这个条件所对应的几何意义:

即一条切割线的右侧,此时 s i g o m i d 函数的 z 坐标 > 0 sigomid函数的z坐标>0 sigomid函数的z坐标>0 , y值 大于0.5

此时该切割线分割除了两个区域,分别是 y = 0 与 y = 1 y=0 与 y=1 y=0y=1的 情况,我们把这条边界,称为决策边界,这些都是关于假设函数的属性,决定于其参数,与数据集属性无关

2.1.2例子二

有数据集如下:

我们假设函数为多项式高阶函数,并对其参数假设赋值如下。

那我们的预测y=1时, s i g o m i d sigomid sigomid横坐标 z z z满足条件为

可以得到其决策边界decision boundory —— x 1 2 + x 2 2 = 1 x_1^2+x_2^2 =1 x查看详情

机器学习实战之logistic回归

...2.logistic回归分类函数  一、概述  分类技术是机器学习和数据挖掘应用中的重要组成部分。在数据科学中,大约70%的问题属于分类问题。解决分类问题的算法也有很多种,比如 查看详情

机器学习:logistic回归原理及其实现

Logistic回归是机器学习中非常经典的一个方法,主要用于解决二分类问题,它是多分类问题softmax的基础,而softmax在深度学习中的网络后端做为常用的分类器,接下来我们将从原理和实现来阐述该算法的思想。1.原理a.问题描述考... 查看详情

《机器学习实战》学习笔记:logistic回归(代码片段)

欢迎关注WX公众号:【程序员管小亮】【机器学习】《机器学习实战》读书笔记及代码总目录https://blog.csdn.net/TeFuirnever/article/details/99701256GitHub代码地址:https://github.com/TeFuirnever/Machine-Learning-in-Action——————————... 查看详情

机器学习实战第5章logistic回归

第5章Logistic回归Logistic回归概述Logistic回归虽然名字叫回归,但是它是用来做分类的。其主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。须知概念Sigmoid函数回归概念假设现在有一些数据点,我们用一条直线... 查看详情

[机器学习实战]logistic回归

1.Logistic回归:  1)优点:计算代价不高,易于理解和实现;  2)缺点:容易欠拟合,分类精度可能不高;  3)适用数据类型:数值型和标称型数据; 2.分类思想:  根据现有数据对分类边界线建立回归公式,以此... 查看详情

5.logistic回归

一、介绍    Logistic回归是广泛应用的机器学习算法,虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)。面对一个回归或者分类问题,建立代价... 查看详情

[机器学习]--逻辑回归总结

逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原... 查看详情

机器学习实战四(logisticregression)

机器学习实战四(LogisticRegression)这一章会初次接触最优化算法,在日常生活中应用很广泛。这里我们会用到基本的梯度上升法,以及改进的随机梯度上升法。Logistic回归优点:计算代价不高,易于理解和实现缺点:容易欠拟合... 查看详情

logistic回归分类算法原理分析与代码实现

...。集中基于随机梯度上升的逻辑回归分类器能够支持在线学习。      2.但逻辑回归算法缺点很明显-一般只能解决两个类的分类问题。      3.另外逻辑回归容 查看详情

机器学习之logistic回归(逻辑回归)(代码片段)

目录Logistic回归博客园地址:https://www.cnblogs.com/chenyoude/git地址:https://github.com/nickcyd/machine_learning微信:a1171958281Logistic回归本章内容回归算法Logistic回归的一般过程Logistic的优缺点基于Logistic回归和Sigmoid函数的分类Sigmoid函数Logistic... 查看详情

机器学习——逻辑回归(logisticregression)

1前言  虽然该机器学习算法名字里面有“回归”,但是它其实是个分类算法。取名逻辑回归主要是因为是从线性回归转变而来的。  logistic回归,又叫对数几率回归。2logistic回归和线性回归的关系2.1线性回归模型  首先给... 查看详情

机器学习实战精读--------logistic回归

Logistic回归的主要目的:寻找一个非线性函数sigmod最佳的拟合参数拟合、插值和逼近是数值分析的三大工具回归:对一直公式的位置参数进行估计拟合:把平面上的一些系列点,用一条光滑曲线连接起来logistic主要思想:根据现... 查看详情

spss二元logistics回归结果分析

...据有问题吗?怎么小于0.05的这么少?要怎么分析啊!!Logistic回归:主要用于因变量为分类变量(如疾病的缓解、不缓解,评比中的好、中、差等)的回归分析,自变量可以为分类变量,也可以为连续变量。变量为二分类的称为... 查看详情

机器学习实战笔记logistic回归

参考链接http://blog.csdn.net/lu597203933/article/details/38468303Logistic代码#Logistic回归分类使用梯度上升找最佳参数importnumpyasnpdefloadDataSet():datMat=[];labelMat=[]fr=open(‘testSet.txt‘)forlineinfr.readlines():lineAr 查看详情

将代码从二元分类器逻辑回归修改为多类“一对多”逻辑回归

...egression【发布时间】:2020-08-0107:19:54【问题描述】:我是机器学习的新手,正在尝试练习不同的算法,目前我正在使用逻辑回归对从sklearn生成的随机数据集进 查看详情

机器学习04-logistic梯度下降算法

logistic回归算法我们将使用Logistic回归分类器来寻找最优值这是一个最优化算法问题。我们在k邻近算法中通过计算给定点到样本集合中所有点的距离,来判断该店所属于的类别,其实我们可以换一种解法,我们可以通... 查看详情

0机器学习算法分类

1、机器学习算法分类:监督学习监督学习的训练数据包含了类别信息,在监督学习中,典型的问题是分类(Classification)和回归(Regression),典型的算法有LogisticsRegression、BP神经网络算法和相性回归算法。 监督学习流程:&n... 查看详情