美文网首页
吴恩达机器学习笔记(2)

吴恩达机器学习笔记(2)

作者: python小白22 | 来源:发表于2021-04-12 21:39 被阅读0次

    一.逻辑回归

    1.什么是逻辑回归?

    逻辑回归是一种预测变量y为离散值0或1情况下的分类问题,在逻辑回归中,假设函数0\leq h_\theta(x)\leq1

    2.模型描述

    \begin{cases} 假设函数(hypothesis):h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}.\\ 参数(parameters):\theta_0,\theta_1,...,\theta_n\\ 损失函数(cost function):J(\theta)=-\frac{1}{m}[\sum_{i=1}^{m}y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})]\\ 目标(goal):min_{\theta} J(\theta) \end{cases}在假设函数中,g(z)=\frac{1}{1+e^{-z}}z为实数,g(z)为Sigmoid函数,也叫Logistic函数。
    模型解释:h_\theta(x)=p(y=1|x;\theta),即就是对一个输入xy=1的概率估计。
    损失函数的理解:所谓最大似然估计,就是我们想知道哪套参数组合对应的曲线最可能拟合我们观测到的数据,也就是该套参数拟合出观测数据的概率最大,而损失函数的要求是预测结果与真实结果越相近,函数值越小,也就是参数越能更好的拟合数据,损失函数的值越小,所以损失函数即就是最大似然函数的相反数。具体损失函数的推导可以参考链接

    3.决策边界

    已知h_\theta(x)表示的是对于一个输入xy=1的概率估计,则当h_\theta(x)\geq0.5时,y=1的可能性更大;当h_\theta(x)<0.5时,y=0的可能性更大。

    逻辑回归假设函数图像
    如上图所示,z\geq0时,g(z)\geq0.5z<0时,g(z)<0.5。即h_\theta(x)=g(\theta^Tx)\theta^Tx\geq0时,h_\theta(x)\geq0.5,则y=1;\theta^Tx<0时,h_\theta(x)<0.5,则y=0
    我们把\theta^Tx=0叫做决策边界,它是假设函数的属性,决定于参数\theta,有明确的\theta,即可确定决策边界,不需要绘制训练集来确定边界。
    4.逻辑回归的梯度下降法

    更新公式:\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}
    具体推导过程如下:

    更新公式推导
    5.高级优化

    除梯度下降法外,还有一些比梯度下降更快的高级优化算法,比如共轭梯度法、BFGS、L-BFGS等,这些方法不需要手动选择学习率,并且收敛速度较快。具体算法流程在此不具体展开,可自行学习。

    6.多元分类

    当预测变量y不只两类时,例如:y=1,y=2,y=3,可将其分成三个独立的二分类问题,创建三个伪训练集,拟合出三个分类器h_\theta^{(i)}(x)=P(y=i|x;\theta),(i=1,2,3),然后给一个新的输入值x,则其应属于max_ih_\theta^{(i)}(x)的第i类。

    二.正则化

    1.过拟合问题

    什么是过拟合问题?
    算法具有“高方差”。如果拟合一个高阶多项式,假设函数能拟合几乎所有数据,无法泛化到新的样本中,则称该模型过拟合。(泛化:一个假设模型应用到新样本的能力)
    过拟合发生时,怎样解决?
    (1)尽量减少选取变量的数量:人工检查变量清单,确定哪些变量保留,哪些变量舍弃;算法自动选择哪些变量保留,哪些变量舍弃。缺点是会丢失一部分信息。
    (2)正则化:保留全部特征变量,但减少量级或参数\theta_j的大小。

    2.正则化损失函数

    正则化损失函数是给原本的损失函数加一个惩罚项,相当于简化模型,使参数尽量小。

    3.线性回归的正则化

    损失函数:J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})^2}+\lambda\sum_{j=1}^{n}{\theta_j^2}]
    其中\lambda叫做正则化参数,它的作用是更好地拟合数据和保持参数尽量小。
    梯度下降更新公式:\theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}}
    \theta_j:=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}(j=1,2,...,n)
    正规方程:如果\lambda>0,则\theta=(X^TX+\lambda\left[ \begin{matrix} 0 & 0 & 0 & ... & 0 \\ 0 & 1 & 0 & ... & 0 \\ 0 & 0 & 1 & ... & 0 \\ ... & ... & ... & ... & ...\\ 0 & 0 & 0 & ... & 1 \end{matrix} \right])^{-1}X^Ty,该方程可以解决X^TX不可逆的问题。

    4.逻辑回归的正则化

    损失函数:J(\theta)=-\frac{1}{m}[\sum_{i=1}^{m}y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})]+\frac{\lambda}{2m}\sum_{j=1}^{n}{\theta_j^2}
    梯度下降更新公式:\theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}}
    \theta_j:=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}(j=1,2,...,n)

    三.总结

    这两周学习了吴恩达机器学习的逻辑回归和正则化部分的内容,整体比较简单,主要理解了一下逻辑回归的损失函数以及梯度下降法更新公式的推导。感觉把统计和机器学习结合起来,更容易理解学习的内容。

    相关文章

      网友评论

          本文标题:吴恩达机器学习笔记(2)

          本文链接:https://www.haomeiwen.com/subject/emczkltx.html