吴恩达机器学习-3-逻辑回归与正则化问题

Posted 尤尔小屋的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吴恩达机器学习-3-逻辑回归与正则化问题相关的知识,希望对你有一定的参考价值。

公众号:尤而小屋
作者:Peter
编辑:Peter

吴恩达机器学习-3-逻辑回归与正则化问题

第三周主要讲解的内容包含:

  • 逻辑回归
  • 代价函数
  • 线性回归和逻辑回归的比较
  • 正则化问题

逻辑回归

分类问题

假设预测的变量y是离散的值,需要使用逻辑回归Logistic Regression,LR的算法,实际上它是一种分类算法

二元分类问题

将因变量dependent variable可能属于的两个类分别称为负向类negative class和正向类positive class,因变量y的取值只能在01之间,其中0表示负类,1表示正类

假说表示Hypothesis Representation

分类器的输出值在01之间,因此,希望找出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间

引入一个新的模型:逻辑回归,该模型的输出变量范围始终在0和1之间。 逻辑回归模型的假设是: h ( θ ) = g ( θ T X ) h(\\theta) = g(\\theta^TX) h(θ)=g(θTX) 其中X代表的是特征向量g的逻辑函数,常用的S型函数(上图的右边,sigmoid function)公式为 g ( z ) = 1 1 + e − z g(z)= \\frac{1}{1+e^{-z}} g(z)=1+ez1 Python代码实现sigmod激活函数:

import numpy as np

def sigmod(z):
  return 1 / (1 + np.exp(-z))

h θ ( x ) = g ( z ) = 1 1 + e − θ T X h_\\theta(x)=g(z)= \\frac{1}{1+e^{{-\\theta^T}X}} hθ(x)=g(z)=1+eθTX1

h θ ( x ) h_{\\theta}(x) hθ(x)作用是对于给定的输入变量,根据选择的参数计算输出变量=1的可能性,即: h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_{\\theta}(x)=P(y=1|x;\\theta) hθ(x)=P(y=1x;θ)

例如:对于给定的x,通过已经确定的参数计算得出 h θ ( x ) = 0.7 h_{\\theta}(x)=0.7 hθ(x)=0.7,则表示有70%的几率y属于正类

决策边界decision boundary

解释逻辑回归
  1. 在逻辑回归中 h ≥ 0.5 h \\geq 0.5 h0.5预测 y = 1 y=1 y=1;反之y=0
  2. 在激活函数 g ( z ) g(z) g(z)中:

z ≥ 0 z \\geq 0 z0 g ( z ) ≥ 0.5 g(z) \\geq 0.5 g(z)0.5

z < 0 z < 0 z<0 g ( z ) < 0.5 g(z) < 0.5 g(z)<0.5

又因为 z = θ T x z={\\theta^{T}}x z=θTx,那么当 θ T x ≥ 0 {\\theta^T}x \\geq 0 θTx0的时候,则有 y = 1 y=1 y=1;反之 y = 0 y=0 y=0

又因为 z = θ T x z={\\theta^{T}}x z=θTx ,即: θ T x > = 0 {\\theta^{T}}x>=0 θTx>=0 时,预测 y = 1 y=1 y=1 ;反之: θ T x < 0 {\\theta^{T}}x<0 θTx<0 时,预测 y = 0 y=0 y=0

实例demo

在下图的中实例中,参数 θ \\theta θ满足[-3,1,1],当 − 3 + x 1 + x 2 ≥ 0 -3+x_1+x_2 \\geq0 3+x1+x20,即 x 1 + x 2 ≥ 3 x_1+x_2\\geq3 x1+x23时,模型预测y=1;说明此时:直线 x 1 + x 2 = 3 x_1+x_2=3 x1+x2=3就是决策边界

复杂的模型边界问题

代价函数Cost Function

如何拟合LR模型的参数 θ \\theta θ

1. 线性模型中代价函数是模型误差的平方和

J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\\theta)=\\frac{1}{2m}\\sum^m_{i=1}(h_{\\theta}(x^{(i)})-y^{(i)})^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2

如果直接使用线性模型中的代价函数,即误差平方和,得到的代价函数是个**“非凸函数”**,但是实际上我们期望看的是凸函数(右边)

  1. 重新定义逻辑回归的代价函数

    h θ ( x ) = g ( θ T X ) = 1 1 + e − θ T X h_\\theta(x)=g(\\theta^TX)= \\frac{1}{1+e^{-\\theta^TX}} hθ(x)=g(θTX)=1+eθTX1

    J ( θ ) = 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) J(\\theta)=\\frac{1}{m}\\sum^m_{i=1}Cost(h_\\theta(x^{(i)}),y^{(i)}) J(θ)=m1i=1mCost(hθ(x(i)),y(i))

    C o s t ( h θ ( x ) , y ) = { − log ⁡ ( h θ ( x ) ) , y=1  − log ⁡ ( 1 − h θ ( x ) ) , y=0  Cost(h_\\theta(x), y) = \\begin{cases} -\\log(h_\\theta(x)), & \\text{y=1} \\ -\\log(1-h_\\theta(x)), & \\text{y=0} \\ \\end{cases} Cost(hθ(x),y)=以上是关于吴恩达机器学习-3-逻辑回归与正则化问题的主要内容,如果未能解决你的问题,请参考以下文章

    吴恩达机器学习第五天逻辑回归模型

    机器学习|正则化|评估方法|分类模型性能评价指标|吴恩达学习笔记

    吴恩达《机器学习》课程总结(19)总结

    吴恩达《机器学习》课程总结正则化

    吴恩达《机器学习》课程总结(19)_总结

    吴恩达机器学习--线性回归