[11-2] adaboost理解

以二分类问题为例({-1,+1})

adaboost步骤:

1.初始化u1=(1/N,1/N,…,1/N)

2.找到h,使最小化,记该h为g;计算作为该g的权重

3.更新ui:

4.重复2,3得到T个h,使用下列公式作为预测

理解:

1.   adaboost 和 ut

数据n的权重在经过T轮更新后,正比于 每个g在该资料上做的带权重的投票

看成是margin,则margin变大,会ut会变小

所以每一轮adaboost,都会使变小,即使下列公式变小

2.adaboost 和 g(把adaboost看成在每一轮都尽可能使ut变小)

以gradient观点看:

adaboost每一轮都在找一个最好的h作为方向更新ut,使ut最小

adaboost选择这个h的标准是,使最小,得到g

3.adaboost和

选定特定的方向g后,选定,使最小

总结:

时间: 2024-12-13 22:03:05

[11-2] adaboost理解的相关文章

AdaBoost理解

AdaBoost是一种准确性很高的分类算法,它的原理是把K个弱分类器(弱分类器的意思是该分类器的准确性较低),通过一定的组合(一般是线性加权进行组合),组合成一个强的分类器,提高分类的准确性. 因此,要想使用AdaBoost,需要首先找几个弱的分类器出来,然后进行组合.这些弱分类器,其实可以自己指定,自己随意给出,但效果就不能保证. 要想通过AdaBoost得到一个准确性高的分类器,需要小心设计这些弱分类器.我自己理解,弱分类器可以采用最简单的形式,即二分法(二元分类器),取一个阈值v,某个特征

C++11 lambda的理解

C++11 的 lambda 表达式规范如下: [ capture ] ( params ) mutable exception attribute -> ret { body } (1) [ capture ] ( params ) -> ret { body } (2) [ capture ] ( params ) { body } (3) [ capture ] { body } (4) // 简单的例子// 这个例子有2个参数x和y 返回x+y [](int x,int y){ ret

【NS2】NS2中802.11代码深入理解—packet传输的流程(转载)

如何传送一个封包(How to transmit a packet?)首先,我们要看的第一个function是在mac-802_11.cc内的recv( ),程式会先判断目前呼叫recv( )这个packet的传输方向,若是DOWN,则表示此packet是要送出去的,因此就会再呼叫send(p, h).所以接着,我们跳到send( ),此send( )首先会去检查energy model,若是目前这个node是在睡眠状态(sleep mode),则把此packet给丢弃.然后会把handler

编译器架构的王者LLVM——(11)深入理解GetElementPtr

LLVM平台,短短几年间,改变了众多编程语言的走向,也催生了一大批具有特色的编程语言的出现,不愧为编译器架构的王者,也荣获2012年ACM软件系统奖 -- 题记 版权声明:本文为 西风逍遥游 原创文章,转载请注明出处 西风世界 http://blog.csdn.net/xfxyy_sxfancy 深入理解GetElementPtr LLVM平台,和C语言极为类似,强类型,需要复杂的指针操作,基于系统的符号调用等.而LLVM的指针操作指令,GetElementPtr,几乎是所有指针计算的关键,而理

CentOS 7 Linux基本命令(11)深入理解Linux文件系统与日志

深入理解Linux文件系统与日志 一.inode和block概述 文件数据包括元信息与实际数据 元信息:文件的属性信息实际数据:文件内容 文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节 block(块) 连续的8个扇区组成一个block(4k)是文件存取的最小单位 inode(索引节点) 也叫i节点用于存储文件元信息 1.indoe的内容 inode包含文件的元信息 (1)文件的字节数(2)文件拥有者的User ID(3)文件的Group ID(4)文件的读.写.

第11条:理解objc_msgSend的作用

要点 消息由接收者.选择子及参数构成.给某对象“发送消息”(invoke a message)也就相当于在该对象上“调用方法”(call a method). 发给某对象的全部消息都要由“动态消息派发系统”(dynamic message dispatch system)来处理,该系统会查出对应的方法,并执行其代码.

java 第11节 深入理解字符串

2016-06-29 1 字符串处理 求子串. helloworld String str="helloworld"; //5<= n <9 //str=str.substring(5,10); str=str.substring(0,5); package com.java1995; /** * 求子串 * @author Administrator * */ public class TestString { public static void main(String

深入理解 Javascript 面向对象编程(转)

一:理解构造函数原型(prototype)机制 prototype是javascript实现与管理继承的一种机制,也是面向对象的设计思想.构造函数的原型存储着引用对象的一个指针,该指针指向与一个原型对象,对象内部存储着函数的原始属性和方法:我们可以借助prototype属性,可以访问原型内部的属性和方法. 当构造函数被实列化后,所有的实例对象都可以访问构造函数的原型成员,如果在原型中声明一个成员,所有的实列方法都可以共享它,比如如下代码: // 构造函数A 它的原型有一个getName方法 fu

深入理解Javascript面向对象编程

阅读目录 一:理解构造函数原型(prototype)机制 二:理解原型域链的概念 三:理解原型继承机制 四:理解使用类继承(继承的更好的方案) 五:建议使用封装类实现继承 六:理解使用复制继承 回到顶部 一:理解构造函数原型(prototype)机制 prototype是javascript实现与管理继承的一种机制,也是面向对象的设计思想.构造函数的原型存储着引用对象的一个指针,该指针指向与一个原型对象,对象内部存储着函数的原始属性和方法:我们可以借助prototype属性,可以访问原型内部的属