逻辑回归就是神经网络里常用的非线性函数,也叫激活函数的一种,sigmoid 函数
逻辑函数
定义域在整个数轴,值域为 0 到 1 的开区间
逻辑回归
逻辑回归 = 逻辑函数 + 线性回归
逻辑函数就是 y = 1 / (1 + e^-x)
线性回归是 y = w * x + b
将第二个式子的 y 当作第一个式子的 x 带入,就是逻辑回归
结合上面的逻辑函数图,可知它的作用是将线性回归的结果映射到 (0, 1)
逻辑回归与二分类问题
由于逻辑回归值域在 (0, 1) 这个特性,适合用来表示概率
It is commonly used in binary classification problems where the goal is to predict a binary output, such as true/false or yes/no. The logistic regression model outputs a probability score between 0 and 1, which can be interpreted as the likelihood of the input belonging to the positive class. By setting a threshold, such as 0.5, the input can be classified as either positive or negative. The decision boundary is linear in nature and separates the input space into two regions.
逻辑回归是线性分类器
这是一个与逻辑函数 S 形不符合直觉的结论
我们是通过它的决策边界的形状是超平面,来得出结论的
- 决策边界的概念,可以想象成线性回归时的那条直线,这条直线就是切开平面上两类数据点的边界
证明方法:
- 决策边界上的点,既可以分为 a 类,也可以分为 b 类,因此 x 值映射的概率值 y 等于 0.5
- 以 p(y=1|x) / p(y=0|x) = 1 为起点推导,通过一些指数和对数变换,一步步得到最终式子等价于 wx + b = 0,这恰恰是线性回归的公式,因此边界是线型
逻辑回归名回归实非回归
众所周知,机器学习就两种问题:分类问题和回归问题。分类问题就是你输入 x 要预测出一个离散型 id,回归问题就是你输入 x 要预测出一个连续型数字
逻辑回归,虽然带有回归二字,但是它模型的定义和目标函数的定义等一切一切都为了输出一个类别服务的,是预测 x 输入是 0/1 类的工具,所以逻辑回归冠以回归之名,行分类之实
目标函数
设 y 得分类值为 0 或 1
每个数据点属于第 0 类的概率 p(y=0|x, w) 和属于第 1 类的概率 p(y=0|x, w) 可以合成一个式子表示
p(y|x, w) = p(y=1|x, w)^y * [1 - p(y=1|x, w)]^(1-y)
特点是,单拎出一个数据点 x,带入 y = 1 或 y = 0,上面的式子是通用的,都对
假定我们的模型很准确,意味着 y 真为 1 或 0 时,p(y|x, w) 的值都很大。模型越准这个通式越大
因此目标函数可以定义成:所有样本点 x (x1, x2, …) 的通式结果之乘积
目标函数 = p1p2…
目标函数越大,对这组样本点来说,模型越准确
当然,一个所有数都是 (0, 1) 的乘积结果做目标函数,那这个值怕不是数据越多越趋于 0,因此实际,我们会将这个目标函数做等价变换,先取对数再取反,最终等价于
目标函数 = -(log(p1) + log(p2) +…)
等价后的目标函数越小,模型越准确
已知目标函数的结果是与 w 挂钩,由 w 影响大小的,所以接下来的问题,是怎么求出一组合适的 w,让目标函数最小
最优化问题
首先介绍什么是凸函数,凸函数直观讲就是笑脸弧线,它跟我们汉字的形状刚好相反..严谨讲就是任意两点连线总在曲线之下(想想 y = x^2)
凸函数有一个很好的特性,就是极小值 = 最小值,意味着当我们找到一个局部最优解时,他也一定是全局最优解
求一个函数的极小值,第一反应肯定是求导,这是高中的做法,数据量很小时很恰当
但实际环境,对于规模很大的数据计算导数很耗时耗资源,所以常用另一种做法,迭代法
迭代法
- 如果把样本空间比作一片海洋,当我们知道样本空间里面肯定存在一个点,使得目标函数最优,迭代法的做法是大海捞针法
- 先随意在海洋里找一个点,验证这个点是不是最小值,当然大概率不是,但是没有关系,我们沿着这个点的斜率,定一个方向,朝这个方向走两步,再到另一个点,验证是否是要找的…
- 循环往复,可以证明次数足够多时,在凸函数形目标函数里面,总会找到一个点,该点就是想要的,到这里我们要捞的针就到手了,可以停止
迭代法之一 梯度下降法
下面是梯度(全参数偏导排一起的向量)的推导
迭代法之二 随机梯度下降法
梯度下降法尽管比常规求导高效,但当样本量很大,还是很费时间
- 比如 10^9 个样本,每个迭代要求和 10^9 次,然后又可能需要成千上万次迭代
这时候我们想的优化方式,就是随机梯度下降法,它区别于梯度下降的唯一一点,就是把公式里样本求和的过程去掉,每个迭代只求一个样本
最后
当迭代法收敛的时候,我们目标函数最优的解对应的 w, b 就到手了
这两个已知,对应的逻辑回归函数的定义就唯一确定了
拿这个确定的函数,来对任意进来的每个特征点 x 求属于 y=0 类的概率
取一个阈值,大于阈值时判定 x 属于 0 类,否则认为 x 属于 1 类,逻辑回归到这就结束了
暂无评论