Computer Science Theory for the Information Age-6: 学习理论——VC定理的证明

时间:2022-08-31 10:56:08

VC定理的证明

本文讨论VC理论的证明,其主要内容就是证明VC理论的两个定理,所以内容非常的枯燥,但对于充实一下自己的理论知识也是有帮助的。另外,VC理论属于比较难也比较抽象的知识,所以我总结的这些证明难免会有一些错误,希望各位能够帮我指出。

(一)简单版本的VC理论

给定一个集合系统$(U,\mathcal{S})$,VC理论可以解决以下问题。对于一个在$U$上的分布$P$,那么至少需要选择多少个样本(根据分布$P$选择),才能使对每个$S\in\mathcal{S}$,用样本估计出来的值以很高的概率接近于$P(S)$,即:

\begin{equation}\mathop{Pr}\left\{|\frac{|S\cap T|}{|T|}-P(S)|<\epsilon\text{ for all }S\in\mathcal{S}\right\}\geq 1-\delta\label{equ:1}\end{equation}

首先,先证明两个不等式。

引理一:如果$y\geq x\mathop{ln}x$且$x>3$,那么$\frac{2y}{\mathop{ln}y}\geq x$。

证明:由$y=x\mathop{ln}x\Longrightarrow \frac{2y}{\mathop{ln}y}=\frac{2x\mathop{ln}x}{\mathop{ln}x+\mathop{ln}\mathop{ln}x}\geq\frac{2x\mathop{ln}x}{2\mathop{ln}x}=x$.

令$f(y)=\frac{2y}{\mathop{ln}y}$,则$f^\prime(y)=\frac{2\mathop{ln}y-2}{(\mathop{ln}y)^2}$。当$x>3, y\geq x\mathop{ln}x>3$时,$f^\prime(y)>0$,所以$f(y)$为增函数。

所以$f(y)\geq f(x\mathop{ln}x)\Longrightarrow\frac{2y}{\mathop{ln}y}\geq\frac{2x\mathop{ln}x}{\mathop{ln}x+\mathop{ln}\mathop{ln}x}\geq x$。

引理二:如果$z\geq 2$,那么$5z\mathop{ln}z\geq z\mathop{ln}(16z)$。

证明:令$f(z)=5z\mathop{ln}z-z\mathop{ln}(16z)$,所以

$$f^\prime(z)=5\mathop{ln}z+5-\mathop{ln}(16z)-1=4\mathop{ln}z+4-\mathop{ln}16=4\mathop{ln}z+4-4\mathop{ln}2$$

当$z\geq 2$时,$f^\prime(z)>0$,所以$f(z)$为增函数。所以$f(z)\geq f(2)=10\mathop{ln}2-2\mathop{ln}32=0$,即$5z\mathop{ln}z\geq z\mathop{ln}(16z)$。

下面我们先证明一个简单版本的VC定理:

定理一:令$(U,\mathcal{S})$为一个集合系统,其对应的VC维为$d$,令$P$为集合$U$上的分布。令$T$为大小为$m$的样本,其样本点是根据分布$P$从集合$U$中独立随机采样得到的。对于$\epsilon\leq 1$且$m\in \Omega(\frac{d}{\epsilon}\mathop{log}\frac{d}{\epsilon})$(这里$\Omega(n)$表示$n$的多项式),有以下不等式成立:

\begin{equation}\mathop{Pr}\{P(S)\geq\epsilon\text{ for all }S\cap T=\varnothing, S\in\mathcal{S}\}\leq 4e^{-\frac{m\epsilon}{4}}\label{equ:thm1}\end{equation}

证明:如果我们只关心一个$S,P(S)\geq\epsilon$且$T\cap U=\varnothing$的概率,即$\mathop{Pr}\{P(S)\geq\epsilon\text{ for }T\cap S=\varnothing\}$。这个概率将非常的小,但由于$\mathcal{S}$的个数有可能有无穷多个,因此用联合界无法来界定它的上界。

这里我们先介绍“双样本“技术。将样本$T$记为$T_1$。对于某一特定集合$S_0\in\mathcal{S}$,满足$P(S_0)\geq\epsilon$且$S_0\cap T_1=\varnothing$。另外,我们在独立的抽取第二个样本$T_2,|T_2|=m$,则此时$T_2$中包含两种类型的样本点,一种是在$S_0$中,一种是不在$S_0$中,所以对于随机变量$|T_2\cap S_0|\sim B(m,P(S_0))$,所以根据Chernoff Bound可得如下不等式:

\begin{align*}\mathop{Pr}\{|T_2\cap S_0|\leq\frac{\epsilon m}{2}\}&\leq\mathop{Pr}\{|T_2\cap S_0|\leq\frac{P(S_0)m}{8}\}=\mathop{Pr}\{|T_2\cap S_0|\leq(1-\frac{1}{2})\mu\}\\&\leq exp(-\frac{\mu}{8})=exp(-\frac{mP(S_0)}{8})\leq exp(-\frac{m\epsilon}{8})\end{align*}

所以$T_2$至少有$\frac{\epsilon m}{2}$个样本点来自$S_0$的概率非常的高。

这里我们可以这样理解,第一次我们非常不幸运,选择到的样本点完全没有包含$S_0$,而第二次我们总能取到一个样本包含$S_0$中的点至少$\frac{m\epsilon}{2}$个。现在,我们把两个过程结合起来,先随机选取一个样本$W,|W|=2m$,然后在从$W$中选取$m$个样本点成为$T_1$,剩下的点组成$T_2$,很显然这与先选$T_1$,在选$T_2$所产生的分布是一样的。

我们的证明过程将分成三步:

1. 先定义两个事件。事件$E_1$表示:$\exists S\in\mathcal{S}$满足$P(S)\geq \epsilon, |S\cap T_1|=\varnothing$。

事件$E_2$表示:$\exists S\in\mathcal{S}$满足$P(S)\geq \epsilon, |S\cap T_1|=\varnothing$且$|S\cap T_2|\geq\frac{\epsilon}{2}m$。

2. 根据上述定义,我们要证明的是事件$E_1$发生的概率很小,即定理中的不等式等价于证明存在满足条件$P(S)\geq \epsilon, |S\cap T_1|=\varnothing$的$S\in\mathcal{S}$概率很小。所以第二步是证明事件$E_1$发生的概率很小,即证$P(E_1)$的上界。

由上面的分析,我们可以知道,当事件$E_1$发生时,事件$E_2$发生的概率很大,即$P(E_2|E_1)$非常大。若合适的选择较小的$\epsilon$,我们可以认为$P(E_2|E_1)\geq\frac{1}{2}$。由贝叶斯公式可知:

$$\mathop{Pr}(E_2)=\mathop{Pr}(E_2|E_1)\mathop{Pr}(E_1)+\mathop{Pr}(E_2|\bar{E}_1)\mathop{Pr}(\bar{E}_1)\geq\mathop{Pr}(E_2|E_1)\mathop{Pr}(E_1)\geq\frac{1}{2}\mathop{Pr}(E_1)$$

即$\mathop{Pr}(E_1)\leq2\mathop{Pr}(E_2)$。所以我们可以通过证明$P(E_2)$来证明$P(E_1)$。

3. 故第三步即证明$P(E_2)$的上界。

$P(E_2)$的上界是用双样本方法来界定的。首先,我们先根据分布$P$选择样本大小为$m$的样本$T_1$,然后在选择样本大小为$m$的样本$T_2$。这样选择样本的方法等价与根据分布$P$选择大小为$2m$的样本,然后选择其中的$m$个样本点做为$T_1$,剩下的$m$个做为$T_2$。

设事件$E_3$表示:$|W\cap S|\geq\frac{\epsilon m}{2}$。

所以$P(E_2)=P(E_2|E_3)P(E_3)+P(E_2|\bar{E}_3)P(\bar{E}_3)$,由于若事件$E_3$不发生,则事件$E_2$也必然不会发生,所以$P(E_2)=P(E_2|E_3)P(E_3)$。

在$E_3$发生的情况下,将样本$W$分成两部分,$B_1: |B_1|=\frac{\epsilon m}{2}, B_1\subseteqq(S\cap W)$;$B_2: W-B_1$。记$T^{(m)}$为样本长度为$m$的所有样本集合$|T^{(m)}|=\binom{2m}{m}$,记$T^{\prime(m)}$表示样本长度为$m$且其中的样本点都属于$B_2$的所有样本集合,$T^{\prime(m)}\subseteqq T^{(m)}$且$|T^{\prime(m)}|=\binom{2m-\frac{\epsilon m}{2}}{m}$。

现在来求$P(E_2|E_3)$,即在$E_3$发生的情况下,我们在$W$中任取一个样本$T_1\in T^{(m)}$,则$E_2$发生的概率为:

\begin{align*}P(E_2|E_3)&=\sum_{T_1\in T^{(m)}} P((E_2|T_1)|E_3)P(T_1|E_3)\\&=\sum_{T_1\in T^{(m)}} P((E_2|T_1)|E_3)\frac{1}{\binom{2m}{m}}  (E_3\text{ 发生与否不影响样本的选取})\\&=\sum_{T_1\in T^{\prime(m)}} P((E_2|T_1)|E_3)\frac{1}{\binom{2m}{m}}+\sum_{T_1\in(T^{(m)}-T^{\prime(m)})}P((E_2|T_1)|E_3)\frac{1}{\binom{2m}{m}}\\&=\sum_{T_1\in T^{\prime(m)}} P((E_2|T_1)|E_3)\frac{1}{\binom{2m}{m}} (\text{因为当 }T_1\in(T^{(m)}-T^{\prime(m)})\text{时,}E_2\text{不可能发生})\\&\leq\binom{2m-\frac{\epsilon m}{2}}{m}\frac{\max_{T_1\in T^{\prime(m)}}P((E_2|T_1)|E_3)}{\binom{2m}{m}}\leq\frac{\binom{2m-\frac{\epsilon m}{2}}{m}}{\binom{2m}{m}}\end{align*}

所以,

$$P(E_2)\leq P(E_2|E_3)\leq \frac{\binom{2m-\frac{\epsilon m}{2}}{m}}{\binom{2m}{m}}$$

上面所求的是一个$S$发生的概率,而所有可能的$W\cap S$的个数最多有$\Pi_{\mathcal{S}}(2m)\leq 2(2m)^d$(参考 上一节)。

所以根据联合界:

$$\mathop{Pr}(E_2)\leq 2(2m)^d2^{-\frac{\epsilon m}{2}}\leq2(2m)^de^{-\frac{\epsilon m}{2}}\leq 2e^{\frac{\epsilon m}{4}}e^{-\frac{\epsilon m}{2}}\leq2e^{-\frac{\epsilon m}{4}}$$

所以$\mathop{Pr}(E_1)\leq 2\mathop{Pr}(E_2)\leq4e^{-\frac{\epsilon m}{4}}$ 。其中,这里要证明$(2m)^d\leq e^{\frac{\epsilon m}{4}}$,即证$d\mathop{ln}(2m)\leq\frac{\epsilon m}{4}$。由于$m\in\Omega(\frac{d}{\epsilon}\mathop{log}(\frac{d}{\epsilon}))$,我们取:

$$m\geq 40\frac{d}{\epsilon}\mathop{log}(\frac{d}{\epsilon})\geq8(5\frac{d}{\epsilon})\mathop{log}(\frac{d}{\epsilon})\leq 8\frac{d}{\epsilon}\mathop{log}(16\frac{d}{\epsilon})$$

其中最后一个不等式用到了引理二,且要求$d\geq 2\epsilon$。因此$2m\geq 16\frac{d}{\epsilon}\mathop{log}(16\frac{d}{\epsilon})$,令$y=2m,x=16\frac{d}{\epsilon}>3$,则根据引理一有:$\frac{4m}{\mathop{ln}(2m)}\geq 16\frac{d}{\epsilon}\Longrightarrow \frac{m\epsilon}{4}\geq d\mathop{ln}(2m)$。证毕!

(二)一般版本的VC理论。

接下去我们在上述定理的基础上来证明更一般的VC定理。首先来定义两个概念:

1. 对于一个样本$T_1$,如果$|\frac{|S\cap T_1|}{|T_1|}-P(S)|>\epsilon$,那么我们就说用样本$T_1$估计$P(S)$的效果很差。

2. 对于一个样本$T_1$,如果$|\frac{|S\cap T_1|}{|T_1|}-P(S)|<\frac{\epsilon}{2}$,那么我们就说用样本$T_1$估计$P(S)$的效果非常好。

定理二:令$(U,\mathcal{S})$为一个集合系统,其对应的VC维为$d$,$P$为集合$U$上的分布。对任何$\epsilon\in [0,1]$,如果$n\in\Omega(\frac{d}{\epsilon^2}\mathop{log}(\frac{d}{\epsilon}))$,并且$T_1$是大小为$n$的样本,其样本点是根据分布$P$从集合$U$中独立随机采样得到的,那么以下不等式成立:

\begin{equation}P(\exists S\in\mathcal{S}: |\frac{|S\cap T_1|}{n}-P(S)|>\epsilon)\leq 8e^{-\frac{\epsilon^2 n}{72}}\label{equ:thm2}\end{equation}

证明:记$E_1: \exists S\in\mathcal{S}: |\frac{|S\cap T_1|}{n}-P(S)|>\epsilon$.

$E_2: \exists S\in\mathcal{S}: |\frac{|S\cap T_1|}{n}-P(S)|>\epsilon$且$|\frac{|S\cap T_2|}{|T_2|}-P(S)|\leq\frac{\epsilon}{2}$.

其中$T_2$是大小为$m=\frac{4n}{\epsilon}$的样本。

同样,我们也可以用Chernoff Bound证明$P(E_2|E_1)$很大,并且认为$P(E_2|E_1)\geq\frac{1}{2}\Longrightarrow P(E_2)\geq\frac{1}{2}P(E_1)\Longrightarrow P(E_1)\leq 2P(E_2)$。所以限定$P(E_1)$的上界相当与限定$P(E_2)$的上界。

我们同样采取双重样本技术,首先选择$n+m$个样本$W$,然后在从$W$中选取$n$个样本点做为$T_1$,剩余的样本点做为$T_2$。

假设$E_2$发生,即存在$S_0\in\mathcal{S}$,$T_1$估计$P(S_0)$效果很差,$T_2$估计$P(S_0)$效果很好。也就是说$W=T_1\cup T_2$估计$P(S_0)$的效果比较好(介于很好与很差之间)。准确的证明如下:

$$|W\cap S_0|\geq |T_2\cap S_0|\geq mP(S_0)-\frac{\epsilon m}{2}(\text{由}|\frac{|S\cap T_2|}{m}-P(S_0)|\leq\frac{\epsilon}{2}\text{推出})$$

所以:

\begin{align*}\frac{|W\cap S_0|}{m+n}&\geq\frac{m}{m+n}P(S_0)-\frac{\epsilon m}{2(m+n)}\geq(1-\frac{n}{m+n})P(S_0)-\frac{\epsilon}{2}\\&\geq P(S_0)-\frac{n}{m+n}P(S_0)-\frac{\epsilon}{2}\geq P(S_0)-\frac{n}{m+n}-\frac{\epsilon}{2}\geq P(S_0)-\frac{3}{4}\epsilon\end{align*}

同样:

$$|W\cap S_0|\leq |T_2\cap S_0|+|T_1|\leq mP(S_0)+\frac{\epsilon m}{2}+n(\text{由}|\frac{|S\cap T_2|}{m}-P(S_0)|\leq\frac{\epsilon}{2}\text{推出})$$

所以:

\begin{align*}\frac{|W\cap S_0|}{m+n}\leq\frac{m}{m+n}P(S_0)+\frac{\epsilon}{2}+\frac{n}{m+n}\leq P(S_0)+\frac{3}{4}\epsilon\end{align*}

综上:$|\frac{|W\cap S_0|}{m+n}-P(S_0)|\leq\frac{3}{4}\epsilon$(这个界比"很好"的界更松)。也就是说,在$|\frac{|S\cap T_2|}{|T_2|}-P(S)|\leq\frac{\epsilon}{2}$成立下$|\frac{|W\cap S_0|}{m+n}-P(S_0)|\leq\frac{3}{4}\epsilon$总是成立的。

即事件$E_3$表示$|\frac{|S\cap T_2|}{|T_2|}-P(S)|\leq\frac{\epsilon}{2}$,即$P(E_2)=P(E_1\cap E_3)$。所以:

$$P(E_2(S_0))=P(E_1(S_0)|E_3(S_0))P(E_3(S_0))\leq P(E_1(S_0)|E_3(S_0))$$

接下去求$P(E_1(S_0)|E_3(S_0))$的上界:

\begin{align*}P(E_1(S_0)|E_3(S_0))&=P(|\frac{|S_0\cap T_1|}{n}-P(S_0)|>\epsilon| |\frac{|S_0\cap T_2|}{m}-P(S_0)|\leq\frac{\epsilon}{2})\\&=P(|\frac{|S_0\cap T_1|}{n}-P(S_0)|>\epsilon| |\frac{|W\cap S_0|}{m+n}-P(S_0)|\leq\frac{3}{4}\epsilon)\\&=P(\frac{|S_0\cap T_1|}{n}-P(S_0)>\epsilon | \frac{|W\cap S_0|}{m+n}-\frac{3}{4}\epsilon\leq P(S_0)\leq\frac{|W\cap S_0|}{m+n}+\frac{3}{4}\epsilon)\\&\quad + P(\frac{|S_0\cap T_1|}{n}-P(S_0)<-\epsilon | \frac{|W\cap S_0|}{m+n}-\frac{3}{4}\epsilon\leq P(S_0)\leq\frac{|W\cap S_0|}{m+n}+\frac{3}{4}\epsilon)\\&\leq P(\frac{|S_0\cap T_1|}{n}-\frac{|W\cap S_0|}{m+n}+\frac{3}{4}\epsilon>\epsilon)+P(\frac{|S_0\cap T_1|}{n}-\frac{|W\cap S_0|}{m+n}-\frac{3}{4}\epsilon<-\epsilon)\\&=P(|\frac{|S_0\cap T_1|}{n}-\frac{|W\cap S_0|}{m+n}|>\frac{\epsilon}{4})\end{align*}

我们将随机变量$|S_0\cap T_1|$看成服从均值为$\frac{|W\cap S_0|}{m+n}$的二项式分布,即$|S_0\cap T_1|\sim B(n,\frac{|W\cap S_0|}{m+n})$,所以根据Chernoff Bound可得:

$$P(|\frac{|S_0\cap T_1|}{n}-\frac{|W\cap S_0|}{m+n}|>\frac{\epsilon}{4})\leq 2e^{-\frac{n\epsilon^2}{36}}$$

这只是对于一个$S_0$而言,对于所有满足条件的$S_0$个数为$\Pi_{\mathcal{S}}(m+n)\leq 2(m+n)^d$,所以

$$P(E_2)\leq 2(m+n)^d\cdot 2e^{-\frac{\epsilon^2}{36}}$$

$$P(E_1)\leq 8(m+n)^de^{-\frac{\epsilon^2}{36}}\leq 8e^{\frac{\epsilon^2 n}{72}}e^{-\frac{\epsilon^2 n}{36}}=8e^{-\frac{\epsilon^2 n}{72}}$$

上述不等式用到了$(m+n)^d\leq(\frac{5n}{\epsilon})^d\leq e^{\frac{\epsilon^2 n}{72}}$,其证明如下:

令$n=\frac{cd}{\epsilon^2}\mathop{ln}\frac{d}{\epsilon}$,其中$c$为常数。取足够大的$c$使$d^{\frac{c}{72}}>5cd\mathop{ln}\frac{d}{\epsilon}, \epsilon^{\frac{c}{72}}<\epsilon^3$同时成立(很显然,这样的$c$是存在的),故$(\frac{d}{\epsilon})^{\frac{c}{72}}\geq\frac{5cd\mathop{ln}\frac{d}{\epsilon}}{\epsilon^3}$,两边去对数得:$\frac{cd}{72}\mathop{ln}(\frac{d}{\epsilon})\geq d\mathop{ln}\frac{5cd\mathop{ln}\frac{d}{\epsilon}}{\epsilon^3}$,即$\frac{n\epsilon^2}{72}\geq d\mathop{\frac{5n}{\epsilon}}$,即$e^{\frac{n\epsilon^2}{72}}\geq (\frac{5n}{\epsilon})^d$。 证毕!

Computer Science Theory for the Information Age-6: 学习理论——VC定理的证明的更多相关文章

  1. Computer Science Theory for the Information Age-4&colon; 一些机器学习算法的简介

    一些机器学习算法的简介 本节开始,介绍<Computer Science Theory for the Information Age>一书中第六章(这里先暂时跳过第三章),主要涉及学习以 ...

  2. Computer Science Theory for the Information Age-1&colon; 高维空间中的球体

    高维空间中的球体 注:此系列随笔是我在阅读图灵奖获得者John Hopcroft的最新书籍<Computer Science Theory for the Information Age> ...

  3. Computer Science Theory for the Information Age-3&colon; 高维空间中的高斯分布和随机投影

    高维空间中的高斯分布和随机投影 (一)在高维球体表面产生均匀分布点的方法 我们来考虑一个采样问题,就是怎样在高维单位球体的表面上均匀的采样.首先,考虑二维的情况,就是在球形的周长上采样.我们考虑如下方 ...

  4. Computer Science Theory for the Information Age-2&colon; 高维空间中的正方体和Chernoff Bounds

    高维空间中的正方体和Chernoff Bounds 本文将介绍高维空间中正方体的一些性质,以及一个非常常见也是非常有用的概率不等式——Chernoff Bounds. 考虑$d$维单位正方体$C=\{ ...

  5. Computer Science Theory for the Information Age-5&colon; 学习理论——VC维的定义以及一些例子

    学习理论——VC维的定义以及一些例子 本文主要介绍一些学习理论上的东西.首先,我们得明确,从训练集上学习出来的分类器的最终目标是用于预测未知的样本,那么我们在训练的时候该用多少的样本才能使产生的分类器 ...

  6. Discovering the Computer Science Behind Postgres Indexes

    This is the last in a series of Postgres posts that Pat Shaughnessy wrote based on his presentation ...

  7. &lbrack;转载&rsqb; A set of top Computer Science blogs

    This started out as a list of top Computer Science blogs, but it more closely resembles a set: the o ...

  8. CSCI 1100 — Computer Science 1 Homework

    CSCI 1100 — Computer Science 1 Homework 8CS1 Multiverse: ClassesOverviewThis homework is worth 100 p ...

  9. 2012年Elsevier旗下Computer Science期刊最新SCI影响因子排名

    Latest Impact Factor figures from Elsevier's Computer Science Journals Medical Image Analysis Impact ...

随机推荐

  1. AWS系列之二 使用EC2

    在本文中我们有三个任务. 第一:使用Amazon management console创建一个EC2实例. 第二:使用本地的命令行工具远程登陆到该EC2实例. 第三:在该EC2实例上创建一个web服务 ...

  2. 【leetcode】Longest Consecutive Sequence

    Longest Consecutive Sequence Given an unsorted array of integers, find the length of the longest con ...

  3. 20150604&lowbar;Andriod 窗体PopupWindow动画

    参考地址: http://www.open-open.com/lib/view/open1378720752084.html http://www.jcodecraeer.com/a/anzhuoka ...

  4. 1、程序启动原理和UIApplication【转】

    一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplica ...

  5. uva 12589 - Learning Vector

    思路: 容易知道加向量的顺序是按向量斜率的大小顺序来的.由于数据不是很大,可以用背包解决!! dp[i][j]:加入最大面积为i时,加入了j个向量. 代码如下: #include<iostrea ...

  6. Android6&period;0动态权限申请步骤以及需要注意的一些坑

    因为工作需要,简单研究了一下Android6.0权限申请,在Google提供的sample的基础上,写了一个简单的demo.算是自己的笔记吧,可能会比较混乱,主要是方便以后查看.后期有别的问题,随时更 ...

  7. MySQL 通过mysql&lowbar;config&lowbar;editor更安全的登录数据库

    在5.6版本中,MySQL可以通过mysql_config_editor登录数据库,变得更加安全. [root@hank-yoon ~]# mysql_config_editor set --logi ...

  8. MySql索引的优缺点

    优点 有了索引.对于记录数量很多的表,可以提高查询速度. 缺点 索引是占用空间的. 索引会影响update insert delete速度 ALERT!!! 1.索引要创建在where和join用到的 ...

  9. socket&period;io 中文手册 socket&period;io 中文文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...

  10. RDIFramework&period;NET平台代码生成器V3&period;2版本全新发布(提供下载-免费使用)

    回顾V3.1版本更新内容如下: 1.增加对Oracle表创建语句的查看. 2.新增对MySql的代码生成支持. 3.全面重构对多线程的支持,改变以前会无故退出的现象. 本次在V3.1版本的基础上,增加 ...