机械学习小白第二周自我总结

机器学习自我总结第二周

机器学习第二周:逻辑回归

逻辑回归是一种分类算法

1.什么是分类

  • 接收的消息是否是垃圾消息(是,不是)
  • 肿瘤是良性还是恶性(0-良性 1-恶性)
    -…
    对于以上的问题我们都可以用是和否来表示

分类需要建立一个模型
如果按照一般的线性回归模型,讲肿瘤的大小作为因变量,输出0-良性,1-恶性。
假设用线性回归的假设函数 h θ ( x ) h_θ(x) hθ(x),会让我们认为,当我们的的值输出小于0.5的时候,所得的是良性,当我们输出的值大于0.5的时候,所得的是恶性。但是,线性回归会使得到的h(x)的值远大于1或者是远小于1,会发现此时的图像,若小于0.5,不一定就是良性,就会出现偏差,所以线性回归的假设函数,并不适用于分类问题。
在这里插入图片描述

所以此时我们就需要构造一个新的假设函数使得输出的值永远处于(0,1)之间,及 0 &lt; = h θ ( x ) &lt; = 1 0&lt;=h_\theta(x)&lt;=1 0<=hθ(x)<=1

构造新的假设函数

要使得输出的值永远在(0,1)之间,逻辑回归的假设函数是 h θ ( x ) = g ( θ T X ) h_\theta(x) = g(\theta^TX) hθ(x)=g(θTX)
其中的g代表的是逻辑函数一个S型的函数公式为, g ( x ) = 1 1 + e − x g(x) = \frac{1}{1+e^{-x}} g(x)=1+ex1,将 x = θ T X x=θ^TX x=θTX带入,得 g ( x ) = 1 1 + e − θ T x g(x) = \frac{1}{1+e^{-θ^Tx}} g(x)=1+eθTx1
在这里插入图片描述
由图可得,函数的区间就是(0,1),因此可以用作分类,当大于0.5的时候,恶性,小于0.5的时候良性。且,当里面的 θ T x \theta^Tx θTx大于零的时候,趋向1,当小于零的时候趋向零

所以到现在为止:

  • 我们建立的模型需要使 0 &lt; = h θ ( x ) &lt; = 1 0&lt;=h_\theta(x)&lt;=1 0<=hθ(x)<=1
  • 建立为 g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1
  • 带入得逻辑函数的假设函数 h θ ( x ) = g ( θ T X ) = 1 1 + e − θ T x h_\theta(x) = g(\theta^TX) = \frac{1}{1+e^{-θ^Tx}} hθ(x)=g(θTX)=1+eθTx1

h θ ( x ) h_\theta(x) hθ(x) 的作用是给定x,通过已经确定的参数计算得出变量等于正向类的可能性

判断边界

所谓判断边界就是确定分类时各自的界限,让我们更直观的看出假设函数的目的。
可以从图像上更直观的体现出分类
假设参数θ已知,要判断取1还是0,就判断 θ T X \theta^TX θTX 的值
若对于 h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 ) h_\theta(x) =g(\theta_0+ \theta_1x_1 +\theta_2x_2 ) hθ(x)=g(θ0+θ1x1+θ2x2),已知 θ 012 θ_{012} θ012分别为-3 1 1,就得出 函数-3 + x1 + x2 >= 0,就可以分类的分界线。
在这里插入图片描述

代价函数

与线性回归方程类似,逻辑回归也需要一个最适合的θ值(或者多个),要找到这些就一样用代价函数。首先线形回归的代价函数为 j ( θ ) = 1 2 m ∑ i = 1 m ( h θ x ( i ) − y ( i ) ) 2 j(θ) = \frac{1}{2m}\sum^{m}_{i = 1}(h_θx^{(i)}-y^{(i)})^2 j(θ)=2m1i=1m(hθx(i)y(i))2

因为 h θ ( x ) h_\theta(x) hθ(x)不同,对于逻辑回归,我们需要做一些改动
逻辑回归的代价函数为 j ( θ ) = 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) j(θ) = \frac{1}{m}\sum^{m}_{i = 1}Cost(h_θ(x^{(i)}),y^{(i)}) j(θ)=m1i=1mCost(hθ(x(i))y(i))
其中 C o s t ( h θ ( x ( i ) ) , y ( i ) ) Cost(h_θ(x^{(i)}),y^{(i)}) Cost(hθ(x(i))y(i)): C o s t ( h θ ( x ) , y ) = { − l o g ( 1 − h ( x ) ) , i f   y = 0 − l o g ( h ( x ) ) , i f   y = 1 Cost(h_θ(x),y)=\{^ {-log(h(x)),if \ y = 1} _{-log(1-h(x)),if \ y = 0} Cost(hθ(x)y)={log(1h(x)),if y=0log(h(x)),if y=1
将其合并,并带入代价函数J(θ)得: 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}\sum^{m}_{i = 1}[y^{(i)}log(h(x^{(i)})+(1-y^{(i)})log(1-h_\theta (x^{(i)}))] J(θ)=m1i=1m[y(i)log(h(x(i))+(1y(i))log(1hθ(x(i)))]
…式子真的很长,但是其目的也是为了找出参数的θ的最优值,因此在此基础之上,我们同样需要用梯度下降去解决代价函数。
梯度下降: θ j : = θ j − α ϕ ϕ θ j j ( θ ) \theta_j:=\theta_j -\alpha\frac{\phi}{\phi\theta_j}j(\theta) θj:=θjαϕθjϕj(θ),带入可得:
θ j : = θ j − α 1 m ∑ i = 1 m ( h θ x ( i ) − y ( i ) ) x j ( i ) \theta_j:=\theta_j -\alpha \frac{1}{m}\sum^{m}_{i = 1}(h_θx^{(i)}-y^{(i)})x_j^{(i)} θj:=θjαm1i=1m(hθx(i)y(i))xj(i)
样子和线形回归类似,但是因为他们的假设函数不同 因此是不同的

以上属于二元分类,生活中更多是多类别分类

比如说同样是天气,但是要区分,晴天,雨天,阴天。此时需要想办法把它变成多个二元分类。
此时我们需要构造一个分类器
我们设晴天正向类,雨天和阴天两者一起为负向类,此时我们令一个 h θ ( 1 ) ( x ) h_\theta^{(1)}(x) hθ(1)(x),这样紫就可以得出一个第一个决策边界,区分晴天和其他天气

接着我们设雨天正向类同样的,其他天气为负向类,这样可以得到一个 h θ ( 2 ) ( x ) h_\theta^{(2)}(x) hθ(2)(x),这个可以得到第二个决策边界,区分雨天和其他天气

最后我们设阴天正向类同样的,其他天气为负向类,这样可以得到一个 h θ ( 3 ) ( x ) h_\theta^{(3)}(x) hθ(3)(x),这个可以得到第三个决策边界,区分阴天和其他天气

这样可以得到三个决策边界,最后每一个分别带入参数θ和x,得到每一个的正向量的概率P,因此得以判断是哪一类。

正则化:

当我们估计一个东西的值,使用普通的线形回归如, h ( x ) = θ 0 + θ 1 x 1 h(x) = \theta_0+\theta_1x_1 h(x)=θ0+θ1x1,此时构造出来的模型,误差会很大,称之为欠拟合

当我们估计一个东西的值,十分精确的对应每一个值建立出的模型,虽然很适合我们的的训练集,但是喃,当我们放入一个新的值的时候,效果并不是那么好,称为过度拟合,一般过度拟合的式子就是由于他是多项式,且x的次数会很高(这样拟合会很好),如: h ( x ) = θ 0 + θ 1 x + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 h(x) = \theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 h(x)=θ0+θ1x+θ2x2+θ3x3+θ4x4
因此,防止过度拟合的情况发生,根据过度拟合出现的条件我们可反推出
在这里插入图片描述

  1. 舍弃部分不是很重要的特征
  2. 保留特征,减小参数的大小(正则化)

正则化,就是减小参数θ的值,对θ值的“惩罚”。用正则化参λ进行一系列操作,如:
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta) = \frac1{2m}[\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 + \lambda\sum_{j=1}^{n}\theta_j^2] J(θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]
后面这一块就是对θ值的“惩罚”,使得θ的值变小。

但是对于正则化的λ也要选择合适,若太大,就会导致其他的θ值都趋近于0,使得我们需要的图像变成只有θ0 的直线。

正则化线形回归

正则化线形回归的代价函数为: J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta) = \frac1{2m}[\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 + \lambda\sum_{j=1}^{n}\theta_j^2] J(θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

梯度下降: θ 0 : = θ 0 − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) \theta_0 : = \theta_0 -a\frac1m\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)} θ0:=θ0am1i=1m(hθ(x(i))y(i))x0(i)
θ j : = θ j − a [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \theta_j : = \theta_j - a[\frac1m\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} + \fracλm\theta_j] θj:=θja[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

同样的正规方程求解正则化线性回归模型:
在这里插入图片描述

正则化逻辑回归

一样的在后面对θ进行“惩罚”: J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g ( h ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta)=-\frac{1}{m}\sum^{m}_{i = 1}[y^{(i)}log(h(x^{(i)})+(1-y^{(i)})log(1-h_\theta (x^{(i)}))]+ \fracλ{2m}\sum_{j=1}^{n}\theta_j^2 J(θ)=m1i=1m[y(i)log(h(x(i))+(1y(i))log(1hθ(x(i)))]+2mλj=1nθj2

其梯度下降为: θ 0 : = θ 0 − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) \theta_0 : = \theta_0 -a\frac1m\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)} θ0:=θ0am1i=1m(hθ(x(i))y(i))x0(i)
θ j : = θ j − a [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \theta_j : = \theta_j - a[\frac1m\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} + \fracλm\theta_j] θj:=θja[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

虽然两者梯度下降的形式上一样,但是由于h(x)不同 ,实为两个不同的式子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值