吴恩达机器学习笔记:逻辑回归5

1.简化的成本函数和梯度下降

这篇我们将会找出一种稍微简单一点的方法来写代价函数,来替换我们现在用的方法。同时我们还要弄清楚如何运用梯度下降法,来拟合出逻辑回归的参数。

这就是逻辑回归的代价函数:

这个式子可以合并成: C o s t ( h θ ( x ) , y ) = − y × log ⁡ ( h θ ( x ) ) − ( 1 − y ) × log ⁡ ( 1 − h θ ( x ) ) Cost(h_{\theta}(x), y) = - y \times \log(h_{\theta}(x)) - (1 - y) \times \log(1 - h_{\theta}(x)) Cost(hθ(x),y)=−y×log(hθ(x))−(1−y)×log(1−hθ(x))

即:
Cost ( h θ ( x ) , y ) = − y × log ⁡ ( h θ ( x ) ) − ( 1 − y ) × log ⁡ ( 1 − h θ ( x ) ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] \text{Cost}(h_{\theta}(x), y) = -y \times \log(h_{\theta}(x)) - (1-y) \times \log(1-h_{\theta}(x)) \ = - \frac{1}{m} \sum_{i=1}^{m} \Big[ y^{(i)} \log\Big(h_{\theta}(x^{(i)})\Big) + (1-y^{(i)}) \log\Big(1-h_{\theta}(x^{(i)})\Big) \Big] Cost(hθ(x),y)=−y×log(hθ(x))−(1−y)×log(1−hθ(x)) =−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]

根据这个代价函数,为了拟合出参数,该怎么做呢?我们要试图找尽量让J( θ \theta θ)取得最小值的参数 θ \theta θ。

如果我们给出一个新的样本,假如某个特征 x x x,我们可以用拟合训练样本的参数 θ \theta θ,来输出对假设的预测。

最小化代价函数的方法,是使用梯度下降法(gradient descent)

我们的代价函数:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] J(\theta)= - \frac{1}{m} \sum_{i=1}^{m} \Big[ y^{(i)} \log\Big(h_{\theta}(x^{(i)})\Big) + (1-y^{(i)}) \log\Big(1-h_{\theta}(x^{(i)})\Big) \Big] J(θ)=−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]

如果我们要最小化这个关于 θ \theta θ的函数值,这就是我们通常用的梯度下降法的模板:

我们要反复更新每个参数,用这个式子来更新,就是用它自己减去学习率 α \alpha α乘以后面的微分项。

如果你有 𝑛 个特征,也就是说:

参数向量 θ \theta θ包括 θ 0 \theta_0 θ0 , θ 1 \theta_1 θ1, θ 1 \theta_1 θ1 一直到 θ n \theta_n θn,那么你就需要用这个式子,把每个 θ \theta θ都更新一下。如果你把这个更新规则和我们之前用在线性回归上的进行比较的话,你会惊讶地发现,这个式子正是我们用来做线性回归梯度下降的。

那么,线性回归和逻辑回归是同一个算法吗?实际上,假设的定义发生了变化。

对于线性回归假设函数:
h θ ( x ) = θ T X = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + ... + θ n x n h_{\theta}(x) = \theta^{T} X = \theta_{0} x_{0} + \theta_{1} x_{1} + \theta_{2} x_{2} + \ldots + \theta_{n} x_{n} hθ(x)=θTX=θ0x0+θ1x1+θ2x2+...+θnxn

而现在逻辑函数假设函数:
h θ ( x ) = 1 1 + e − θ T x h_{\theta}(x) = \frac{1}{1 + e^{-\theta^T x}} hθ(x)=1+e−θTx1

因此,即使更新参数的规则看起来基本相同,但由于假设的定义发生了变化,所以逻辑函数的梯度下降,跟线性回归的梯度下降实际上是两个完全不同的东西

相关推荐
再睡一夏就好11 分钟前
【C++闯关笔记】STL:deque与priority_queue的学习和使用
java·数据结构·c++·笔记·学习·
信息快讯28 分钟前
【机器学习在智能水泥基复合材料中的应用与实践】
人工智能·机器学习·材料工程·复合材料·水泥基复合材料
金水谣29 分钟前
10.21
笔记
遇印记41 分钟前
网络运维学习笔记
数据结构·笔记·学习
梁辰兴1 小时前
企业培训笔记:外卖平台后端--套餐管理模块--回显套餐信息
笔记·vue·mybatis·springboot·外卖管理系统
四谎真好看1 小时前
Java 黑马程序员学习笔记(进阶篇20)
java·笔记·学习·学习笔记
_dindong1 小时前
牛客101:链表
数据结构·c++·笔记·学习·算法·链表
JJJJ_iii1 小时前
【机器学习06】神经网络的实现、训练与向量化
人工智能·笔记·深度学习·神经网络·学习·机器学习·线性回归
瑞士卷@2 小时前
spring从入门到精通(spring学习笔记,持续更新中)
笔记·学习·spring
我先去打把游戏先2 小时前
ESP32学习笔记(基于IDF):SmartConfig一键配网
笔记·嵌入式硬件·mcu·物联网·学习·esp32·硬件工程