机器学习--逻辑回归

ops/2024/9/23 15:27:30/

逻辑回归

前情提要:线性回归

关于分类 C l a s s i f i c a t i o n Classification Classification

  在逻辑回归中,我们只讨论 y ∈ { 0 , 1 } y\in\{0, 1\} y{0,1} 的情况。其中 1 1 1 表示 p o s i t i v e c l a s s positive \; class positiveclass 0 0 0 表示 n e g a t i v e c l a s s negative \; class negativeclass

对线性回归进行修改

  在线性回归中,我们有 h ( x ) = w T x h(x) = w^Tx h(x)=wTx(这里写的是增加了 x 0 ( i ) x^{(i)}_0 x0(i) w 0 w_0 w0 的),而在逻辑回归中,我们希望 h ( x ) ∈ [ 0 , 1 ] h(x) \in [0, 1] h(x)[0,1],而 h ( x ) h(x) h(x) 的值具体代表着 y = 1 y = 1 y=1 的概率,所以我们需要引入一个函数: s i g m o i d f u n c t i o n sigmoid \; function sigmoidfunction,也叫 l o g i s t i c f u n c t i o n logistic \; function logisticfunction

g ( t ) = 1 1 + e − t g(t) = \frac{1}{1 + e^{-t}} g(t)=1+et1

  图像长这样:

在这里插入图片描述

  我们可以看到,这个函数过点 ( 0 , 0.5 ) (0, 0.5) (0,0.5)

  我们考虑把 h ( x ) h(x) h(x) 改成这样:

h ( x ( i ) ) = g ( w T x ( i ) ) = P ( y = 1 ∣ x ; w ) h(x^{(i)}) = g(w^Tx^{(i)}) = P(y = 1 | x ; w) h(x(i))=g(wTx(i))=P(y=1∣x;w)

  如果我们考虑将概率超过 1 2 \frac 12 21 的归为 y = 1 y = 1 y=1 的一类,并把概率小于 1 2 \frac 12 21 的归为 y = 0 y = 0 y=0 的这一类的话,我们会发现一件事:

  1. h ( x ( i ) ) > 1 2 h(x^{(i)}) > \frac 12 h(x(i))>21 g ( w T x ( i ) ) > 1 2 g(w^Tx^{(i)}) > \frac12 g(wTx(i))>21 又因为 g ( t ) g(t) g(t) 单增且过 ( 0 , 1 2 ) (0, \frac 12) (0,21),所以此时 w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0
  2. h ( x ( i ) ) ≤ 1 2 h(x^{(i)}) \le \frac 12 h(x(i))21 g ( w T x ( i ) ) ≤ 1 2 g(w^Tx^{(i)}) \le \frac12 g(wTx(i))21 又因为 g ( t ) g(t) g(t) 单增且过 ( 0 , 1 2 ) (0, \frac 12) (0,21),所以此时 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0

  也就是说:

  1. y被判定为 1 1 1 w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0
  2. y被判定为 0 0 0 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0

  而在线性回归中 w T x ( i ) w^Tx^{(i)} wTx(i) 是表示我们拟合出来的那条直线(二维的情况下,一下解释也是二维的情况下,高维就类比就行了)。而并且上过高中的都知道, w T x ( i ) > 0 w^Tx^{(i)} > 0 wTx(i)>0 表示的是这条直线上方的半平面部分,而 w T x ( i ) ≤ 0 w^Tx^{(i)} \le 0 wTx(i)0 表示的是这条直线下方的半平面部分。

  也就是说,我们用 w T x ( i ) w^Tx^{(i)} wTx(i) 这条直线将平面分成了两部分,一部分中的点是 y = 1 y = 1 y=1 的点,另一部分是 y = 0 y = 0 y=0 的点。

在这里插入图片描述

构造 c o s t f u n c t i o n cost \; function costfunction

  同样的,我们考虑和线性回归一样构造一个表示差异程度的函数,然后用 G D GD GD 最小化它就解决了,这里,我们有:

c o s t ( x , y ) = { − ln ⁡ ( h ( x ) ) i f y = 1 − ln ⁡ ( 1 − h ( x ) ) i f y = 0 cost(x, y) = \left\{ \begin{array}{} -\ln (h(x)) & if \;\; y = 1 \\ -\ln (1 - h(x)) & if \;\; y = 0 \end{array}\right. cost(x,y)={ln(h(x))ln(1h(x))ify=1ify=0

  也可以写成:

c o s t ( x , y ) = − [ y ln ⁡ h ( x ) + ( 1 − y ) ln ⁡ ( 1 − h ( x ) ) ] cost(x, y) = -\bigg[y\ln h(x) + (1 - y)\ln (1 - h(x))\bigg] cost(x,y)=[ylnh(x)+(1y)ln(1h(x))]

  我们来分类讨论一下:

  1. y = 1 y = 1 y=1 时, h ( x ) → 1 h(x) \rightarrow 1 h(x)1 时, c o s t cost cost 应该趋近于 0 0 0 h ( x ) → 0 h(x) \rightarrow 0 h(x)0 时, c o s t cost cost 应该很大。而 − ln ⁡ x -\ln x lnx 的图像刚好满足这个性质
  2. y = 0 y = 0 y=0 时, h ( x ) → 0 h(x) \rightarrow 0 h(x)0 时, c o s t cost cost 应该趋近于 0 0 0 h ( x ) → 1 h(x) \rightarrow 1 h(x)1 时, c o s t cost cost 应该很大。而 − ln ⁡ ( 1 − x ) -\ln (1-x) ln(1x) 的图像刚好满足这个性质

在这里插入图片描述

  然后我们就有我们的 c o s t f u n c t i o n cost \; function costfunction

J ( w ) = − ∑ i = 1 m [ y ln ⁡ h ( x ) + ( 1 − y ) ln ⁡ ( 1 − h ( x ) ) ] J(w) = -\sum_{i = 1}^m \bigg[y\ln h(x) + (1 - y)\ln (1 - h(x))\bigg] J(w)=i=1m[ylnh(x)+(1y)ln(1h(x))]

  之后 g d gd gd 就搞定了


http://www.ppmy.cn/ops/111621.html

相关文章

如何进入电脑BIOS

前言 在日常使用电脑的过程中,有时我们需要进入BIOS(基本输入输出系统)来调整设置,比如更改启动顺序、调整系统日期时间或是优化硬件配置。BIOS是计算机启动时最先运行的程序之一,它位于主板上的一个ROM芯片中。下面&…

R与机器学习系列|15.可解释的机器学习算法(Interpretable Machine Learning)(下)

今天我们介绍可解释机器学习算法的最后一部分,基于XGBoost算法的SHAP值可视化。关于SHAP值其实我们之前的很多个推文中都介绍到,不论是R版本的还是Python版本的,亦不论是普通的分类问题还是生存数据模型的。在此推文中我们将基于XGBoost模型理…

华为VRP系统基本操作

简介: VRP是Versatile Routing Platform的简称,它是华为公司数据通信产品的通用网络操 作系统。目前,在全球各地的网络通信系统中,华为设备几乎无处不在,因此,学习了 解VRP的相关知识对于网络通信技术人员来…

EmguCV学习笔记 VB.Net 11.5 目标检测

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

【智路】智路OS Airos Edge 2.0 Quick Start

Airos Edge 2.0 Quick Start 1 智路OS2.0 1.1 简介 智路OS路侧操作系统airos-edge自下而上分别由内核层,硬件抽象层、框架层、服务层和应用层构成;提供了一系列抽象和框架,支持设备接入、服务、应用等组件开发,兼容X86和ARM操作…

力扣刷题(6)

两数之和 II - 输入有序数组 两数之和 II - 输入有序数组-力扣 思路: 因为该数组是非递减顺序排列,因此可以设两个左右下标当左右下标的数相加大于target时,则表示右下标的数字过大,因此将右下标 - -当左右下标的数相加小于targ…

AMD ThinkSystem服务器上的 Linux 和 C 状态设置 - Lenovo ThinkSystem

受影响的配置 该系统可以是以下任何Lenovo服务器: ThinkSystem 、SR645( ThinkSystem )ThinkSystem ,SR645 V3( ThinkSystem )ThinkSystem ,SR635 V3( ThinkSystem )Th…

【Python 数据分析学习】Pandas基础与应用(1)

题目 1 Pandas 简介1.1 主要特征1.2 Pandas 安装 2 Pandas中的数据结构2.1 Series 数据结构和操作2.1.1 Series的数据结构2.1.2 Seres的操作 2.2 DataFrame 数据结构和操作2.2.1 DataFrame 数据结构2.2.2 Dataframe 操作2.2.3 DateFrame 的特殊操作 2.3 Series 和 DataFrame 的…