习题提示
15.1:
(1)为简化,对数据集样本的可取否定形式的属性进行“二值化”处理,如,“纹理”属性,其取值有“清晰”、“稍糊”和“模糊”三值,其中,“清晰”占比最高,取:
f
:
(
纹理=清晰
)
f:(\text{纹理=清晰})
f:(纹理=清晰)
而将“(纹理=稍糊)、(纹理=模糊)”都归入到如下否定形式中:
¬
f
:
¬
(
纹理=清晰
)
\lnot f:\lnot (\text{纹理=清晰})
¬f:¬(纹理=清晰)
(2)再自顶向下生成命题规则集,方法参见【西瓜书图15.1】示例。
15.2:
(1)“自底向上”是指从“特殊”到“一般”(泛化),极端情况下,训练样本较少时,将每个样本都视为一条规则,得到一个规则集(即初始化),再对该 规则集进行“整合”,化简成条目少的规则集。
(2)引入变量(编号)间的关系【西瓜书表15.1】所示,则可用ILP方法。
15.3:
我们已经描述了RIPPER的来龙去脉,参见15.5 剪枝优化(预剪枝(阻止生长)和后剪枝(“由长变短”)),依【西瓜书图15.2】RIPPER算法编程。
15.4:
基于序贯覆盖算法,在生成时或在“剪枝”时,需要进行评估,而评估涉及到属性值的占比,当属性值有缺省时,利用“不缺省”的子集中的点比作为“缺省”子集中的占比的近似值,从而进行相关的评估,参见【西瓜书p.86】。
15.5:
结合上述15.1题及15.3题的相关要点进行处理即可。
15.6:
可以将“更坏
(
X
,
Y
)
(X,Y)
(X,Y)”(
X
X
X比
Y
Y
Y坏)变为“更好
(
Y
,
X
)
(Y,X)
(Y,X)”(
Y
Y
Y比
X
X
X好),从而转变为可使用【西瓜书中例子】的思路。
15.7:
可以从集合论的观点来定义LGG:
设
{
r
1
⊆
R
k
r
2
⊆
R
k
\begin{align*} \begin{cases} \boldsymbol{r}_1\subseteq R_k\\ \boldsymbol{r}_2\subseteq R_k\\ \end{cases} \end{align*}
{r1⊆Rkr2⊆Rk
则
r
1
\boldsymbol{r}_1
r1的
r
2
\boldsymbol{r}_2
r2的LGG为:
L
G
G
=
∩
k
R
k
LGG=\mathop{\cap }\limits_kR_k
LGG=k∩Rk
显然,对
∀
\forall
∀有:
R
r
⊇
L
G
G
R_r\supseteq LGG
Rr⊇LGG
若有
r
′
\boldsymbol{r}'
r′能特化为
r
1
,
r
2
\boldsymbol{r}_1,\boldsymbol{r}_2
r1,r2,则:
{
r
1
⊆
r
′
r
2
⊆
r
′
\begin{align*} \begin{cases} \boldsymbol{r}_1\subseteq \boldsymbol{r}'\\ \boldsymbol{r}_2\subseteq \boldsymbol{r}'\\ \end{cases} \end{align*}
{r1⊆r′r2⊆r′
这说明
r
′
\boldsymbol{r}'
r′为上述某个
R
k
R_k
Rk(设为
r
′
=
R
t
\boldsymbol{r}'=R_t
r′=Rt),则有:
L
G
G
=
r
′
∩
∩
k
≠
t
R
k
LGG=\boldsymbol{r}'\cap\mathop{\cap }\limits_{k\neq t}R_k
LGG=r′∩k=t∩Rk,即:
L
G
G
⊆
r
′
\begin{align} LGG\subseteq\boldsymbol{r}' \tag{1} \end{align}
LGG⊆r′(1)
若
r
′
\boldsymbol{r}'
r′又能泛化成为
r
1
,
r
2
\boldsymbol{r}_1,\boldsymbol{r}_2
r1,r2的LGG,则:
r
′
⊂
L
G
G
\begin{align} \boldsymbol{r}'\subset LGG \tag{2} \end{align}
r′⊂LGG(2)
式(1)与(2)矛盾,故得证。
15.8:
参考【西瓜书p.358-359】,(1)将规则头尽可能地变量化,如,从“更好
(
1
,
Y
)
(1,Y)
(1,Y)”到“更好
(
X
,
Y
2
)
(X,Y_2)
(X,Y2)”,得到一条LGG;(2)将数据集中,上述LGG所覆盖的样例删除,得到新的数据集,在新的数据集上再求LGG,直到数据集为空,则得到一个LGG集合。
15.9:
MGU为最一般合一化子。
(1)当一阶原子公式中无递归定义的公式时:
对 S S S提取公因子后为: S ′ = { E 1 ′ , E 2 ′ , ⋯ , E n ′ } S'=\{E'_1,E'_2,\cdots,E'_n\} S′={E1′,E2′,⋯,En′},对 S ′ S' S′中使用置换 θ k = X k Y k \theta _k=\frac{X_k}{Y_k} θk=YkXk,促使 S ′ S' S′中又有公因子提取,如此反复迭代,直至 S ′ S' S′:
(i) 为空,则 M G U = θ 1 ∘ θ 2 ∘ ⋯ θ m MGU=\theta _1\circ \theta _2\circ\cdots \theta _m MGU=θ1∘θ2∘⋯θm。
(ii) 非空,但再无置换可使,则无解。
(2)当一阶原子公式中有递归定义的公式时:
用递归算法建立一颗树,对叶子结点使用上述(1)的算法,若各叶子结点都有解时,设叶子结点的解为 M G U i MGU_i MGUi,则整体的解为 M G U = M G U 1 ∘ M G U 2 ∘ ⋯ M G U T MGU=MGU_1\circ MGU_2\circ\cdots MGU_T MGU=MGU1∘MGU2∘⋯MGUT,若有一个叶子结点无解时,整体无解。
15.10:
开放式研究课题。
(1)在训练集上,训练出足够多的规则,形成规则集 S = { E 1 , E 2 , ⋯ , E n } S=\{E_1,E_2,\cdots,E_n\} S={E1,E2,⋯,En},在过程中不删除样例,而是标记是否被覆盖过,以覆盖新鲜样本多优先的原则选取规则。
(2)当 S S S覆平车了所有训练样例时,则停止训练,转入剪枝优化工作,使规则集简化。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权