新普金娱乐网址


边城奇谈·第五语:池塘里之哭声(中)

极端充分流动, 最小割问题同算法实现

算法笔记_190:历届试题 幸运数(Java)

  • 十月 03, 2018
  • 数学
  • 没有评论

2.2 三栽检索概念空间的算法

特殊到一般 (specific to general)
一般到特殊 (general to specific)
候选解排除 (candidate elimination)
  • 这些算法依赖让变形空间的概念,在产生更多实例不时,可以减小变形空间的大小。
  • 目标:上到的定义不仅可覆盖所有正例,而且能解除有的反例。上面说的Obj(X,
    Y, Z)虽然足挂所有正例,但恐怕最泛化了。
  • 免超泛化(overgeneralization)的章程:
    • 利用尽可能小得泛化,使之徒盖正例
    • 于是反例排除超泛化了得概念
    反例在防止超泛化中的作用

1 问题讲述

题目讲述

万幸数是波兰数学家乌拉姆命名的。它用和生成素数类似的“筛法”生成

第一从1从头写有本数1,2,3,4,5,6,….

1 就是首先只幸运数。

我们于2以此数起。把富有序号能为2打点除之项删除,变为:

1 _ 3 _ 5 _ 7 _ 9 ….

拿它们缩紧,重新记序,为:

1 3 5 7 9 ….
。这时,3吧第2个幸运数,然后将富有能够为3收拾除的序号位置的勤去。注意,是序号位置,不是老大数自己是否让3规整除!!
删除的应当是5,11, 17, …

这7乎第3个幸运数,然后再度去序号位置能吃7收拾除之(19,39,…)

说到底剩余的队列类似:

1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37,
43, 49, 51, 63, 67, 69, 73, 75, 79, …

输入格式

输入两单正整数m n, 用空格分开 (m < n
< 1000*1000)

出口格式

次输出
位于m和n之间的大幸数之个数(不包含m和n)。

样例输入1

1 20

样例输出1

5

样例输入2

30 69

样例输出2

8

 

 

 


3. 决策树

2 解决方案

 图片 1

 

具体代码如下:

 

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static int n, m;

    public void getResult() {
        ArrayList<Integer> number = new ArrayList<Integer>();
        for(int i = 0;i < n  + 5;i++)
            number.add(i);
        ArrayList<Integer> temp = new ArrayList<Integer>();
        temp.add(0);
        for(int i = 1;i < number.size();i++) {
            if(i % 2 != 0)
                temp.add(number.get(i));
        }
        number = temp;
        int k = 2;
        while(true) {
            int a = number.get(k++);
            temp = new ArrayList<Integer>();
            temp.add(0);
            for(int i = 1;i < number.size();i++)
                if(i % a != 0)
                    temp.add(number.get(i));
            number = temp;
            if(a > number.size())
                break;
        }
        int count = 0;
        for(int i = 0;i < number.size();i++) {
            if(number.get(i) > m && number.get(i) < n)
                count++;
            else if(number.get(i) >= n)
                break;
        }
        System.out.println(count);
    }

    public static void main(String[] args) {
        Main test = new Main();
        Scanner in = new Scanner(System.in);
        m = in.nextInt();
        n = in.nextInt();
        test.getResult();
    }
}

 

3.3.1 奥卡姆剃刀(Occam’s Razor)

奥卡姆剃刀最早是由于逻辑数学家William of Occam于1324年提出的:

It is vain to do with more what can be done with less. . . . Entities
should not be multiplied beyond necessity.

大概点说,找到会符合数据的最好简便的解!

 


1. 概念学习

目录

1 style=”font-family: 宋体;”>问题讲述

2 style=”font-family: 宋体;”>解决方案

1.1 一栽普遍的上学方式 — 泛化(generalization)

  • 泛化的概念
  • 起集合的角度:表达式P比表达式Q更泛化,当且仅当P ⊇ Q
  • 仍我们好拿
    排球,篮球,足球 ==(泛化为)==>球类或者运动
  • 机器上中关键的泛化操作发生:
  • 变量替换常量
  • 打合取表达式中失去丢一部分谱
  • 对表达式增加一个析取式
  • 用性的超类替换属性
3.2.4 CART

CART (Classification and Regression Trees) is very similar to C4.5, but
it differs in that it supports numerical target variables (regression)
and does not compute rule sets. CART constructs binary trees using the
feature and threshold that yield the largest information gain at each
node.

3.3.4 评价ID3

尽管ID3算法产生简单的决策树(包括根结点,决策结点和叶结点),但这种树对预测未知实例的归类不显现得自然有效。

2.2.1 特殊到一般
  • 保障一个比方集S (即候选概念定义集)
  • 极致奇特的泛化(Maximally specific generalization)
    一个概念c是不过出格之,如果:
    ① 盖有正例,而休掩反例
    ② 对于具有其他覆盖正例的概念c’, c ≤ c’

鉴于特别到一般的查找

3.2.2 C4.5

C4.5 is the successor to ID3 and removed the restriction that features
must be categorical by dynamically defining a discrete attribute (based
on numerical variables) that partitions the continuous attribute value
into a discrete set of intervals. C4.5 converts the trained trees (i.e.
the output of the ID3 algorithm) into sets of if-then rules. These
accuracy of each rule is then evaluated to determine the order in which
they should be applied. Pruning is done by removing a rule’s
precondition if the accuracy of the rule improves without it.

3.1 什么是决策树?

机械上中,决策树凡一个预计模型;他意味着的是目标属性(property)与对象值(value)之间的一律种照关系。树被每个节点意味着有对象,而每个分开路径则表示的有可能的属性值,而每个叶结点虽然针对许于根节点及该叶节点所涉之路子所表示的靶子的值。决策树仅来单纯输出,若用来复数输出,可以成立独立的裁决树为处理不同输出。
-来自 Wikipedia

  • 决定树好分为分类树回归树,分别对于离散变量和连续变量。
  • 更略点说不怕是,建立平等株能将具备训练多少开展科学分类的树型结构。

下面举个简易的例证助于理解。对于估计个人信用风险(risk)问题,要基于这样局部性质,比如信用历史(credit
history)、现阶段债务(debt)、抵押(collateral)和收入(income)。下表列出了都知道信用风险的民用的样书。

早已清楚信用风险的私家的样本

冲上面的音,我们得获取下面有数独不同的决策树。

决策树 A

决策树 B

咱俩可以发现,虽然简单株决策树都能对给定实例集进行科学分类,但是决策树B要比决策树A概括得多。可见,对被定实例集分类所必要的扶植之尺寸,仍测试属性的相继而不同。

3.3.2 ID3算法的基本思路

于定训练实例集和力所能及针对其对分类的一样组不同之决策树,我们想只要懂呀棵树对未来实例正确分类的可能最特别。ID3算法假定可能最要命之树是能够覆盖所有训练实例的最简易的表决树
注:ID3免可知管每次都坏成极小的培育,只是同栽启发式算法

ID3下自顶向下决定树归纳(Top-Down Decision Tree Induction):

  • 首先确定哪一个性作为根节点(root node)的测试
  • 择分类能力最好的(信息增益最特别)属性,作为目前节点(current
    node)的测试
  • 就此这测试来分实例集,该属性的诸一个或价值都变成一个划分(partition)
  • 对于每一个划分重复上述过程,建立其子树
  • 以至于一个分割中之拥有成员以一如既往类别着,这个类别成为树的叶节点(leaf
    node)

注:我们好拿具有可能的仲裁树集合看成是概念一个变形空间(version
space)。ID3于装有的或许培育的上空中落实均等种植贪婪搜索,对当下培育多一个子树,并持续搜寻,而且不回溯

2. 变形空间搜索

Version space search (Mitchell 1978, 1979, 1982) illustrates the
implementation of inductive learning as search through a concept
space.

说白了就是于训练实例可以死成一个概念空间,比如达图。然后再次由概念空间中搜索一个能覆盖有概念的概念。
比如上图的Obj(X, Y, Z)。

3.2.3 C5.0

C5.0 is Quinlan’s latest version release under a proprietary license. It
uses less memory and builds smaller rulesets than C4.5 while being more
accurate.


3.2 常见的确立决策树的算法

2.1 变形空间(version space)的定义

2.3.1 优点
  • 候选解排除算法是增量式的(incremental),所以不同为任何的算法需要在学之前被起所有训练实例

3.3 ID3算法详解

2.2.3 候选解排除
  • 候选解排除法综合上面两栽方法,双向搜索
  • 护卫少只候选概念集合S和G
  • 算法特化G并泛化S直到它们没有在对象概念上

Screenshot at May 04 00-40-53.png

3.4 评估决策树

  • 决策树适用于距离散型数据,变量的结果是零星集合。
  • 优点
    • 表决树计算复杂度不赛,便于使用,高效!
    • 决策树得拍卖具有无系特征的数据。
    • 核定树得十分易之构造出一致多样易于理解的条条框框。
  • 缺点
    • 处理缺失数据,坏数据的及连续型数据的不方便。
    • 特别的数据集可能会见有很老之决策树。
    • 不经意了数码集中性之间的涉。
    • 过分拟合(涉及到剪枝)
2.3.2 缺点
  • 诸如任何搜索问题同,基于搜索的学习要处理问题空间的联结问题
  • 候选解排除算法是匪能够生噪音(noise)的

3.2.1 ID3

ID3 was developed in 1986 by Ross Quinlan. The algorithm creates a
multiway tree, finding for each node (i.e. in a greedy manner) the
categorical feature that will yield the largest information gain for
categorical targets. Trees are grown to their maximum size and then a
pruning step is usually applied to improve the ability of the tree to
generalise to unseen data.

下文会重点介绍ID3算法

2.3 评估候选解排除算法

参考文献

  1. Artificial Intelligence,6th
    Edition
  2. 从决定树学道到贝叶斯分类算法、EM、HMM
  3. 机械上藏算法详解及Python实现–决策树(Decision
    Tree)
  4. Scikit-learn
    文档

1.2 通过泛化进行概念学习

  • 嗬是覆盖(covering)?
    苟说概念P比概念q更泛化,我们就是说p覆盖q

  • 概念空间(concept space)的概念

  • 概念空间是局部地下的概念集合

  • 潜在概念(potential concept / candidate
    concept)是由泛化、特化等上道有的
    下图虽是一个具如下属性和价值的object的概念空间
    Size = {small, large}
    Color = {red, white, blue}
    Shape = {ball, brick, cube}

概念空间

从下至上是一个泛化的历程,比如Obj(X, Y, ball)就可以覆盖Obj(X, red,
ball)和Obj(small, X, ball)等等,这也是经泛化就行概念学习的体现。


3.3.3 如何判定最佳分类属性

ID3算法是出于Quinlan首先提出的,该算法是为信息论(Information
Theory)为底蕴之,ID3由此把每个属性当作当前培养之到底节点来度量信息增益,然后算法选取提供极致要命信增益的属性。

① 信息增益的胸怀标准 – (Entropy)
熵主要是借助信息之混乱程度,变量的不确定性越怪,熵的值吗就是越是充分。
变量的不确定性主要得反映于点滴个点:

  • 也许信息的数额
    简单易行地说,掷硬币有一定量种或信息(正面或反面),掷筛子有六栽可能信息(1,2,3,4,5,6),所以对预测筛子的音讯对咱们还有价:掷筛子游戏赢钱又多。
  • 各个条消息出现的票房价值
    简单易行地说,如果我们而对掷硬币作弊使她正面出现的概率为3/4。那么既然自己曾明白猜正面的几率为3/4,告诉自己投硬币结果的信息就非苟关于无作弊的硬币的音再次有价。(后面说了实际算)

综上,给一定消息空间M = {m1, m2, …..}以及相应的概率P(mi),熵的公式为:

熵的公式

不作弊与舞弊的熵计算如下:

匪作弊的熵值计算

作弊后的熵值计算

啊作弊熵值更怪,掷硬币的音信还起价!!!

② 信息增益(Information Gain)
设来训练实例集C。如果我们透过属性P作为当下培育之根结点,将将C分成子集{C1,
C2, C3 …..}。再把P当作跟结点完成培训所待的信的巴也:

做到培训所需要的音讯之想

所以打隶属性P得到的增益通过养之说到底信息量减去成功培训的信要来计算:

信增益

或举信用风险的例证,P(low)=5/14,
P(moderate)=3/14,P(high)=6/14。所以究竟信息量计算如下:

毕竟信息量

比方管收入(income)作为培育之根结点,表中的实例被细分为C1 = {1,4,7,11}、C2
= {2,3,12,14}和C3 = {5,6,8,9,10,13}。

决策树的同一有些

做到培训所待的期望值也:

完成培训所需要的想望值

最后,gain(income) = 1.531 – 0.564 = 0.967 bits
接近的,可以取:

属性 信息增益(bits)
gain(credit history) 0.266
gain(debt) 0.063
gain(collateral) 0.206

鉴于低收入提供了最可怜的信增益,所以ID3晤择它看做根结点。

目录##\

1. 概念学习 (concept
learning)
2. 变形空间搜索 (Version space
search)
3. 决策树 (Decision tree)


2.2.2 一般到特
  • 保安一个假设集G(即候选概念集合)
  • 最相似概念(Maximally general concept)
    一个概念c是极相似的,如果:
    ① 蒙所有正例,而休掩反例
    ② 对于自由其他未掩盖反例的定义c’, c ≥ c’

下图的背景为:
size = {large, small}
color = {red, white, blue}
shape = {ball, brick, cube}
故此是因为第一单反例我们可特化出:
size不能是small => obj(large, Y, Z)
color不能是red => obj(X, white, Z) 和 obj(X, blue, Z)
shape不能是brick =>obj(X, Y, ball) 和 obj(X, Y, cube)

由于一般到非常之摸

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图