第4章 线性分类.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性分类器 电子科技大学 师 君 感知器 最小均方法 支持向量机 Fisher分类器 多类问题 线性分类器描述: 模型: 判决函数: 线性分类器 扩展权向量 注意,如果W为扩展解向量,则aW也为扩展解向量。 线性分类器描述: 结构: 神经网络—神经元模型; 贝叶斯分类器—高斯等协方差矩阵 线性分类器 扩展权向量 权系数更新方法: 感知器算法; 最小均方误差算法; 支持向量机算法; Fisher分类器; 线性分类器设计 感知器算法模型: 优化代价函数 感知器(Perceptron) 最速下降法迭代: 权系数更新公式: 感知器(Perceptron) … … 收敛性(一): 梯度为零=错误集合为空集 由于线性可分集合间存在多个分类面,因此,收敛结果不唯一。 感知器(Perceptron) 收敛性(二): 如果样本线性可分,则感知器可在有限步骤内搜索到分类面。 感知器(Perceptron) 感知器(Perceptron) 感知器(Perceptron) 感知器(Perceptron) 算法流程: 步骤1. 初始化训练样本、权向量 步骤2. 选择分类1的样本, 步骤3. 如果输出结果0,则:update = update + (-1) * x 步骤4. 选择分类2的样本 步骤5. 如果输出结果0,则:update = update + (1) * x 步骤6. W = W + coeff * update 步骤7. 重复步骤2-6,直到没有错误分类。 感知器(Perceptron) 感知器(Perceptron) close all clear all clc Obj1.NTrain = 100; Obj1.mean = 2.5 * [3; 5]; Obj1.SampTrain = randn(2, Obj1.NTrain) + kron(Obj1.mean, ones(1, Obj1.NTrain)); Obj1.NTest = 100; Obj1.SampTest = randn(2, Obj1.NTest) + kron(Obj1.mean, ones(1, Obj1.NTest)); Obj2.NTrain = 100; Obj2.mean = -0.0 * [3; 5]; Obj2.SampTrain = randn(2, Obj2.NTrain) + kron(Obj2.mean, ones(1, Obj2.NTrain)); Obj2.NTest = 100; Obj2.SampTest = randn(2, Obj2.NTest) + kron(Obj2.mean, ones(1, Obj2.NTest)); % Perceptron TestMatrix = zeros(2); cnt_c1 = 1; cnt_c2 = 1; % Trainning W = 10 * randn(3, 1); % W(3) = -1; coeff = 0.7; % W(1 : 2) = W(1 : 2) / norm(W(1 : 2)); tt = 1 : 1000; tt = (tt - 500) * 0.01; figure; plot(Obj1.SampTrain(1, :), Obj1.SampTrain(2, :), ro, linewidth, 2, markersize, 10) hold on; plot(Obj2.SampTrain(1, :), Obj2.SampTrain(2, :), bo, linewidth, 2, markersize, 10) WW = W; WW = WW / norm(WW); plot(tt * W(2), -1 * (WW(1) * tt + WW(3)), r, linewidth, 3) for jjj = 1 : 1000 Ecnt = 0; TMP_update = zeros(3, 1); for kkk = 1 : Obj1.NTrain TMP_Tr(1:2, 1) = Obj1.SampTrain(:, kkk); TMP_Tr(3, 1) = 1; yy = W. * TMP_Tr; if (yy = 0) TMP_update = TMP_update + (-1) * TMP_Tr; Ecnt = Ecnt + 1; end end for kkk = 1 : Obj2.NTrain TMP_Tr(1:2, 1) = Obj2.SampTrain

文档评论(0)

a888118a + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档