机器学习笔记3 -- 逻辑回归 Logistic Regression

问题域
分类
回归的预测结果时连续结果,如何实现分类的?
逻辑函数在二维坐标中的表现形式为S型曲线,所以逻辑函数又称Sigmod函数。由图可以看出预测值的范围是[0,1]区间内的实数。当y>0.5时,x归类为真;当y<=0.5时,x归类为假。从而实现类别划分。
LR还可以解决多分类问题:
n个类别需要构造n个分类模型,第n个模型区分是不是属于第n类。每个输入都被n个模型同时预测,如果只有一个模型输出为真,则是该模型的预测值;否则比较同时预测为真的多个模型的输出概率,选取概率最大值。

模型函数
参考借助数学工具来解决问题的方法:
  • 定义--根据需求将目标问题定义为一个函数
  • 假设--选取最简单的假设作为具体形式、
  • 优化--用事实数据做验证,确认有效则沿用形成模型;发现问题则进行修正形成新的模型。
了解一下逻辑回归模型函数的诞生过程:
需求--研究人口增长/催化反应与时间的关系
定义--将人口数量和时间函数定义为W (t)
假设--人口增长率和人口数量成正比,即W‘(t)=aW(t)。这种性质和指数函数很像,故引入指数函数:
优化--事实上,事物的数量达到一定规模后,一些因素会越来越抑制其增长率。
于是在模型中添加g(W(t))表示随规模大增加出现的阻力。
实验表明当g(W(t))为W(t)的二次方时最符合逻辑。用L表示总量的上限:
此时,增长率与当前数量和上限差值成正比。为方便计算函数的具体表达式,令P(t)=W(t)/L,则有:
P'(t)=bW(t)(1-P(t)) =>
同时除以分子,将t改为x,P改为h就得到了LR的一维模型函数:
当x为多维时,a+bx可以表示为两个向量相乘:

目标函数
模型训练的过程就是求θ的过程。
从图中可以看出当h(x)为1时,x为真;当h(x)为0时,x为假,故h(x)表示的是x为真的分布概率。
那么,P(y=1|x)=h(x),P(y=0|x)=1-h(x).
由二项分布公式知:
那么,训练集中所有m个数据的联合概率(似然函数)为:
求解出使其最大的θ,也是极大似然估计的过程。
为方便计算,对它求对数,得到对数自然函数:
即逻辑回归的目标函数。

训练算法
我们可以对目标函数取负,得到负对数似然函数J(θ),直接使用梯度下降法。
  • 对J(θ)求导获得下降方向J‘(θ)
  • 根据预设步长α更新参数θ=θ-αJ'(θ)
  • 重复以上步骤预设次数,或直到逼近最优值。
设x有n维,θ和x的维度相同,J(θ)求导需要对θ每一个维度求导:



猜你喜欢

转载自blog.csdn.net/zjl0105/article/details/81024719