zoukankan      html  css  js  c++  java
  • 感知机算法基础形式及对偶形式算法

    知识预备:

    数据线性可分:

    对于给定数据集T={(x1,y1),(x2,y2),...,(xn,yn)},;若存在平面wx+b=0将正实例点和负实例点正确划分到两侧,也就是对所有yi=+1的实例,都有wxi+b>0,

    对于所有yi=-1的实例,都有都有wxi+b<0;那么就称数据集T为线性可分数据。此外也可以将表现形式转为若yi(wxi+b)>0,则分类正确;若yi(wxi+b)<0分类错误,

    从而有若点到面的距离若小于0,则分类错误,因此将所有错误分类的点到平面的距离进行汇总,得到总距离,不考虑,则可得到感知机的损失函数。

    一、基本算法形式:

    输出系数:w,b    感知机模型: f(x)=wx+b 

    (1) 选取初始值w0,b0 

    (2)在训练数据集中选取数据(xi,yi),yi为预先给定的样本分类

    (3)若yi(wxi+b)≤0  (当yi和wxi+b异号的时候即分类错误,如本应wxi+b大于0一侧的时候,错误分类为yi小于0) 

        

        

    通过误分类一侧的点来调整w,b使得分类平面朝误分类点的一侧移动。

    (4)转至(2)至训练集中不再出现误分类点

     注:感知机算法所得到的平面函数具有不唯一的特点。

    二、对偶形式算法:

    输入:线性可分的数据集,其中,  i=1,2,....N ; 学习率η(0<η≤1);

    输出:a,b; 感知机模型 ,其中a=(a1,a2,...,aN)T,yj表示更新的方向,xj表示由误分类点产生的更新长度
    ai=ni*η,ni表示由每个错误分类点产生的分类平面系数的更新次数,η表示分类的步长。

    (1)  a=0,  b=0

    (2) 在训练集中选取数据(xi,yi)

    (3)如果 ,则ai=ai+η,  b=b+ηyi

    (4)转至(2)直到没有误分类数据

  • 相关阅读:
    conio
    create file in Linux
    单向链表
    面向对象(Object Oriented,OO)
    LLVM每日谈之五 LLVM文档介绍
    Team Geek 阅读笔记之 第三章 Every Boat Needs a Captain
    重温堆和拷贝构造函数
    LLVM每日谈之六 LLVM的源码结构
    LLVM每日谈之七 Clang
    LLVM每日谈之三 如何创建一个LLVM工程
  • 原文地址:https://www.cnblogs.com/xiaochouk/p/7895984.html
Copyright © 2011-2022 走看看