学习adaboost(三,第二次迭代,c#实现)

这篇具有很好参考价值的文章主要介绍了学习adaboost(三,第二次迭代,c#实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们改进了第一次迭代:第二次迭代如下:因为三个弱分类器都是犯了3次错误,我们故意选了y>6.5,标签=1,else,标签=-1;第一个弱分类器已经选了,再选一次没意义,不会有任何进展,和第一次迭代一模一样。先看代码:

   float[] 第er个弱分类器jieguo = new float[] { -1, -1, -1, -1, 1,-1, 1, 1, 1, -1 };
            float[] 最初的标签样本       = new float[] {  1,  1, -1, -1, 1, -1, 1, 1, -1, -1 };
            //以上两个数组相乘,ok为1,ng为-1,
            //1,2,9分错值为-1,数组序号0,1,8
            //第一个弱分类器的错误率0.16*3=0.48
            //第二个弱分类器的错误率0.07*3=0.21,0.21<0.48,所以选第二个弱分类器作为第二次迭代,并且更新dataP。
            for (int j = 0; j < example.Count; j++)
            {
                if (第er个弱分类器jieguo[j] * 最初的标签样本[j] == -1.0f)
                {
                    //分错的变大
                    dataP[j] = dataP[j] / (2 * (3 * 0.07f));
                }
                if (第er个弱分类器jieguo[j] * 最初的标签样本[j] == 1.0f)
                { //分对的变小
                    dataP[j] = dataP[j] / (2 * (1 - 3 * 0.07f));
                }               
            }
            //计算a2=1/2ln((1-e)/e)
            double a2 = 0.5 * Math.Log(0.79 / 0.21);
          //  float[] jieguo2 = new float[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            for (int i = 0; i < 10; i++)
            {
                if (a2 * 第er个弱分类器jieguo[i]+ a1 * 第一个弱分类器jieguo[i] > 0)
                    jieguo[i] = 1;
                if (a2 * 第er个弱分类器jieguo[i]+ a1 * 第一个弱分类器jieguo[i] < 0)
                    jieguo[i] = -1;
                if (a2 * 第er个弱分类器jieguo[i]+ a1 * 第一个弱分类器jieguo[i] == 0)
                    jieguo[i] = 0;
            }

看第一次迭代后的权重变化:

学习adaboost(三,第二次迭代,c#实现)

第二次迭代完成后,对比如下:

学习adaboost(三,第二次迭代,c#实现)

明显,1,2,9项分错了。我们继续计算a2:

学习adaboost(三,第二次迭代,c#实现)

 继续计算第二个强分类器(两个弱分类器组合,结果仍不能达标,继续级联第三个,如果还不行,继续第四个,犯错误为4的可选):

学习adaboost(三,第二次迭代,c#实现)

 ok,这一节也算完成了。

 文章来源地址https://www.toymoban.com/news/detail-499467.html

 

到了这里,关于学习adaboost(三,第二次迭代,c#实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学习c#的第二十四天

    目录 C# 事件(Event) 事件概述 如何订阅和取消订阅事件 以编程方式订阅事件 使用匿名函数订阅事件 取消订阅 如何发布符合 .NET 准则的事件 发布基于 EventHandler 模式的事件 如何在派生类中引发基类事件 如何实现接口事件 如何实现自定义事件访问器 示例 事件(Event) 基本

    2024年02月04日
    浏览(31)
  • 基于halcon实现视觉定位框架(C#做主算法,C#、MFC、Qt二次开发)【附源码】

    本文主要实现halcon二次开发,基于C#做视觉算法的编辑,已C#做用户空间,然后使用C#、C++(MFC、Qt)分别实现调用,从而实现多相机的使用。 换句话说就是:C#做算法及主界面开发,然后把生成的控件dll移交给C#或者MFC或者QT进行二次调用实现二次开发,这里主要想展示的是多

    2024年01月19日
    浏览(69)
  • 区间预测 | Matlab实现LSTM-Adaboost-ABKDE的集成学习长短期记忆神经网络自适应带宽核密度估计多变量回归区间预测

    效果一览 基本介绍 1.Matlab实现LSTM-Adaboost-ABKDE的集成学习长短期记忆神经网络结合自适应带宽核函数密度估计的多变量回归区间预测(完整源码和数据) 2.LSTM-Adaboost-ABKDE的集成学习长短期记忆神经网络结合自适应带宽核函数密度估计的多变量回归区间预测(点预测+概率预测

    2024年01月17日
    浏览(34)
  • 2023-7-19-第二十式迭代器模式

    🍿*★,°*:.☆( ̄▽ ̄)/$:*.°★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下,下次更新不迷路💟💟 😆😆😆私聊获取个人订阅号哦,欢迎订阅共同学习😆😆😆 💖💖💖💖可以加入大家庭群聊,一起学习天天有福利💖💖💖💖 设计方

    2024年02月16日
    浏览(21)
  • 第二次博客作业

    这是第二次博客作业,总结了近三次PTA大作业的完成情况,这三次的大作业难度逐渐增大,完全理不清逻辑,真的越想越混乱,代码写的也是很乱,没有一个整体的框架结构,读起来很困难,没有学到java程序编写的真谛,总之对于我,一个逻辑很差很差的人来说,越来越复杂

    2024年02月05日
    浏览(44)
  • RHCE第二次作业

    问题:如何让两台虚拟机相互免密登录 (1)server2虚拟机配置 先查看其ip地址,IP地址为192.168.119.131  让server2免密登录到REDHAD_ROOT 结果 (2)REDHAD_ROOT配置 先查看其ip地址,IP地址为192.168.119.130 让REDHAD_ROOT免密登录到server2  结果

    2024年02月08日
    浏览(34)
  • 安全第二次

    一,iframe   iframe标签用于在网页里面嵌入其他网页。     1,sandbox属性     如果嵌入的网页是其他网站的页面,因不了解对方会执行什么操作,因此就存在安全风险。为了限制iframe的风险,HTML 提供了sandbox属性 。 allow-forms:允许提交表单。 allow-modals:允许提示框,即允许

    2024年02月12日
    浏览(30)
  • MySQL第二次

    作业要求: 作业代码实现: 结果:

    2024年01月16日
    浏览(38)
  • 第八篇:强化学习值迭代及代码实现

    你好,我是郭震(zhenguo) 前几天我们学习强化学习策略迭代,今天,强化学习第8篇:强化学习值迭代 值迭代是强化学习另一种求解方法,用于找到马尔可夫决策过程(MDP)中的最优值函数。 值迭代 值迭代可以总结为如下几点: 值迭代通过不断迭代更新值函数来逼近最优值

    2024年02月08日
    浏览(31)
  • web前端(第二次作业)

    1、计算用户指定的数值内的奇数和。例如用户输入的是 10,则计算 1 + 3 + 5 + 7 + 9 的和 运行截图: 2.使用递归计算 1 ~ 100 的和 运行结果;

    2024年01月17日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包