精华内容
下载资源
问答
  • 刘伟设计模式和例子

    热门讨论 2014-04-26 12:29:33
    刘伟设计模式和例子,里面既有23种设计模式的例子还有对应的设计模式的例子,极力推荐。
  • 测试用例模板和例子

    万次阅读 2018-11-08 10:44:32
    本文转载:   原文地址: 测试用例模板和例子         

    本文转载:

     

    原文地址:  测试用例模板和例子                                                       

     

     

     

     

    展开全文
  • 构造器的作用和例子

    万次阅读 多人点赞 2018-04-14 13:52:02
    构造器的作用和例子构造器的特点:1.方法名类名相等 2.没有返回值,并且不能用void(如果用void来声明其返回值类型,那么java会把这个构造器当做方法来处理——那它不再是构造器) 3.构造器中的参数列表中的参数...

    构造器的作用和例子

    构造器的特点:1.方法名和类名相等

                        2.没有返回值,并且不能用void(如果用void来声明其返回值类型,那么java会把这个构造器当做方法来处理——那它不再是构造器)

                        3.构造器中的参数列表中的参数可有可无

    说简单点构造器的作用就是创建对象。


    上面声明了三个带参数的构造器,他们之间的关系为重载,那我还可以再创建一个无参数的构造器吗?看下图:


    eclipse输出错误,提示我们这个无参数的构造器没有定义

    然后我把三个带参数的构造器给注释掉(忽略我的快捷注释...)


    然后再运行你会发现又可以了惊讶


    这可以说明一个问题:如果类中没有带参数的构造器,那我们可以使用一个隐藏的默认构造器来创建对象,如果类中有带参数的构造器,那默认的构造器就会被覆盖,所以才会出现我们刚才这样的问题。

    问题又来了:那我非要使用这个无参数的构造器怎么办?

    其实我们可以显式的定义默认构造器,那默认的构造器就能够使用了,如下图:


    这样就能解决上面那个问题了。

    有童鞋就发现我刚才定义的三个构造器中的是有重复代码的,如:this.name=name,这行代码分别在三个构造器中出现了一次,如下图:


    在此也补充上面一条博客this的用法


    我们可以这样改进:


    this(name,age): 表明调用该类中另外一个带两个参数的构造器

    注意:this在调用另外一个重载的构造器时,一定得作为构造器执行体的第一条语句!!!

    程序如果大佬有建议的话请指出,有问题欢迎在评论区提出,我会为你解疑答惑。



    展开全文
  • UML时序图画法,有详细步骤和例子

    热门讨论 2011-05-26 11:20:24
    uml时序图画法,项目过程中到的。 UML时序图画法,有详细步骤和例子
  • 3.1基本性质和例子 定义 扩展值延伸 一阶条件 二阶条件 例子 下水平集 上境图 Jensen不等式及其扩展 不等式 定义 函数f是凸函数,当f的定义域S是凸集,且 严格凸函数: 从几何上来看,如下图,函数f上的...

    3.1基本性质和例子

    1. 定义
    2. 扩展值延伸
    3. 一阶条件
    4. 二阶条件
    5. 例子
    6. 下水平集
    7. 上境图
    8. Jensen不等式及其扩展
    9. 不等式

    定义

    函数f是凸函数,当f的定义域S是凸集,且\forall x_1,x_2\in S,\forall \theta\in [0,1],f(\theta x_1+(1-\theta)x_2)\leq \theta f(x_1)+(1-\theta)f(x_2)

    严格凸函数:\forall x_1,x_2\in S,\forall \theta\in (0,1),f(\theta x_1+(1-\theta)x_2) < \theta f(x_1)+(1-\theta)f(x_2)

    从几何上来看,如下图,函数f上的任意两点之间的弦都在函数图像之上。

    凸函数

    函数f是凸函数,当且仅当在与函数f的定义域S相交的任何直线上,f均是凸的。

    f:R^n\rightarrow R,g:R\rightarrow R,g(t)=f(x+tv),dom(g)=\left\{t|x+tv\in dom(f)\right\}),\forall x\in dom(f),v\in R^n

    当且仅当g(t)是凸的,f(x)是凸的。

    利用此性质,可以将函数限制在直线上判断其凹凸性。

    扩展值延伸

    扩展值延伸,其实就是对函数f的扩展,对那些不属于dom(f)的点y,定义f(y)=\infty

    如果f是凸函数,定义其扩展值延伸\bar{f}:R^n \rightarrow R\cup \left\{ \infty \right\},如:

    \bar{f}(x)=\left\{\begin{matrix} f(x) & x\in dom(f)\\ \infty & x\notin dom(f) \end{matrix}\right.

    显然如果f(x)是凸函数,\bar{f}(x)也是凸函数。

    一阶条件

    判断函数f是凸函数的方法之一是看其是否满足一阶条件。

    可微:如果函数f可微表示f的梯度在开集dom(f)处处存在。

    一阶条件:如果f可微,则函数f是凸函数的充要条件是dom(f)是凸集且\forall x,y\in dom(f),下式成立:

    f(y)\geqslant f(x)+\bigtriangledown f(x)^T(y-x)

    一阶条件的证明:

    (1)证明函数f是凸函数\Rightarrow一阶条件

    函数f是凸函数,\forall x,y\in dom(f),\forall \thtea \in [0,1],f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)

    t\in (0,1],x+t(y-x)\in dom(f)

    f(x+t(y-x))=f(ty+(1-t)x)=f(x)+t\bigtriangledown^T f(x)(y-x)+o(t(y-x))

    上式是泰勒展开,o(t(y-x))表示t(y-x)的高阶无穷小。

    f(x)+t\bigtriangledown^T f(x)(y-x)+o(t(y-x)) \leq tf(y)+(1-t)f(x)

    t\bigtriangledown^T f(x)(y-x)+o(t(y-x)) \leq tf(y)-tf(x)

    等式两边同时除以t,得到:

    \bigtriangledown f(x)^T(y-x)+\frac{o(t(y-x))}{t} \leq f(y)-f(x)

    \Rightarrow f(y)\geq \bigtriangledown^T f(x)(y-x)+\frac{o(t(y-x))}{t} +f(x)

    t\rightarrow 0,此时

    \frac{o(t(y-x))}{t} \rightarrow 0

    \Rightarrow f(y)\geq \bigtriangledown^T f(x)(y-x) +f(x)

    (2)函数f满足一阶条件\Rightarrow函数是凸函数

    \forall x,y\in dom(f),z=tx+(1-t)y,t\in(0,1],根据一阶条件知

    f(x)\geq f(z)+\bigtriangledown^T f(z)(x-z) \, \, \, \, (1)

    f(y)\geq f(z)+\bigtriangledown^T f(z)(y-z)\, \, \,\, (2)

    t(1)+(1-t)(2):

    tf(x)+(1-t)f(y)\geq (t+1-t)f(z)+t\bigtriangledown^T f(z)(x-z)+(1-t)\bigtriangledown^T f(z)(y-z)

    不等式右边:

    =f(z)+\bigtriangledown^T f(z)(tx-tz+(1-t)y-(1-t)z)=f(z)+\bigtriangledown^T f(z)(tx+(1-t)y-z)=f(z)=f(tx+(1-t)y)

    \Rightarrow f(tx+(1-t)y)\leq tf(x)+(1-t)f(y)

    二阶条件

    二阶可微,即对于开集dom(f)的任意一点,它的海瑟矩阵或者二阶导数存在。

    二阶条件:函数f 是凸函数的充要条件是:\forall x\in dom(f),\bigtriangledown^2f(x)\succeq 0

    例子

    二次函数:f(x)=\frac{1}{2}x^TPx+q^Tx+r,\bigtriangledown f(x)=Px+q,\bigtriangledown^2f(x)=P,P\succeq 0时,函数为凸函数。

    最小二乘目标:f(x)=\left \| Ax-b \right \|^2_2,\bigtriangledown f(x)=2A^T(Ax-b),\bigtriangledown^2f(x)=2A^TA,无论A是什么f(x)都是凸函数。

    二次线性分式:f(x,y)=x^2/y,\bigtriangledown f(x,y)=\bigl(\begin{smallmatrix} 2x/y ,& -x^2/y^2 \end{smallmatrix}\bigr)

    \bigtriangledown^2f(x,y)=\begin{pmatrix} 2/y & -2x/y^2\\ -2x/y^2& 2x^2/y^3 \end{pmatrix}=2/y^3\begin{pmatrix} y\\-x \end{pmatrix}\begin{pmatrix} y\\-x \end{pmatrix}^T,\bigtriangledown^2f(x,y)\geq 0\Rightarrow y>0此时是凸函数。

    指数和的对数:f(x)=log\sum_{k=1}^ne^{x_k},\bigtriangledown^2f(x)= \frac{1}{(1^Tz)^2}((1^Tz)diag(z)-zz^T),z=(e^{x_1},e^{x_2}\cdots e^{x_n})

    为证f为凸函数,我们证明对任意v,v^T\bigtriangledown^2f(x)v\geqslant 0,即

    v^T\bigtriangledown^2f(x)v=\frac{1}{(1^Tz)^2}((1^Tz)v^Tdiag(z)v-v^Tzz^Tv)

    =\frac{1}{(1^Tz)^2}((1^Tz)v^Tdiag(z)v-v^Tzz^Tv)

    =\frac{1}{(1^Tz)^2}\left\{(\sum _{i=1}^nz_i)(\sum_{i=1}^nv_i^2z_i)-(\sum_{i=1}^n v_i z_i)^2\right\}\geq 0

     

    根据Cauchy-Schwarz不等式(a^Ta)(b^Tb)\geq (a^Tb)^2,这里a_i=v_i\sqrt{z_i},b_i=\sqrt{z_i},是凸函数。

    几何平均:f(x)=(\prod_{k=1}^nx_k)^{1/n}是凹函数。

    下水平集

    函数f的\alpha下水平集:R^n\rightarrow R

    C_\alpha =\left \{ x\in dom(f)|f(x)\leq \alpha \right \}

    对于任意的\alpha,凸函数的下水平集仍为凸的。

    上境图

    函数f的图像:

    \left \{ (x,f(x))|x\in dom(f) \right \}

    函数f的上境图:R^n\rightarrow R

    epi\, =\left \{(x,t)|x\in dom(f),f(x)\leq t \right \}

    几何上函数f的上境图即为f的函数图像的上部。如下图:

    上境图

    凸集和凸函数的联系则可以通过上境图来建立,一个函数是凸函数,当且仅当其上境图是凸集。

    Jensen不等式

    凸函数f的基本不等式:\forall x,y\in dom(f) f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y),也称此式为Jensen不等式。

    将其扩展成多个点的不等式,

    \forall x_i \in dom(f),i=1,2\cdots n,\forall \theta_i\in [0,1],i=1,2\cdots n,\sum_{i=1}^n \theta_i=1 \, \, \, (3)

    f(\sum_{i=1}^n \theta_i x_i)\leq \sum_{i=1}^n \theta_i f(x_i)\sqrt{ab}\leq (a+b)/2

    可以将\theta_i看成x_i出现的概率,记z为随机变量取值为x_i,不等式(3)可以写成离散型随机变量期望的形式:

    f(E[z])\leq E[f(z)]

    如果不等式(3),取无穷多个点,则不等式(3)可以写成连续型随机变量期望的形式,跟上式一样。

    上述所以不等式都被称为Jensen不等式。

    不等式

    用凸函数和Jensen不等式证明许多著名的不等式

    \sqrt{ab}\leq (a+b)/2

    证明:

    取凸函数-log(x),令\theta=1/2,利用Jensen不等式,可知:

    -log((a+b)/2)\leq \frac{-log(a)-log(b)}{2}

    对两边同时去指数得到

    e^{-log((a+b)/2)}\leq e^{\frac{-log(a)-log(b)}{2}}

    \Rightarrow e^{log(2/(a+b))}\leq e^{-log(a)/2}e^{-log(b)/2}

    \Rightarrow e^{log(2/(a+b))}\leq e^{log(a)^{-1/2}}e^{log(b)^{-1/2}}

    \Rightarrow (2/(a+b))\leq (a)^{-1/2}}(b)^{-1/2}

    \Rightarrow \frac{2}{a+b}\leq \frac{1}{\sqrt{a}}\frac{1}{\sqrt{b}}

    \Rightarrow \sqrt{ab}\leq (a+b)/2

     

     

     

     

     

     

     

     

     

     

    展开全文
  • Netty4.0 jar包 及 源代码 例子

    千次下载 热门讨论 2013-05-28 15:29:04
    Netty4.0全部jar包.开发时候只需要倒入总的哪一个netty4.0.jar就行了 后缀为resources.jar的全部是源码。 简单的代码例子在netty-example-resources.jar里面。
  • #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); string s1; s1=to_string(100); cout<<s1<<endl; int a=stoi(s1,0,10)+1;...}
  • 最大熵模型通俗理解和例子

    千次阅读 2017-10-11 10:41:20
    最大熵模型是一种综合模型...假如输入的拼音是"wang-xiao-bo",利用语言模型,根据有限的上下文(比如前两个词),我们能给出两个最常见的名字“王小波”“王晓波 ”。至于要唯一确定是哪个名字就难了,即使利用较长的

    最大熵模型是一种综合模型,即我们知道很多关于一个东西的先验知识,然后用最大熵公式计算出来。很类似机器学习中的组合提升模型。

            下面举一个最大熵模型的例子。我们看一个拼音转汉字的简单的例子。假如输入的拼音是"wang-xiao-bo",利用语言模型,根据有限的上下文(比如前两个词),我们能给出两个最常见的名字“王小波”和“王晓波 ”。至于要唯一确定是哪个名字就难了,即使利用较长的上下文也做不到。当然,我们知道如果通篇文章是介绍文学的,作家王小波的可能性就较大;而在讨论两岸关系时,台湾学者王晓波的可能性会较大。在上面的例子中,我们只需要综合两类不同的信息,即主题信息和上下文信息。虽然有不少凑合的办法,比如:分成成千上万种的不同的主题单独处理,或者对每种信息的作用加权平均等等,但都不能准确而圆满地解决问题,这样好比以前我们谈到的行星运动模型中的小圆套大圆打补丁的方法。在很多应用中,我们需要综合几十甚至上百种不同的信息,这种小圆套大圆的方法显然行不通。数学上最漂亮的办法是最大熵(maximum entropy)模型,它相当于行星运动的椭圆模型。“最大熵”这个名词听起来很深奥,但是它的原理很简单,我们每天都在用。说白了,就是要保留全部的不确定性,将风险降到最小。

            回到我们刚才谈到的拼音转汉字的例子,我们已知两种信息,第一,根据语言模型,wangxiao-bo可以被转换成王晓波和王小波;第二,根据主题,王小波是作家,《黄金时代》的作者等等,而王晓波是台湾研究两岸关系的学者。因此,我们就可以建立一个最大熵模型,同时满足这两种信息。现在的问题是,这样一个模型是否存在。匈牙利著名数学家、信息论最高奖香农奖得主希萨(Csiszar)证明,对任何一组不自相矛盾的信息,这个最大熵模型不仅存在,而且是唯一的。而且它们都有同一个非常简单的形式 -- 指数函数。下面公式是根据上下文(前两个词)和主题预测下一个词的最大熵模型,其中 w3 是要预测的词(王晓波或者王小波)w1 和 w2 是它的前两个字(比如说它们分别是“出版”,和“”),也就是其上下文的一个大致估计,subject 表示主题。


    我们看到,在上面的公式中,有几个参数 lambda 和 Z 。我们上次谈到用最大熵模型可以将各种信息综合在一起。我们留下一个问题没有回答,就是如何构造最大熵模型。我们已经所有的最大熵模型都是指数函数的形式,现在只需要确定指数函数的参数就可以了,这个过程称为模型的训练。

    具体参考 http://www.cnblogs.com/skyme/p/4651331.html 这篇文章。



    展开全文
  • git reset --hard 329515
  • graph graphname { a -- b -- c; b -- d; }
  • WinIO.Dll例子 由于Windows下不能直接操作硬件,这给我们带来了极大的不便,但WinIO.Dll的出现给我们操作硬件带来了极大的方便,该动态链接库能直接操作内存地址端口地址,功能强大,使用简单,方便,是不可多得的...
  • filename = 'tom.txt'#tom这个文件是不存在的 try: with open(filename) as file: content = file.read() except FileNotFoundError:#文件不能找到的异常处理 print("Sorry!The file "+filename+" can't find.")
  • def simple_coroutine(): print('-> start') x = yield print('-> recived', x) sc = simple_coroutine() next(sc) sc.send('zhexiao')
  • module Currency { resource Coin { value: u64 } // ... }
  • Apriori算法详解之【二、伪代码和例子

    万次阅读 多人点赞 2013-06-09 10:55:53
    上一篇文章中对Apriori算法进行了简单的描述(Apriori算法详解之【一、相关概念核心步骤】http://blog.csdn.net/lizhengnanhua/article/details/9061755),现在用伪代码实现,及对经典例子进行描述(红兰PPT上之...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,483,715
精华内容 1,793,486
关键字:

和的例子