交替条件排除与神经网络
ace-nn的Python项目详细描述
王牌nn
简介
该报告包含了通过神经网络实现ace算法的实验。由{{ STR 1 } $湘乡Xu/Stult>所示,用^ {EM1}$交替条件期望EME>计算最优特征等价于最大化{EM1}$$Heals
如何运行
给出了三个例子(一个是连续变量,另两个是离散变量),其结果与ace
相同。主函数是ace_nn
,其参数与^{
importnumpyasnpfromace_nnimportace_nn# discrete case, binary symmetric channel with crossover probability 0.1N_SIZE=1000x=np.random.choice([0,1],size=N_SIZE)n=np.random.choice([0,1],size=N_SIZE,p=[0.9,0.1])y=np.mod(x+n,2)# set both x(cat=0) and y(cat=-1) as categorical typetx,ty=ace_nn(x,y,cat=[-1,0],epochs=100)# continuous casex=np.random.uniform(0,np.pi,200)y=np.exp(np.sin(x)+np.random.normal(size=200)/2)tx,ty=ace_nn(x,y)
有关更多详细信息,请运行help(ace_nn)
查看此函数的参数和返回。
进一步讨论
目前,用于近似最优F f(x)$和$g(y)$的神经网络是两层MLP,其中^ {CD5>}作为激活函数。大字母$\mathcal{x}$和$\mathcal{y}$需要更多的换位,运行时间不短。
而且,batch_size
和hidden_units_num
可以被超调,并且不能保证神经网络的当前配置对于求解ace是最优的。
应用程序
我们可以使用ace_nn(x, y, return_hscore = True)
来计算$\frac{\norm{b}u f^2}{2}$