机器学习---分类问题(二分类和多分类)、逻辑回归

给出假设函数:

h θ ( x ) = g ( θ T ⋅ X ) (1) h_\theta(x)=g(\theta^T\cdot X) \tag{1} hθ(x)=g(θTX)(1)
g ( z ) = 1 1 + e ( − z ) (2) g(z)=\frac{1}{1+e^{(-z)}}\tag{2} g(z)=1+e(z)1(2)

y y y更可能等于 1 1 1或者说 y = 1 y=1 y=1的概率大于等于 0.5 0.5 0.5的条件是 z = θ T X z=\theta^TX z=θTX大于零。

( 1 ) (1) (1) ( 2 ) (2) (2)进行合并:
h θ ( x ) = 1 1 + e ( − θ T ⋅ X ) (3) h_\theta(x)=\frac{1}{1+e^{(-\theta^T\cdot X)}} \tag{3} hθ(x)=1+e(θTX)1(3)

( 3 ) (3) (3)式就是我们的假设函数。

定义了代价函数如下:
J ( θ ) = 1 m ⋅ ∑ i = 1 m C o s t ( h θ ( x ) , y ) J(\theta)=\frac{1}{m}\cdot \sum^m_{i=1}Cost(h_\theta(x),y) J(θ)=m1i=1mCost(hθ(x),y)
C o s t ( h θ ( x ) , y ) = { − l o g ( h θ ( x ) ) i f : y = 1 − l o g ( 1 − h θ ( x ) ) i f : y = 0 Cost(h_\theta(x),y) = \begin{cases}-log(h_\theta(x)) & if:y=1 \\-log(1-h_\theta(x)) &if:y=0 \end{cases} Cost(hθ(x),y)={log(hθ(x))log(1hθ(x))if:y=1if:y=0

我们更推荐用一个式子来表示 C o s t ( h θ ( x ) , y ) Cost(h_\theta(x),y) Cost(hθ(x),y)

 
 
C o s t ( h θ ( x ) , y ) = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) (5) Cost(h_\theta(x),y) = -ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) \tag{5} Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))(5)

( 3 ) (3) (3) ( 5 ) (5) (5)得到终结版的代价函数:
J ( θ ) = − 1 m ⋅ ∑ i = 1 m ( y ( i ) l o g [ h θ ( x ( i ) ) ] + ( 1 − y ( i ) ) l o g [ 1 − h θ ( x ( i ) ) ] ) J(\theta)=-\frac{1}{m}\cdot \sum^m_{i=1}\left(y^{(i)}log[h_\theta(x^{(i)})]+(1-y^{(i)})log[1-h_\theta(x^{(i)})]\right) J(θ)=m1i=1m(y(i)log[hθ(x(i))]+(1y(i))log[1hθ(x(i))])
这个代价函数是统计学中得出来的,重要的是他是一个凸函数能够找到最小化。我们一般选择这个函数。
还要记住一点 y y y等于 1 1 1 0 0 0这是由他的定义决定的,不论是已知的数据集还是我们要预测的。
我现在只能照着以前线性回归的思路来找参数 θ \theta θ,要找到参数 θ \theta θ就要对 J ( θ ) J(\theta) J(θ)最小化,仍然考虑使用梯度下降法来最小化代价函数 J ( θ ) J(\theta) J(θ)
Repeat:
θ j = θ j − α ⋅ ∂ ∂ θ j J ( θ ) j = 1 , 1 , 2 , 3 … (6) \theta_j=\theta_j-\alpha\cdot\frac{\partial}{\partial \theta_j} \tag{6}J(\theta)\\j=1,1,2,3\dots θj=θjαθjJ(θ)j=1,1,2,3(6)
仍然是同时更新。


将式子 ( 6 ) (6) (6)的偏导展开:
θ j = θ j − α ⋅ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j=\theta_j-\alpha\cdot\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j θj=θjαi=1m(hθ(x(i))y(i))xj(i)
j = 0 , 1 , 2 , 3 … j=0,1,2,3\dots j=0,1,2,3,同时更新,内循环对 θ j \theta_j θj进行 j = 0 , 1 , 2 , 3 … n j=0,1,2,3\dots n j=0,1,2,3n的更新,外循环的循环次数不定,直到收敛。
其中: h θ ( x ) = 1 1 + e − θ T X h_\theta(x)=\frac{1}{1+e^{-\theta^TX}} hθ(x)=1+eθTX1


下面我们来考虑多分类问题(一对多问题):
比如说邮件分类一共有三类,分别是y=1,y=2,y=3。我觉得很好理解之前二分类我们定义y=0或者y=1。
三分类或者多分类就是多个二分类器,三分类就是三个二分类器,比如 h θ 1 ( x ) 、 h θ 2 ( x ) 、 h θ 3 ( x ) h^1_\theta(x)、h^2_\theta(x)、h^3_\theta(x) hθ1(x)hθ2(x)hθ3(x)
拿第一个二分类器为例,就是给定 x x x θ \theta θ,输出 y = 1 y=1 y=1的概率,那第二个而分类器就是给定 x x x θ \theta θ,输出 y = 2 y=2 y=2的概率,以及第三个二分类器,给定 x x x θ \theta θ,输出 y = 3 y=3 y=3的概率。在预测某个具体问题时,我们就向这三个分类器都输入 x x x θ \theta θ,然后取 h i h^i hi最高的那个,因为输出的概率所以就可以确定 y y y的值了。
比如说 h θ 1 ( x ) h^1_\theta(x) hθ1(x)的概率最高那么就可以确定 y = 1 y=1 y=1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值