博客
关于我
机器学习实战 - 读书笔记(05) - Logistic回归
阅读量:449 次
发布时间:2019-03-06

本文共 1144 字,大约阅读时间需要 3 分钟。

机器学习实战 - 读书笔记(05) - Logistic回归

解释

Logistic回归是一种常用的分类算法,主要用于解决最优化问题。最优化问题可以理解为在有限的资源下寻求最大效益的过程,比如如何在最短时间内到达目的地、如何用最少的投入获得最大的效益等等。这些问题通常需要寻找最小值或最大值,而解决这类问题的方法包括梯度下降法和梯度上升法。

Logistic回归的核心思想是通过寻找一个阶跃函数来实现分类。由于阶跃函数只能返回0或1的值,因此可以将其作为分类器。为了实现这一点,Logistic函数(Sigmoid函数)被广泛使用。Sigmoid函数的数学表达式为:

[\sigma(z) = \frac{1}{1 + e^{-z}}]

该函数的输出值通常在0到1之间,当输入值z接近0时,输出值约为0.5。因此,当Sigmoid函数的输出值大于0.5时,分类器将返回1,否则返回0。

为了使Sigmoid函数返回值大于0.5,我们需要计算z的值:

[z = w_0x_0 + w_1x_1 + ... + w_nx_n]

其中,向量w是待求的参数,向量x是输入数据。为了避免线性函数的线性限制,通常会在x的向量中添加一个不变量(如1),从而将问题转化为多元一次方程的问题。

在求解最优化问题时,梯度上升法和梯度下降法是两种常用的迭代优化算法。梯度上升法用于最大化目标函数,而梯度下降法用于最小化目标函数。对于Logistic回归,通常使用梯度上升法,因为其目标函数是一个对数似然函数。

梯度上升算法的迭代公式为:

[w := w + \alpha (c - f(x)) x]

其中,α是步长,c是预期分类结果,f(x)是Sigmoid函数的输出值,x是输入向量。这样的更新规则可以帮助模型沿着提高目标函数的梯度方向调整参数w,逐步逼近最优解。

在实际应用中,步长α的选择非常重要。步长太大可能导致模型收敛过快或震荡,影响模型的稳定性;步长太小则会降低训练效率。因此,通常会在训练过程中动态调整步长。

Logistic回归的另一个关键点是其对应的损失函数。损失函数的最小化与分类器的性能直接相关。通过不断优化参数w,使得损失函数的值最小化,从而提高分类的准确性。

此外,Sigmoid函数的导数也值得注意。其导数为:

[f'(x) = f(x) [1 - f(x)]]

这表明函数在输出值接近0或1时,变化率较低,而在中间区域变化较快。

总的来说,Logistic回归通过将线性函数与Sigmoid函数结合,成功地将分类问题转化为对数似然的最大化问题,从而为机器学习提供了一个强大的工具。

参考

  • Machine Learning in Action by Peter Harrington

转载地址:http://grxfz.baihongyu.com/

你可能感兴趣的文章
NSURLSession下载和断点续传
查看>>
NSUserdefault读书笔记
查看>>
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
NTFS文件权限管理实战
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntp server 用法小结
查看>>
ntpdate 通过外网同步时间
查看>>
ntpdate同步配置文件调整详解
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP服务器
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>