机器学习从零开始系列【第四话】分类问题

二分类问题

我们所说的逻辑回归问题实际上是分类问题的一种,并不是回归问题,这是历史遗留原因
y ∈ y\in y {0,1}
Negative classPositive class
为什么线性分类器在分类问题表现不好?
在这里插入图片描述

引入逻辑回归模型

我们需要满足:
0 ≤ h ( θ ) ≤ 1 0 \leq h(\theta)\leq1 0h(θ)1
而我们之前设置的回归假设函数: Z = θ X Z=\theta X Z=θX
引入一个特别的函数模型:Sigmoid 函数模型: G ( z ) = 1 1 + e − z G(z)=\frac{1}{1+e^{-z}} G(z)=1+ez1
图像:
sigmoid
这样就能满足 0 ≤ h ( θ ) ≤ 1 0 \leq h(\theta)\leq1 0h(θ)1 了。

分类问题的损失函数

由于我们所使用的Sigmoid函数是非线性函数,假如使用我们之前的那个损失函数会导致出现多个局部谷点,难以收敛,我们必须为其重新设计一个。根据统计学的极大似然统计得到有一个函数
C o s t ( h θ ( x ) , y ) = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) Cost(h_\theta(x),y)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))
因为我们的 y 只有两种值,要不就是0 和 1。
实际上这个函数可以分为:
C o s t ( h θ ( x ) , y ) = { − l o g ( h θ ( x ) ) if  y = 1 − l o g ( 1 − h θ ( x ) ) if  y = 0 Cost(h_\theta(x),y)= \begin{cases} -log(h_\theta(x)) & \text{if } y=1 \\ -log(1-h_\theta(x)) & \text{if } y=0 \end{cases} Cost(hθ(x),y)={log(hθ(x))log(1hθ(x))if y=1if y=0
示例:当 y=1 的图像 C o s t ( h θ ( x ) , y ) = − l o g ( h θ ( x ) ) Cost(h_\theta(x),y)=-log(h_\theta(x)) Cost(hθ(x),y)=log(hθ(x))
Cost
一旦误判足够严重,惩罚会非常大。 h θ ( x ) → 0 , C o s t → + ∞ h_\theta(x)\rightarrow0,Cost\rightarrow+\infty hθ(x)0,Cost+

梯度下降算法外的高级优化器

我们之前学习到的梯度下降算法都是我们手动选择学习率,但像:

  • Conjugate gradient
  • BFGS
  • L_BFGS

这些算法无需手动选择学习率,使用这些高级算法进行优化将会收敛更快。不要自己手动尝试去实践这些算法。

多分类问题

我们只需要把多分类问题转化成多个二分类问题即可,比如我们需要分出3类,那么我们将使用3个二分类器。
multiclass
输入 X i n p u t X_{input} Xinput ,只需要选择 max ⁡ i h θ i ( X ) \max_{i}h^{i}_\theta(X) maxihθi(X) 作为预测输出即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值