书名:计算机视觉40例从入门到深度学习:OpenCV-Python
作者:李立宗
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857
第15章 机器学习导读
15.3 OpenCV中的机器学习模块
15.3.5 logistic回归
- Logistic Regression通常被翻译为逻辑回归,周志华教授在《机器学习》一书将其翻译为“对数几率回归”,称之为“对数几率回归”是因为在这种模型中用到了“比率(比例、除法)”和“对数”运算。
一、线性回归
-
线性回归就是构造一个能够准确地预测未知值的函数。
图15-27 线性回归示意图
线性回归示意图如图15-27所示:
● 图15-27(a)是已知条件:3kg,6元;4kg,8元。
● 图15-27(b)是根据图15-27(a)确定的线性回归模型:y=2x(2元/kg,y=2x+0)。
● 图15-27(c)是根据重量预测价格;根据价格预测金额。
➢ 对于A点,已知重量为2kg,判断其总价为y=2×2=4元。
➢ 对于B点,已知总价10元,判断对应的重量:10=2×x(y=2x),推导出x=5kg。 -
综上所示,线性回归输出的是一个实数。
在进行二元分类时,希望输出结果为{0,1}。也就是说,希望得到的值要么是0,要么是1。因此把线性回归函数y=kx+b映射为一个只有{0,1}的值。
值范围转换示意图如图15-28所示:
● 图15-28(a)是原始线性回归函数y=kx+b的曲线。显然,其输出值y是一个实数。我们希望把该实数y映射到{0,1}上(这里的0和1是集合中的两个元素,集合中仅仅有0和1两个值)。
● 图15-28(b)是一个阶跃函数的曲线。当x<0时,y=0;当x≥0时,y=1。这个函数的曲线是突然跳跃的,不是线性回归函数曲线那样连续的,所以不适合用来替代线性回归函数y=kx+b。
● 图15-28(c)是sigmoid函数的曲线。它既能很好地模拟线性回归函数y=kx+b,又具有较好的连续性。
-
值范围调整示意图如图15-29所示,将y=kx+b代入sigmoid函数内,会得到分布在(0,1)范围内的值,从而根据其大小,将其调整为0或1。
图15-29 值范围调整示意图
经过上述变换后,即可通过确定k和b的值得到一个模型,从而获得预测值y。
二、对数几率回归
为什么logistic回归又称“对数几率回归”。
-
等式变换示例如图15-30所示,双箭头右边是双箭头左边经等式变换得到的,或者说双箭头两侧的等式是等价的。
图15-30 等式变换示例 - 在图15-30中:y是分类结果,取值范围为(0,1),含义为是0或1的可能性。
换一种说法,如果将y看作样本x为正例的可能性,那么1-y就是样本x为反例的可能性,而y/(1-y)反映的是样本x作为正例的相对可能性,称为odds,被翻译为“几率”。
对上述“几率”取对数,得到ln(y/(1-y))。上述操作连起来是log odds,又称为logit。 - Logistic Regression又称Logit Regression,故被译为“对数几率回归”,简称“对率回归”。
网友评论