Logistic Regression

一、内容概要

  • Classification and Representation

    • Classification
    • Hypothesis Representation
    • Decision Boundary
  • Logistic Regression Model
    • 损失函数(cost function)
    • 简化损失函数和梯度下降算法
    • Advanced Optimization(高级优化方法)
  • Solving the problem of Overfitting
    • 什么是过拟合?
    • 正则化损失函数(cost function)
    • 正则化线性回归(Regularized Linear Regression)
    • 正则化逻辑回归(Regularized Logistic Regression)

二、重点&难点

1. Classification and Representation

1) Hypothesis Representation

这里需要使用到sigmoid函数--g(z)

\[\begin{equation}
h_θ(x) = g(θ^Tx)
\end{equation}
\]

\[\begin{equation}
z = θ^Tx
\end{equation}
\]

\[\begin{equation}
g(z) = \frac{1}{1+e^{-z}}
\end{equation}
\]

2) Decision Boundary

决策边界:

\[h_θ(x) ≥ 0.5 → y=1 \]

\[h_θ(x) < 0.5 → y=0 \]

等价于

\[g(z) ≥ 0.5 → y=1 \]

\[g(z) < 0.5 → y=0 \]

等价于

\[z ≥0 → y=1 \]

\[z < 0 → y=0 \]

2. Logistic Regression Model

1) 逻辑回归的损失函数

这里之所以再次提到损失函数,是因为线性回归中的损失函数会使得输出呈现起伏,造成许多局部最优值,也就是说线性回归中的cost function在运用到逻辑回归时,将可能不再是凸函数。

逻辑回归的cost function如下:

\[J_θ = \frac{1}{m} \sum {Cost}( h_θ(x^{(i)}, y^{(i)} ) )\]

\[ {Cost}(h_θ(x), y) ) = - log(h_θ(x)) \quad \quad if \quad y=1\]

\[ {Cost}(h_θ(x), y) ) = - log(1 - h_θ(x)) \quad if \quad y=0\]

结合图来理解:

  • y=1



由上图可知,y=1,hθ(x)是预测值,

- 当其值为1时,表示预测正确,损失函数为0;

- 当其值为0时,表示错的一塌糊涂,需要大大的惩罚,所以损失函数趋近于∞。

  • y=0



上图同理

2) Simplified Cost Function and Gradient Descent

  • 损失函数

    cost function

\[Cost(h_θ(x), y) = -ylog(h_θ(x)) - (1-y)log(1-h_θ(x))\]

Jθ

\[J_θ=-\frac{1}{m} \sum Cost(h_θ(x), y) \]

\[\quad =-\frac{1}{m} \sum [-y^{i}log(h_θ(x^{(i)})) - (1-y^i)log(1-h_θ(x^{(i)}))] \]

  • 梯度函数

3)高级优化方法

如图左边显示的是优化方法,其中后三种是更加高级的算法,其优缺点由图邮编所示:

优点

  • 不需要手动选择α
  • 比梯度下降更快

缺点

  • 更加复杂

后面三种方法只需了解即可,老师建议如果你不是专业的数学专家,没必要自己使用这些方法。。。。。。当然了解一下原理也是好的。

3. Solving the problem of Overfitting

1) 过拟合

主要说一下过拟合的解决办法:

1)减少特征数量

  • 手动选择一些需要保留的特征
  • 使用模型选择算法(model selection algorithm)

    2)正则化
  • 保留所有特征,但是参数θ的数量级(大小)要减小
  • 当我们有很多特征,而且这些特征对于预测多多少少会由影响,此时正则化怎能起到很大的作用。

2) 正则化损失函数

图示右边很明显是过拟合,因此为了纠正加入了正则化项:1000·θ32,为了使得J(θ)最小化,所以算法会使得θ3趋近于0,θ4也趋近于0。

正则化损失函数表达式:

\[J(θ)=\frac{1}{2m} [\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2]\]

\[min_θ [\frac{1}{2m} (\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2)]\]

3) 正则化线性回归

  • 正则化梯度下降:

\[J(θ)=\frac{1}{2m} [\sum_{i=1}^m( h_θ(x^{(i)}) - y^{(i)})^2 + λ\sum_{j=1}^n θ_j^2]\]

\[\frac{∂J_θ}{∂θ_j} = \frac{1}{m} \sum_{i=1}^m( h_θ(x^{(i)} ) - y^{(i)} )x_j^{(i)} + \frac{λ}{m}θ_j \]

Repeat{

\[θ_0 := θ_0 - α\frac{1}{m}\sum_{i=1}{m}( h_θ(x^{(i)} ) - y^{(i)} )x_0^{(i)}\]

\[θ_j := θ_j - α[(\frac{1}{m}\sum_{i=1}{m}( h_θ(x^{(i)} ) - y^{(i)} )x_0^{(i)} ) + \frac{λ}{m}θ_j ] \quad j∈\{1,2,3……n\}\]

}

  • 正则化正规方程



前面提到过,若m< n,那么XTX是不可逆的,但是加上λ·L后则变为可逆的了。

4) 正则化逻辑回归

\[J(θ)=-\frac{1}{m} \{\sum_{i=1}^m[ y^{(i)} log(h_θ(x^{(i)}))+(1-y^{(i)})log(1-h_θ(x^{(i)}))]\} + \frac{λ}{2m}\sum_{j=1}^n θ_j^2\]

梯度下降过程


MARSGGBO♥原创







2017-8-2

Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)的更多相关文章

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 7 Regularization 正则化

    Lecture7 Regularization 正则化 7.1 过拟合问题 The Problem of Overfitting7.2 代价函数 Cost Function7.3 正则化线性回归  R ...

  2. Andrew Ng机器学习课程笔记--汇总

    笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...

  3. Andrew Ng机器学习课程笔记(二)之逻辑回归

    Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...

  4. Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

    Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...

  5. Andrew Ng机器学习课程笔记(四)之神经网络

    Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...

  6. Andrew Ng机器学习课程笔记(三)之正则化

    Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...

  7. Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)

    title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...

  8. Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计

    Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ...

  9. Andrew Ng机器学习课程笔记(一)之线性回归

    Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...

随机推荐

  1. jquery中append与appendTo方法区别

    1. append(content)方法 方法作用:向每个匹配的元素内部追加内容. 参数介绍:content (<Content>): 要追加到目标中的内容. 用法示例: HTML代码为& ...

  2. xtrabackup备份mysql数据库的使用方法

    xtrabackup是由percona提供的mysql备份工具,它是一款物理备份工具,通过连接数据库把数据库的数据备份出来.对于innodb存储引擎其支持全量备份和增量备份.对于myisam存储引擎只 ...

  3. 【Vue】详解Vue组件系统

    Vue渲染的两大基础方式 new 一个Vue的实例 这个我们一般会使用在挂载根节点这一初始化操作上: new Vue({ el: '#app' }) 注册组件并使用—— 全局注册 通过Vue.comp ...

  4. nyoj_68:三点顺序(计算几何)

    题目链接 根据 AB*AC的值进行判断即可(ps,结果为0时不构成三角形) #include<iostream> #include<cstdio> #include<cs ...

  5. UWP中使用Composition API实现吸顶(2)

    在上一篇中我们讨论了不涉及Pivot的吸顶操作,但是一般来说,吸顶的部分都是Pivot的Header,所以在此我们将讨论关于Pivot多个Item关联同一个Header的情况. 老样子,先做一个简单的 ...

  6. 【D3】transition API

    摘要: 动画类API 一.API 使用 1. 1 d3.ease 1.2 d3.timer Start a custom animation timer, invoking the specified ...

  7. Stacked Regression的详细步骤和使用注意事项

    声明:这篇博文是我基于一篇网络文章翻译的,并结合了自己应用中的一些心得,如果有侵权,请联系本人删除. 最近做推荐的时候,开始接触到Stacking方法,在周志华老师的西瓜书中,Stacking方法是在 ...

  8. 快学 Scala 入门 3 部曲

    1 基础 1.1 Scala 解释器 REPL - 交互式解释器环境 R(read).E(evaluate).P(print).L(loop) 输入值,交互式解释器会读取输入内容并对它求值,再返回结果 ...

  9. 腾讯发布 Omix 1.0 - 用 JSX 或 hyperscript 创建用户界面

    腾讯发布 Omix 1.0 - 用 JSX 或 hyperscript 创建用户界面 今天,腾讯正式开源发布 Omix 1.0, 让开发者使用 JSX 或 hyperscript 创建用户界面. Gi ...

  10. centos7修改网卡名称

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# mv ifcfg-eno ...