手记

logistics regression原理与线性回归

逻辑回归

从分类问题思考:线性回归与逻辑回归

分类问题
0:Negative class
1:Positive Class
二分类问题开始
将已知数据分类 0 1
采用算法 线性回归
假设函数 hx = theta0 + theta1*x1 + ... + thetaN * xN
设置阈值---什么情况下属于1类 or 0类
        > 0.5 1
        < 0.5 0
所有的点 
对于分类问题应用线性回归并不是好办法

还有一个有趣的事情:
classification: 0 or 1
but 假设函数可以 大于1 or 小于0

接下来使用逻辑回归算法进行分类
logistic regression 逻辑回归
逻辑回归:实际上是一种分类算法

机器学习三要素 模型 策略 算法

逻辑回归假设函数 – 模型

logistic regression model
目标:
    将假设函数值限定在[0,1]之中
    如果 >= 0.5 属于 1类
    反之 属于0类
    want 0< hx < 1

逻辑回归的假设函数的表达式是什么?
逻辑回归的假设函数与线性回归的假设函数不同 
带入了越阶函数 sigmoid function
线性回归hx = theta^T*x
逻辑回归hx = g(theta^T*x)

逻辑回归 – 从线性回归假设函数逐步优化

假设函数 :hθ(x)=θTxhθ(x)=θTx   逻辑回归的目标是分类 输出 0 or 1        引入 sigmoid function         即:  hθ(x)=g(θTx)hθ(x)=g(θTx)     g(z)=11+ρ(−z)g(z)=11+ρ(z)      模型的解释       对于新输入样本x的y等于1的概率的估计值        即为:g(z)=11+ρ(−θTx)g(z)=11+ρ(θTx)

也可以用概率公式来解释
p(y=1|x;θ)=g(z)p(y=1|x;θ)=g(z)
p(y=0|x;θ)+p(y=1|x;θ)=1p(y=0|x;θ)+p(y=1|x;θ)=1
p(y=0|x;θ)=1−p(y=1|x;θ)p(y=0|x;θ)=1p(y=1|x;θ)

总结: 
    逻辑回归的假设函数是什么
    定义逻辑回归的假设函数的公式是什么

逻辑回归模型假设函数的推导

如何从解释该模型 模型转化的思路

决策边界

决策边界:假设函数在计算什么
目标:预测分类问题  
suppose predict “y=1” ifhθ(x)>=0.5hθ(x)>=0.5
               即θTx>=0θTx>=0
               “y=0” ifhθ(x)<0.5hθ(x)<0.5
               即θTx<0θTx<0

hθ(x)=g(θTx)=p(y=1|x;θ)hθ(x)=g(θTx)=p(y=1|x;θ)
g(z)=11+e−zg(z)=11+ez

什么是决策边界
   决策边界时假设函数的一个属性 包含θθ数据集 分平面
   一旦确定θθ参数 决策边界就确定

决策边界可以是线性也可以是非线性
并不是用训练集来训练$\theta$ 而是拟合$\theta$

总结与思考:  什么范围内的假设函数可以选择
                       如何确定决策边界

非线性的决策边界

逻辑回归的代价函数

traning set  
(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))
m examples x 属于 [x_0, x_1,…,x_n].T  
Rn+1x0=1y属于0,1Rn+1x0=1y0,1
逻辑回归的假设函数为:hθ(x)=11+e−z=11+e−θTxhθ(x)=11+ez=11+eθTx
线性回归的代价函数
linear regression cost function :  
J(θ)=1m∑i=1m12(hθ(x(i))−y(i))2J(θ)=1mi=1m12(hθ(x(i))y(i))2
可以推导为:Cost(hθ(x(i)),y(i))=12(hθ(x(i))−y(i))2Cost(hθ(x(i)),y(i))=12(hθ(x(i))y(i))2
           即为:Cost(hθ(x),y)=12(hθ(x)−y)2Cost(hθ(x),y)=12(hθ(x)y)2

由于hθ(x)hθ(x)为复杂线性函数 开平方推导会造成非凸函数以及局部优化

因此 期望是 凸函数  
可得逻辑回归的代价函数为
Cost(hθ(x),y)=−log(hθ(x))ify=1Cost(hθ(x),y)=log(hθ(x))ify=1
Cost(hθ(x),y)=−log(1−hθ(x))ify=0Cost(hθ(x),y)=log(1hθ(x))ify=0

特性:当y=1时 ifhθ(x)=1hθ(x)=1cost=0
       else:hθ(x)=0hθ(x)=0代价函数无穷大

当y=0时 ifhθ(x)=1hθ(x)=1代价函数无穷大
       else cost=0
代价函数作为惩罚系数

逻辑回归代价函数 推导1

逻辑回归代价函数 推导2 凸函数与非凸函数

逻辑回归代价函数 推导3  

Simplified cost function and gradient descent

化简代价函数及梯度下降法

——问题 如何使用梯度下降法拟合函数
——线性回归和逻辑回归是一个梯度下降算法么
——如何检测梯度下降 确保他是收敛的

将代价函数再化简
J(θ)=1m∑i=11Cost(hθ(x(i)),y(i))J(θ)=1mi=11Cost(hθ(x(i)),y(i))
Cost(hθ(x),y)=−log(hθ(x))ify=1Cost(hθ(x),y)=log(hθ(x))ify=1
Cost(hθ(x),y)=−log(1−hθ(x))ify=0Cost(hθ(x),y)=log(1hθ(x))ify=0

Note! y=0 or 1 always

Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))
将代价函数优化为1行
即:j(θ)=1mCost(hθ(x(i)),y(x))=−1m[∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))j(θ)=1mCost(hθ(x(i)),y(x))=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))

问题:如何不断的拟合θθ期望为minJ(θ)minJ(θ)最小化代价函数 — 使得拟合模型

易于分类  
目标 对新的输入变量x输出正确的预测
下一步目标 如何最大限度最小化代价函数 — 向量化实现


下一步目标 如何最大限度最小化代价函数 — 向量化实现
采用梯度下降法
j(θ)=−1m[∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))j(θ)=1m[i=1my(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))
   wantminJ(θ)minJ(θ):
repeatθj:=θj−α∑i=1n(hθ(x(i))−y(i))x(i)repeatθj:=θjαi=1n(hθ(x(i))y(i))x(i)

问题: 线性回归和逻辑回归是一个梯度下降算法么
    完全不是 两者的假设函数不同
问题: 如何监测梯度下降 确保它收敛
    带入了代价函数 偏导数 实质上 会想最优或者局部最优点梯度下降


    小结: 假设函数 sigmoid
        代价函数 化简 -- 非凸性函数转化为凸性函数
        梯度下降法

高级优化算法 optimization algorithm

costfunctionJ(θ)costfunctionJ(θ)代价函数
wantminJ(θ)wantminJ(θ) 目标 最小化代价函数
给定θθ用计算机实现计算
θθ代价函数
—$代价函数的偏导数  确保收敛性—计算代价函数 及代价函数的收敛性

梯度下降法
repeatθj=θj−α∂∂θjJ(θ)repeatθj=θjαθjJ(θ)
∂∂θjJ(θ)=∑i=1m(hθ(x(i))−y(i))x(i)jθjJ(θ)=i=1m(hθ(x(i))y(i))xj(i)
   除了梯度下降法 还有
                   共轭梯度法 conjugate gradient
                   变尺度法 BFGS
                   限制尺度法 L-BFGS

    这些算法都是对代价函数的不同优化
    优点: 不需要手动计算学习速率
            收敛速度快于梯度下降法
    缺点:
            过于复杂

obtave 如何使用梯度下降法计算

多分类问题

本质上来说 求得是 $\max p(y=i|x_i, \theta) i=1,2,3....$
概率最大化问题123


参考文献
斯坦福 机器学习课程 吴恩达

原文出处

0人推荐
随时随地看视频
慕课网APP