逻辑回归(Logistic Regression),是机器学习中的一个分类模型。
按理说逻辑回归并不是分类模型中最简单的一个(最简单的应该是KNN),但为什么要从该模型开始呢?
原因有二:1.逻辑回归涉及到的一些知识点是后面机器学习的基础,2.笔者两次面试都被问道了逻辑回归。。。
本节将顺着如下逻辑进行讲解:
1.样本描述
2.处理结果的函数(跃阶函数还是sigmoid函数)
3.使用似然函数来确定求 θ 的方法
4.使用梯度上升求梯度以求得 θ
5.补充:如何使用损失函数
数据描述
这里什么是分类聚类就不介绍了,直接引入数据如下:
(xi,yi) 是一条记录。其中 yi∈{
0,1},xi=(xi1,...,xin),xij∈R ,即该问题是二分类问题。数据维度为n。
模型参数形式
类似于线性规划,模型表达式为:
到这里,给出了如何获得模型的值 f(xi) ,但却没有说明拿到这个值后如何处理。
跃阶函数
即使用如下函数来判断模型对于输出参数的取值
上式是逻辑回归的基本假设,即使用属性的一阶函数(自变量的线性组合)来预测。
当 x 大于等于0时,模型给出的标签值为1,否则为0.
sigmoid 函数
先介绍其形式:
sigmoid 函数可以作为跃阶函数的替代。如果看过讲解逻辑回归的资料就会发现,大部分相关资料讲到逻辑回归都会提到sigmoid 函数,并将其作为得到最后结果的最后一步。
但其实,sigmoid 函数完全不是逻辑回归的重点,而只是一种处理模型结果的手段。
我们既可以使用 yi^=g1(f(xi)) (即跃阶函数)来给出最后的标签,也可以使用 yi^=g2(f(xi)) (sigmoid 函数)来给出最后的标签。
不论是使用哪一种, yi^=g(f(xi)) 都可以理解为表示给定样本点x,模型判断为属于“1”的概率,但同时有能根据 yi^ 本身的大小来判断是取“0”还是“1”。
例如,当 g(x) 为sigmoid函数时 yi^=g(f(xi))=11+e−f(xi)=11+e−xiθ 表示当 xiθ 越大, yi^ 越靠近1。
此时求得的 yi^ 是 xi 样本点属于类“1”的概率。
即
同理可得:
上式中, g(x) 代表使用跃阶函数或者sigmoid函数。正如上面所说, g(x) 使用什么并不是逻辑回归的重点,在补充材料之前,都一直使用 g(x) 而不是常用的sigmoid函数的具体形式,并在最后得出结论为什么通常