feekood的基础知识--数据分析函数

来源:互联网 发布:js获取list第一个元素 编辑:程序博客网 时间:2024/06/08 09:14
feekood的基础知识--数据分析函数
数据分析函数: :>    概述:定义蕴含关系式参数P1(n1,n2…):>P2示例     //定义多个状态扩展行为_add1(x) :> x+=1; //x自加1_dec1(x) :> x-=1; //x自减1_mul2(x) :> x*=2;//x自乘2_mul10(x) :> x*=10;//x自乘10_dev2(x) :> x=int(x/2);//x自除2//定义初始条件m=2;//利用状态扩展行为搜索到达结果的步骤result=target(m, //脚本值value==500,//达到的目标value~==500,//启发搜索的表达式,越接近1的节点越先被扩展(提高搜索速度){"_add1","_dec1","_mul10","_mul2","_dev2"},//支持的行为10000//搜索状态最大数量);print(result);//打印{  M*=2;  M+=1;  M*=10;  M*=10;};数据分析函数: ANNCREATE    概述:建立人工神经网络节点神经网络训练类型BP:反向回馈训练方法RBP:向前回馈训练方法GA:遗传进化训练方法DR:线性数据训练方法节点激活函数类型BSIG:S型激活函数(范围0~1)ELT:伪S型激活函数(范围0~1)ELTS:伪S型激活函数(范围-1~1)LIM:梯度激活函数(范围0~1)LIN:线性激活函数(范围0~1)LOG:指数激活函数(范围0~1)SIG:S型激活函数(范围-1~1)SIN:三角曲线激活函数(范围0~1)Tanh:反三角曲线激活函数(范围0~1)参数AnnCreate(annData)annData:神经网络内置对象集合返回:null功能:定义一个神经网络模型示例     annModel={Name:"x1";//模型名称Type:"BP";//神经网络类型LearningRate:0.1;//神经网络学习速率Momentum:0;//神经网络学习动量Stage:10;//迭代次数Times:10000;//每次迭代的训练次数Error:0;// 每次迭代统计误差值Error:->{print(owner.error);};InputCount:2; // 输入节点数量OutputCount:1; // 输出节点数量Layers:{{Function:"BSIG", Count:2, Alpha:2}; // 输入层{Function:"BSIG", Count:2, Alpha:2}; // 隐藏层{Function:"BSIG", Count:1, Alpha:2}; // 输出层};};// 创建神经网络AnnCreate(annModel);// 创建训练数据input={{0,0},{0,1},{1,0},{1,1}};output={0,1,1,0};// 训练数据AnnTrain(annModel,input,output);// 识别数据ideal=AnnRun(annModel,input);Print("识别结果");Print(ideal);// 实际结果Print("实际结果");Print(output);数据分析函数: ANNRUN    概述:运行神经网络输入值input={{a1,a2,a3},{b1,b2,b3},{c1,c2,c3},{d1,d2,d3},{e1,e2,e3}}a1,a2,a3为一个样本数据input有3个数据维度,有a~e 5个数据样本神经网络将多个数据样本计算出多个输出值参数AnnRun(annData, value)annData:神经网络内置对象集合value:输入值[数值集合]返回:神经网络计算输出值功能:识别,匹配,预测现有状态数据示例     annModel={Name:"x1";//模型名称Type:"BP";//神经网络类型LearningRate:0.1;//神经网络学习速率Momentum:0;//神经网络学习动量Stage:10;//迭代次数Times:10000;//每次迭代的训练次数Error:0;// 每次迭代统计误差值Error:->{print(owner.error);};InputCount:2; // 输入节点数量OutputCount:1; // 输出节点数量Layers:{{Function:"BSIG", Count:2, Alpha:2}; // 输入层{Function:"BSIG", Count:2, Alpha:2}; // 隐藏层{Function:"BSIG", Count:1, Alpha:2}; // 输出层};};// 创建神经网络AnnCreate(annModel);// 创建训练数据input={{0,0},{0,1},{1,0},{1,1}};output={0,1,1,0};// 训练数据AnnTrain(annModel,input,output);// 识别数据ideal=AnnRun(annModel,input);Print("识别结果");Print(ideal);// 实际结果Print("实际结果");Print(output);数据分析函数: ANNTRAIN    概述:训练神经网络输入值input={{a1,a2,a3},{b1,b2,b3},{c1,c2,c3},{d1,d2,d3},{e1,e2,e3}}a1,a2,a3为一个样本数据input有3个数据维度,有a~e 5个数据样本输出值 output={a,b,c,d,e}output有一个数据维度,5个数据样本参数AnnTrain(annModel,input,output)annModel:神经网络模型集合input:输入数据[数值集合]output:输出数据[数值集合]返回:null功能:训练神经网络模型,利用输入值和输出值训练其拟合函数示例     annModel={Name:"x1";//模型名称Type:"BP";//神经网络类型LearningRate:0.1;//神经网络学习速率Momentum:0;//神经网络学习动量Stage:10;//迭代次数Times:10000;//每次迭代的训练次数Error:0;// 每次迭代统计误差值Error:->{print(owner.error);};InputCount:2; // 输入节点数量OutputCount:1; // 输出节点数量Layers:{{Function:"BSIG", Count:2, Alpha:2}; // 输入层{Function:"BSIG", Count:2, Alpha:2}; // 隐藏层{Function:"BSIG", Count:1, Alpha:2}; // 输出层};};// 创建神经网络AnnCreate(annModel);// 创建训练数据input={{0,0},{0,1},{1,0},{1,1}};output={0,1,1,0};// 训练数据AnnTrain(annModel,input,output);// 识别数据ideal=AnnRun(annModel,input);Print("识别结果");Print(ideal);// 实际结果Print("实际结果");Print(output);数据分析函数: CHECK    概述:检查事实的存在的概率值参数Check(word1,word2,...wordn)word1~n:对象名称1~n返回:是否存在事实(包括推理出来的事实)示例     fact({"猫","狗","牛","马","猪"},"是","哺乳动物");fact({"蝴蝶","蚂蚁","蜻蜓"},"是","昆虫");fact("哺乳动物","有","骨头");fact({"昆虫","哺乳动物"},"是","动物");fact("动物","是","生物");fact("生物","会","死");fact(?x, "是", ?y) && fact(?y, "会", ?z) |-> fact(?x, "会", ?z);fact(?x, "是", ?y) && fact(?y, "有", ?z) |-> fact(?x, "有", ?z);print(check("蚂蚁","是","哺乳动物"));print(check("狗","有","骨头"));print(check("蝴蝶","会","死"));数据分析函数: FACT    概述:定义事实参数:fact(word1,word2,...wordn)word1~n:事实[字符串]返回:null功能:将事实放入智能数据库存储fact(?variable,word1,word2,...wordn)variable?:未知变量[变量名?]word1~n:事实[字符串]示例     //定义事实fact("小明","爱","小红");//定义事实(小明爱小红)fact("小张","爱","小李");//定义事实(小张爱小李)fact("小红","爱","小李");//定义事实(小红爱小李)fact("小李","爱","小红");//定义事实(小李爱小红)fact("小王","爱","小美");//定义事实(小王爱小美)fact("小美","爱","小张");//定义事实(小美爱小张)fact("小艳","爱","小孙");//定义事实(小艳爱小孙)fact("小美","爱","小孙");//定义事实(小美爱小孙)fact(?x,"爱","小孙");Print("爱小孙的有"+x);数据分析函数: RUNAF    概述:运行激活函数神经网络激活函数有BSIG,SIG,ELT,ELTS,LIM,LIN,LOG,SIN,LOG,SIN,TANH参数RunAf(func,value)func:神经网络激活函数名称[字符串]value:数值返回:计算激活函数的相应数值的导数示例     Print(RunAf("BSIG",0.5));//打印0.4621数据分析函数: RUNAFD    概述:运行激活函数求导神经网络激活函数有BSIG,SIG,ELT,ELTS,LIM,LIN,LOG,SIN,LOG,SIN,TANH参数RunAfd(func,value)func:神经网络激活函数名称[字符串]value:数值返回:计算激活函数的相应数值的导数示例     Print(RunAfd("BSIG",100));//打印-9999数据分析函数: TARGET    概述:定义逻辑关系式taget的目标必须是定义条件能达到的,否则返回空参数Target(value,targetExpr,inspriteExpr,actions,step,keyExpr)value:需要搜索的变量[值]targetExpr:目标条件表达式[表达式]inspriteExpr:启发式搜索表达式,越接近1的节点会优先扩展查找actions:允许的动作[字符串集合]step:搜索状态最大数量[正整型]keyExpr:状态识别表达式[表达式]返回:达到目标的执行表达式集合功能:达到或接近目标的步骤示例     // 简单搜索脚本案例//定义多个状态扩展行为_add1(x) :> x+=1; //x自加1_dec1(x) :> x-=1; //x自减1_mul2(x) :> x*=2;//x自乘2_mul10(x) :> x*=10;//x自乘10_dev2(x) :> x=int(x/2);//x自除2//定义初始条件m=2;//利用状态扩展行为搜索到达结果的步骤result=target(m, //脚本值value==500,//达到的目标value~==500,//启发搜索的表达式,越接近1的节点越先被扩展(提高搜索速度){"_add1","_dec1","_mul10","_mul2","_dev2"},//支持的行为10000,//搜索状态最大数量    value//状态识别表达式);print(result);//打印{  M*=2;  M+=1;  M*=10;  M*=10;};//================================================================================// 寻路搜索,复杂搜索脚本案例m={    {0,0,0,0,1},    {0,1,1,2,1},    {1,1,0,0,1},    {0,0,0,1,0},    {0,0,1,0,0}};human={x:0,y:4,step:0};moveUp(h):>case(any(MtxGet(m,h.x,h.y-1)=={0,2}),{h.y-=1,h.step+=1}::h);moveDown(h):>case(any(MtxGet(m,h.x,h.y+1)=={0,2}),{h.y+=1,h.step+=1}::h);moveLeft(h):>case(any(MtxGet(m,h.x-1,h.y)=={0,2}),{h.x-=1,h.step+=1}::h);moveRight(h):>case(any(MtxGet(m,h.x+1,h.y)=={0,2}),{h.x+=1,h.step+=1}::h);result=target(    human, //脚本值    MtxGet(value.map,value.x,value.y)==2,//达到的目标表达式    value.step~==0,//启发搜索的表达式,越接近1的节点越先被扩展(提高搜索速度)    {"moveUp","moveDown","moveLeft","moveRight"},//支持的行为    10000,//搜索状态最大数量    {value.x,value.y}//状态识别表达式);print(result);foreach(0...(size(result)-1),{    run(result->value);    print(""+human.x +" "+human.y);});数据分析函数: |->    概述:定义关联关系运行式参数concept1 |-> concept2concept1:搜索事实concept1:执行事实返回:null功能:定义推论规则示例     fact("小明","爱","小红");//定义事实(小明爱小红)fact("小张","爱","小李");//定义事实(小张爱小李)fact("小红","爱","小李");//定义事实(小红爱小李)fact("小李","爱","小红");//定义事实(小李爱小红)fact("小王","爱","小美");//定义事实(小王爱小美)fact("小美","爱","小张");//定义事实(小美爱小张)fact("小艳","爱","小孙");//定义事实(小艳爱小孙)fact("小美","爱","小孙");//定义事实(小美爱小孙)//定义事实规则//恋人定义为一个人爱另一个人,另一个人也爱他fact(?x,"爱",?y)&&fact(?y,"爱",?x) |-> fact(?x,?y,"是恋人");//搜索m,nfact(?m,?n,"是恋人");Print(""+m+"和"+n+"是恋人");



0 0
原创粉丝点击