算法强化 —— 逻辑回归

逻辑回归

线性回归、逻辑回归直观感受

以身高举例,直觉告诉我们爸爸妈妈的身高会共同影响子女的身高,为了同时考虑到父母双方的身高的影响,可以取其两者的平均值作为因素进行研究。
这里父母的平均身高就是自变量x,而我们的身高就是因变量y,y和x之间存在线性关系。
y = w x + b y = wx+b y=wx+b
那么我们如何求出w 和 b 呢,需要收集足够多的x,y,然后通过线性回归算法就可以拟合数据,帮助我们求出参数w和b

虽然线性回归模型在自变量的种类上面已经没有限制了,因变量只能是连续的数值却是一个很大的制约因素
因为在实际应用中,因变量是分类变量的情形太普遍了。分类变量中最简单、也是最常用的情形是二元变量(binary variable),比如明天会不会下雨,就是二元变量,这正是逻辑回归要解决的问题。
直观上,只要把线性回归的连续值想方设法的转换成0到1之间的数值,就成了逻辑回归
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1

线性回归推导

极大似然估计

这里我们先介绍一个概念,极大似然估计,在机器学习中,这个概念是绕不过去的。
假设一个黑袋子里面有一堆球,有黑球和白球,但是我们不知道具体的分布情况。我们从里面抓 3 个球,2 个黑球,1 个白球。这时候,有人就直接得出了黑球 67%,白球占比 33% 。这个时候,其实这个人使用了极大似然估计的思想,通俗来讲,当黑球是 67% 的占比的时候,我们抓 3 个球,出现 2 黑 1 白的概率最大。
这种通过样本,反过来猜测总体的情况,就是似然。
再举个例子,有一枚硬币,一般我们认为他出现正面和反面的概率是相同的,都是 0.5 。你为了验证这一想法,你抛了 100 次,100 次出现的都是正面,在这样的事实下,我觉得似乎硬币的参数不是公平的,这时候,你修正你的看法,觉得硬币出现正面的概率是 1 ,而出现反而的概率是 0 ,这就是极大似然估计,按这个估计,出现 100 次都是正面的概率才最大。
同样,直观感受完之后,我们给出一个比较严谨的定义:
设总体分布为 f ( x , θ ) f(x, \theta) f(x,θ) X 1 , X 2 , ⋯   , X n X_{1}, X_{2}, \cdots, X_{n} X1,X2,,Xn 为该总体采样得到的样本。因为 X 1 , X 2 , ⋯   , X n X_{1}, X_{2}, \cdots, X_{n} X1,X2,,Xn 独立同分布,因此,对于联合密度函数:
L ( X 1 , X 2 , ⋯   , X n ; θ 1 , θ 2 , ⋯   , θ k ) = ∏ i = 1 n f ( X i ; θ 1 , θ 2 , ⋯   , θ k ) L\left(X_{1}, X_{2}, \cdots, X_{n} ; \theta_{1}, \theta_{2}, \cdots, \theta_{k}\right)=\prod_{i=1}^{n} f\left(X_{i} ; \theta_{1}, \theta_{2}, \cdots, \theta_{k}\right) L(X1,X2,,Xn;θ1,θ2,,θk)=i=1nf(Xi;θ1,θ2,,θk)
上式中,如果 θ \theta θ知道,我们就可以直接求出L了,总体分布的参数我们不是上帝,是没办法知道的。所以,我们换一种思路,反过来,因为样本已经存在,可以看成 X 1 , X 2 , ⋯   , X n X_{1}, X_{2}, \cdots, X_{n} X1,X2,,Xn是固定的,L是关于 θ \theta θ的函数,即似然函数。求 θ \theta θ。的值,使得似然函数取极大值,这种方法就是极大似然估计
这说的是同一回事,都是说用样本去估计总体的参数值,这个参数值使得样本出现的概率最大。
线性回归的模型如下:
h θ ( x 1 , x 2 , ⋯   , x n ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n = ∑ i = 0 n θ i x i h_{\theta}\left(x_{1}, x_{2}, \cdots, x_{n}\right)=\theta_{0} x_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\cdots+\theta_{n} x_{n}=\sum_{i=0}^{n} \theta_{i} x_{i} hθ(x1,x2,,xn)=θ0x0+θ1x1+θ2x2++θnxn=i=0nθixi
上式中 x 0 = 1 x_0 = 1 x0=1,使用矩阵表示为: h θ ( X ) = θ T X h_{\theta}(X)=\theta^{T} X hθ(X)=θTX
上式中,X为m * n维矩阵,m为样本个数 ,n为样本特征数。
我们知道,样本基本是在所求线性回归 h θ ( X ) = θ T X h_{\theta}(X)=\theta^{T} X hθ(X)=θTX的附近,之间有会一个上下浮动的误差,记为 ε \varepsilon ε,表示为: Y = θ T X + ε Y=\theta^{T} X+\varepsilon Y=θTX+ε
上式中, ε \varepsilon ε是m*1维向量,代表m个样本相对于线性回归方程的上下浮动程度。 ε \varepsilon ε是独立同分布的,由中心极限
定理, ε \varepsilon ε分布服从均值为 0 ,方差为 σ 2 \sigma^{2} σ2的正态分布。

梯度下降法推导

下面我们使用梯度下降法来求解线性回归的参数 。上面已经提到成本函数为
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ)=2m1i=1m(hθ(x(i))y(i))2
θ \theta θ求偏导
∂ ∂ θ j J ( θ ) = ∂ ∂ θ j ∑ i = 1 m 1 2 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \frac{\partial}{\partial \theta_{j}} J(\theta)=\frac{\partial}{\partial \theta_{j}} \sum_{i=1}^{m} \frac{1}{2 m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} θjJ(θ)=θji=1m2m1(hθ(x(i))y(i))2
= 1 2 m ⋅ 2 ⋅ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∂ ∂ θ j ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∂ ∂ θ j ∑ i = 1 m ( θ x ( i ) − y ( i ) ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ ∑ i = 1 m x j ( i ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x j ( i ) \begin{array}{l} =\frac{1}{2 m} \cdot 2 \cdot \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \frac{\partial}{\partial \theta_{j}} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \\ =\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \frac{\partial}{\partial \theta_{j}} \sum_{i=1}^{m}\left(\theta x^{(i)}-y^{(i)}\right) \\ =\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \cdot \sum_{i=1}^{m} x_{j}^{(i)} \\ =\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \cdot x_{j}^{(i)} \end{array} =2m12i=1m(hθ(x(i))y(i))θji=1m(hθ(x(i))y(i))=m1i=1m(hθ(x(i))y(i))θji=1m(θx(i)y(i))=m1i=1m(hθ(x(i))y(i))i=1mxj(i)=m1i=1m(hθ(x(i))y(i))xj(i)
加入学习率,梯度下降算法可以描述为
重复
θ ∗ j = θ ∗ j − α 1 m ∑ ∗ i = 1 m ( h ∗ θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta * j=\theta * j-\alpha \frac{1}{m} \sum * i=1^{m}\left(h * \theta\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)} θj=θjαm1i=1m(hθ(x(i))y(i))xj(i)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值