美文网首页
吴恩达机器学习笔记(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)

三.总结

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

相关文章

  • 引言

    这个文集是Coursera上吴恩达教授授课的《机器学习》课程的课程笔记与总结,下面是课程的链接:吴恩达教授机器学习...

  • 吴恩达deep_learning_week2_logistic回

    吴恩达deep_learning_week2_logistic回归 标签: 机器学习深度学习 这是吴恩达深度学习里...

  • 《吴恩达 - 机器学习》笔记

    学习资源 b站:机器学习(Machine Learning)- 吴恩达(Andrew Ng)网易:吴恩达《机器学习...

  • 内容整理(持续更新)

    机器学习基础 视频教程:吴恩达机器学习-网易云公开课笔记地址:机器学习笔记作业练习:https://github....

  • 30行python代码实现最简单的神经网络

    这篇文章算是看了吴恩达老师的deeplearning视频的课后笔记吧,感谢吴恩达老师致力于机器学习、深度学习的普及...

  • 5.machine_learning_LR_Softmax

    机器学习逻辑回归与softmax 补充阅读资料: 吴恩达老师机器学习课程笔记[https://github.com...

  • 机器学习笔记

    学习记录,从小白做起。 传统给机器学习 先来镇楼的,吴恩达机器学习:吴恩达机器学习 OCTAVE版本下载:http...

  • 吴恩达机器学习课程

    吴恩达机器学习课程

  • 机器学习相关资料整理

    初学机器学习,将部分资料整理在此,逐渐完善。 视频资源 吴恩达机器学习 介绍:吴恩达老师关于机器学习的入门级视频...

  • 机器学习-吴恩达笔记2

    本周主要讲解的内容是: 多维特征 多变量梯度下降 梯度下降法实践 正规方程 多维特征Multiple Featur...

网友评论

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

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