博客
关于我
机器学习实战 - 读书笔记(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/

你可能感兴趣的文章
php.ini中常见的配置信息选项
查看>>
php.ini配置中有10处设置不当,会使网站存在安全问题
查看>>
php/jsp/asp的区别
查看>>
php20个主流框架
查看>>
php301到https,虚拟主机设置自动301跳转到HTTPS
查看>>
php5 apache 配置
查看>>
php5 升级 php7 版本遇到的问题处理方法总结
查看>>
PHP5.3.3安装Mcrypt扩展
查看>>
PHP5.4 + IIS + Win2008 R2 配置
查看>>
PHP5.4 pfsocketopen函数判断sock是否存活的bug(由memcached引起)
查看>>
Redis从入门到精通
查看>>
PHP5.6.x编译报错:Don't know how to define struct flock on this system, set --enable-opcache=no
查看>>
php5ts.dll 下载_php5ts.dll下载
查看>>
php7
查看>>
PHP7 新特性
查看>>
PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
查看>>
php7.1.6 + redis
查看>>
php7中使用php_memcache扩展
查看>>
PHP7中十个需要避免的坑
查看>>
php7和PHP5对比的新特性和性能优化
查看>>