首页IT科技二元logistic回归多分类变量结果解读(【机器学习】Logistic 分类回归算法 (二元分类 & 多元分类))

二元logistic回归多分类变量结果解读(【机器学习】Logistic 分类回归算法 (二元分类 & 多元分类))

时间2025-06-20 13:43:59分类IT科技浏览4106
导读:🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。...

🤵‍♂️ 个人主页: @计算机魔术师

👨‍💻 作者简介:CSDN内容合伙人            ,全栈领域优质创作者           。

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

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

l

o

g

i

s

t

i

c

logistic

logistic(数理逻辑)回归算法(预测离散值

y

y

y
的 非常常用的学习算法

假设有如下的八个点(

y

=

1

)

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

=

1

,

x

θ

=

常数项

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) = \frac{1}{1 + 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

y\Rightarrow0

y0

h

θ

(

x

)

=

g

(

θ

T

x

)

=

1

1

+

e

θ

T

x

h_\theta(x) =g( \theta^T*x) = \frac{1}{1 + 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

=

x

;

θ

=

1

P(y=1|x;\theta)+ P(y=0 |x;\theta)= 1

Py=1∣x;θ+Py=0∣x;θ=1

1

P

y

=

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

<

z<0

z<0(即

θ

T

x

\theta^T*x

θTx
)中

g

(

z

)

g(z)

g(z)
< 0.5, 此时预测为0             ,在

z

>

z>0

z>0
(即

θ

T

x

\theta^T*x

θTx
) 时,

g

(

z

)

>

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

坐标

>

sigomid函数的z坐标>0

sigomid函数的z坐标>0

, y值 大于0.5

此时该切割线分割除了两个区域            ,分别是

y

=

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

x12+x22=1
强调: 决策边界并不是数据集的属性                  ,而是假设函数以及其参数的属性          ,数据集则是用于拟合参数

θ

\theta

θ

不同的高阶多项式 会得到不一样的决策边界

如:

2.2 拟合logistic回归参数

θ

i

\theta_i

θi

代价函数

我们给定如数据集

m

m

m
个样本   ,同样将每一个

x

x

x

n

+

1

n+1

n+1
维向量表示(向量每个元素即特征                  ,其中

x

1

x0为1

x01
) 分类标签

y

y

y
只有 0             ,1结果 那么我们如何选择参数

θ

\theta

θ
呢?

在往篇文章中我们线性回归的均方差代价函数

可以变化如下:

简化函数,我们省略上标

因为

s

i

g

o

m

i

d

sigomid

sigomid
是复杂的非线性函数               ,如果直接以函数作为代价函数                ,那么所求模型对应代价函数为非凹函数  ,会有非常多的局部最优

            ,如下图

我们不能保证其可以下降到函数最优

我们往往希望找到如下的凹型代价函数                 ,以可以找到参数最优                。

故我们需要找到另外的代价函数保证我们可以找到全局最小值

三      、logistic代价函数

3.1 当

y

=

1

y=1

y=1
代价函数图像

对该代价函数    ,我们可以画出当

y

=

1

y=1

y=1时的图像         。(由于

s

i

g

o

m

i

d

sigomid

sigomid
函数值域

在0~1         ,对应代价函数横坐标为0 ~1)

为了方便理解我们可以画出                  ,对数函数的图像

l

o

g

(

z

)

log(z)

log(z)
(

z

=

h

θ

(

x

)

)

z = h_\theta(x))

z=hθ(x))
) 从图中我们也可以看到作为代价函数 很好的性质

C

o

s

t

Cost \Rightarrow 0

Cost0时       ,即代价函数为0      ,此时有

h

θ

(

x

)

1

h_\theta(x)\Rightarrow1

hθ(x)1
即模型拟合优秀

C

o

s

t

Cost \Rightarrow\infty

Cost时                  ,即代价函数

\Rightarrow\infty

         ,此时

h

θ

(

x

)

h_\theta(x) \Rightarrow 0

hθ(x)0
即为       。此时说明模型拟合非常差

显然当

y

=

1

y=1

y=1 时 这个代价函数满足我们的要求

3.2 当

y

=

y=0

y=0
代价函数图像

对应

y

=

y=0

y=0

的情况下:

如下图

C

o

s

t

Cost \Rightarrow 0

Cost0时   ,即代价函数为

\Rightarrow0

0
                  ,此时有

h

θ

(

x

)

h_\theta(x)\Rightarrow0

hθ(x)0
即模型拟合优秀

C

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
在禁用uac时无法激活此应用怎么办(uac被禁用打开教程) getting started with ABAQUS(Getting Started | Scala IDE for Eclipse Space | Assembla)