{
// int nLength = strlen(pStr);
// if(nLength == 1) return 1;
if(*pStr == '\0') return 0;
if(*(pStr + 1) == '\0') return 1;
if(*pStr == *(pStr + 1)) return 1 + find(pStr + 1);
return find(pStr + 1);
}
{
char str[] = "daac";
cout<<find(str)<<endl;
今天在微博上看见晓风_机器学习放大招,写了一系列关于采样的知识,一个一个读不方便,就把它转载到这里。
#抽样那些事#这里面引用了许多 LDA-math-MCMC 和 Gibbs Sampling中的内容。晓风_机器学习大神写的比较精简,但如果是刚接触采样,可以直接看LDA-math-MCMC 和 Gibbs Sampling,这里面有很详细并且浅显易懂的描述(连我这种菜鸟都能看懂o(╯□╰)o)
这里面我认为最出彩的是介绍了Gibbs Sampling 和Em的联系。Gibbs Sampling 可以认为是EM的一个变种。
另外,抽样在PRML 的sampling章节 中有很详细的描述,下面的有些内容和图近似可以认为就是从PRML中摘出来的。但当初没看懂PRML sampling 的内容很多是因为没有采样的概念,半路出家学machine learning的程序猿真心伤不起。所以,有优秀的母语 machine learning文章,真的要十分珍惜%>_<%。
ps:标原创只是想试试csdn的发布到首页的功能,希望能有更多的喜欢machine learning的人能看到有些的技术文章。
#抽样那些事#
1. 很多时候,我们只能获取一个离散的、或者连续的均匀分布,例如线性同余法搞出来的伪随机数。
2. 对于一些简单的非均匀分布,可以借助均匀分布,使用cdf求逆的方式 进行抽样。
3. 对于复杂一点的分布,可以使用构造法进行抽样;例如如果使用硬币(均匀的)构造出一个(1/4,3/4)的非均匀分布出来。再比如,使用Box-Muller Method 借助均匀分布构造出高斯分布出来。
4. 再复杂一点的、但是单点可以计算的分布p,即给定z,可求出p(z),可以使用Rejection Sampling进行抽样:构造一个kq(z),总是盖过p(z),q(z)可抽样,例如高斯分布。抽样z0~q(z)=>kq(z0)>=p(z0),再抽样一个u0~均匀分布(0,1),根据kq(z0)和p(z0)的比例关系,确定是否拒绝z0。
5. 对于 Rejection Sampling,如果q(z)不能很好逼近p(z),拒绝率较高。在一些情况下,可以尝试Adaptive Rejection Sampling,构造一个合适的q(z)。降低拒绝率。
-
- webservice的优缺点
优点:
1)跨防火墙通信
2)跨平台跨语言(应用集成)
3)跨公司的业务交易集成(B2B集成)
4)软件和数据的重用
缺点:
1)单机应用程序不适合
2)局域网内应用不适合
- webservice支持的调用方式
SOAP、XML/HTTP、RESTful HTTP 或者 CORBA
- CXF
-
webservice的使用 传递string和复杂类型 对象、javabean、集合、map
- Restful理解
1)名称:Representational state transfer 表现层状态变化 主语是resourses资源 的表现层状态变化的一种架构
2)资源:网上的所有资源通过全球标识ID访问,这个地址叫做URI,通过它就能访问到网络上得任何资源
3)表现层:是指资源的一种表现形式,可以是html、txt、json、xml、或者图片格式等等
4)状态转化:是指客户端想要操作服务器资源,就需要通过某种方式对服务器资源的状态进行改变,客户端能用到的手段只能是HTTP协议,http协议里包含四种操作分别是
GET(获取资源) POST(新建资源、更新资源) 、PUT(更新资源)、Delete(删除资源)来对服务器资源改变,从而实现资源的表现层的状态变化。
- Jersy Rest 在spring 中得使用
1)导入jersy包到工程中
2)在web。xml中配置jersy的servlet
3)具体代码调用
名词解释 1 Rest Web Services
Representational State Transfer, 具象状态传输。
REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务。通常,RESTful Web 服务应该定义以下方面:
· Web 服务的基/根 URI,比如 http://host/<appcontext>/resources。
· 支持 MIME 类型的响应数据,包括 JSON/XML/ATOM 等等。
· 服务支持的操作集合(例如 POST、GET、PUT 或 DELETE)。
2 @注释说明 2.1 @Produces 表示返回的格式@Produces( {MediaType.APPLICATION_XML }) 表示返回的xml格式
@Produces( {MediaType.APPLICATION_JSON }) 表示返回的json格式
@Produces( { MediaType.TEXT_PLAIN }) 表示返回的纯文本格式
2.2 @ Consumes@Consumes ( { application/x-www-form-urlencoded }) 窗体数据被编码为名称/值对
@Consumes @Singleton @XmlRootElement@Provider
二、初始化工程 1下载jar包http://download.java.net/maven/2/com/sun/jersey/jersey-archive/1.1.2-ea/jersey-archive-1.1.2-ea.zip
2 新建web工程使用MyEclipse8.5新建web工程,命名为RestfulDemo,将上述下载jar包导入lib
3 修改web.xml添加如下内容
<servlet>
<servlet-name>ServletAdaptor</servlet-name>
<servlet-class>
com.sun.jersey.server.impl.container.servlet.ServletAdaptor
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>