[DeeplearningAI笔记]第一章2.1-2.4 二分分类,logistic回归,logistic回归损失函数,梯度下降法
笔记 函数 分类 回归 2.1 二分 2.4 第一章
2023-09-11 14:15:01 时间
[DeeplearningAI笔记]第一章2.1-2.4 二分分类,logistic回归,logistic回归损失函数,梯度下降法
觉得有用的话,欢迎一起讨论相互学习~
2.1 二分分类
- 在二分分类问题中,目标是训练出一个分类器,它以图片的特征向量x作为输入,预测输出的结果标签y是1还是0.在图像识别猫图片的例子中也就是预测图片中是否有猫.
2.2 logistic回归
- 已知的输入的特征向量x,可能是一张图,你需要将其识别出这是不是一张猫图,你需要一个算法,给出一个预测值,这里我们将预测值表示为\(\hat{y}\).就是你对y的预测,正式的说你希望y是一个预测的概率值.当输入特征x满足条件时,y就是1.你希望\(\hat{y}\)告诉你这是一张猫图的概率.如果我们使用线性方程的计算表示,这里的图片是一个n维的向量,我们设置里的w也是一个n维的向量,则此时的方程是\(\hat{y}=W^{T}.x+b\)但是通过这样计算得出的值表示y是一个有可能是一个比1大的数,有可能是负数的值,而我们需要计算的概率应该是在0~1之间的范围内.所以我们单纯的计算这样的\(\hat{y}\)是没有意义的,所以在logistic regression中我们将sigmoid函数作用到这个量上.
sigmoid函数
数据保存格式
-
图片保存格式
-
数据保存格式
2.3 logistic回归损失函数
loss function
-
loss function 损失函数,可以用来衡量算法的运行情况,你可以定loss function为\(\hat{y}\)和y的差的平方,或者是差的平方的1/2.结果表明你可以这样做,但是通常在logistic 回归中,大家都不这样做,因为使用这个loss function 在做优化问题时,优化函数会变成非凸的最后会得到很多个局部最优解.梯度下降法可能找不到全局最优解.直观的解释是我们通过loss function 来衡量你的预测输出值\(\hat{y}\)和y的实际值有多接近.
-
所以为了解决这个问题,在使用优化器进行优化的时候使其成为一个凸的函数,我们在这里使用交叉熵数 \(-((y^{(i)}*log(\hat{y}^{(i)})+(1-y^{(i)})*log(1-\hat{y}^{(i)}))\)
cost function
- loss function(损失函数)只适用于单个训练样本,但是cost function(成本函数)则是基于整体训练集.所以在训练logistic regression的模型时,我们要找到合适的参数W和b使cost function计算得到的值尽可能小.
\[-\frac{1}{m}\sum_{i=1}^m((y^{(i)}*log(\hat{y}^{(i)})+(1-y^{(i)})*log(1-\hat{y}^{(i)}))
\]
2.4 梯度下降法
- 在此图中横轴表示参数w和b,在实践中w可以是更高维度的数据,此处为了绘制图片,我们将其设置为一个实数,b也是一个实数,成本函数J(W,b)是在水平轴w和b上的曲面,曲面的高度表示J(W,b)在某一点的值,我们想要做的就是找到这样的W和b使其对应的成本函数J值是最小值.我们这里使用的cost function是交叉熵函数是一个凸函数,这是logistic回归使用这个特定成本函数J的重要原因之一.
相关文章
- 深度学习Keras框架笔记之激活函数详解
- python开发笔记之zip()函数用法详解
- 【COCOS2D-HTML5 开发之二】COCOS2D-HTML5项目定义成员,局部变量,函数笔记随笔
- 《从零开始学Swift》学习笔记(Day 21)——函数返回值
- 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记
- GitHub学习笔记
- RestfulApi 学习笔记——分页和排序(六)
- 机器学习笔记 - 什么是联合概率分布?
- Opencv学习笔记 快速色彩转移
- Opencv学习笔记 常用函数、基础知识二
- C# 项目开发笔记
- Rxjs 的一些学习笔记
- 《卸甲笔记》-单行函数对比之二
- AI公开课:18.05.05 施尧耘(阿里云量子技术CS)—清华AI第四讲之《人工智能与量子计算》Quantum课堂笔记——带你了解量子计算
- 【华为云技术分享】实战笔记丨JDBC问题定位指南
- 笔记:C语言图形基本函数及实例五子棋游戏
- Python学习笔记(十一)—— 函数式编程
- MATLAB学习笔记(七)——MATLAB解方程与函数极值
- Python3学习笔记(urllib模块的使用)
- Python学习笔记三之编程练习:循环、迭代器与函数
- oracle 中的INTERVAL 函数解析学习笔记
- 【线性代数】学习笔记Week2-1(自用)