• 机器学习笔记(三)逻辑回归


    Classification(分类)

    1、问题背景:

    特殊的样本点会使得分界点发生漂移,影响准确性。

     

    Hypothesis representation(假设函数表达式)

    1、Logistic regression Model(逻辑回归模型):

    (1)Sigmoid function / Logistic function S型函数/逻辑函数:

     (2)g(z)图像:

     

    (3)hθ(x) 表示在给定参数θ对于某个特征值x的情况下,y=1的概率:

    Decision boundary(决策边界)

    1、什么是决策边界?

    If hθ(x) = g(θTx) ≥ 0.5,则 y = 1 (即 θTx ≥ 0时);

    If hθ(x) = g(θTx)< 0.5,则 y = 0(即 θTx< 0时).

    举例:对于,θ=[-3,1,1]T,则

    y=1,if -3+x1+x2 ≥ 0,即分界线为 x1+x= 3,如下图所示。

     

     该边界线称为“决策边界”,边界上方部分y=1,下方部分y=0.

    2、Non-linear decision boundaries(非线性决策边界):

    例如:

    对于θ = [-1,0,0,1,1]T时,决策边界为x1² + x2² = 1,如下图所示。

     

    Cost function(代价函数)

     1、数据量化:

    训练集:

    m个训练样本(每个样本含有n个特征值):

    假设函数:

    2、Logistic regression cost function(逻辑回归代价函数):

     

       

     【理解】

    当y = 1时,真实值为1,当预测值越靠近1,则代价越小;

    当y = 0时,真实值为0,当预测值越靠近0,则代价越小。

    3、Simplified cost function(简化代价函数):

    Gradient Descent(梯度下降法)

    1、算法流程:

     即:

    【推导】碰巧跟线性回归的算法一致?

    为了推导的方便,对于公式进行了适当简写:

    2、向量化表示:

    优化算法

    1、算法概览(暂时仅了解):

    Conjugate gradient(共轭梯度法)

    BFGS(变尺度法)

    L-BFGS(限制变尺度法)

    优点:不需要设置α;比梯度下降更快

    缺点:更复杂

    2、Matlab调用方式 :

    (1)编写costFunction(theta)函数:

    (2)设置参数,调用fminunc()函数:

     Multiclass Classification(多类别分类)

    1、策略思想:

    将除第1种外的分类合并,看做同一个分类进行处理,依次识别出3种分类。

     2、算法描述:

    对于每一个分类i都进行 y = i 情况下逻辑回归模型的计算,对于每一个新输入的x进行预测,挑选出使得预测值最大的i,即.

    Regularization(正规化)

    1、Overfitting(过度拟合):

    存在过多的变量,把训练集拟合得很好,代价函数接近0,但是不能推广至新的样本。

    线性回归举例:下图1为underfit(欠拟合),下图3位overfit(过度拟合)

    逻辑回归举例:下图1为underfit(欠拟合),下图3位overfit(过度拟合)

    2、过度拟合的解决方法:

    (1)降低特征的数量:人工筛选特征,模型选择算法(暂不深入);

    (2)正则化:保留所有特征但降低参数θ的大小,存在大量特征但每个特征对于预测结果仅产生较小的影响。

     3、Regularized Linear Regression(正则化线性回归):

    (1)代价函数:

    (注:θ从1开始)

    添加的项称为“正则化项”,λ称为“正则化参数”。

    如果λ太大,则会欠拟合(接近一条水平直线)

    (2)梯度下降算法:

    下式可改写为:

     其中小于1,将θj进行了一定的压缩。

     (3)Normal equation(正规方程):

    4、Regularized logistic regression(正则化逻辑回归):

    (1)代价函数

    (2)梯度下降算法:同正则化线性回归的梯度下降算法,但假设函数不同。

  • 相关阅读:
    ES6走一波 Generator异步应用
    扁平数据结构化
    Django笔记&教程 6-2 表单(Form)基础操作
    Django笔记&教程 6-3 使用模型(models)创建表单(form)
    Django笔记&教程 6-4 forms进阶操作,重写forms方法
    Django笔记&教程 7-1 基于类的视图(Class-based views)介绍
    Django笔记&教程 7-3 拓展CBVs(Class-based views)
    Django笔记&教程 5-1 基础增删查改
    Django笔记&教程 1-1 一 新建项目
    Django笔记&教程 0-2 框架版本与相关工具
  • 原文地址:https://www.cnblogs.com/orangecyh/p/11662022.html
Copyright © 2020-2023  润新知