降低UIViewController切换的耦合

BP神经网络

function [W,err]=BPTrain(data,label,hiddenlayers,nodes,type)
%Train the bp artial nueral net work
%input data,label,layers,nodes,type
%data:dim*n
%label:1*n
%layers:m:number of hidden layers
%nodes:num_1;num_2...num_m
%type==1:create and train
%type==0:train
%tanh / 双曲正切: tanh(x) = sinh(x) / cosh(x)=[e^x - e^(-x)] / [e^x + e^(-x)]
%(tanh(x))‘=sech^2(x)
%sech / 双曲正割: sech(x) = 1 / cosh(x) = 2 / [e^x + e^(-x)]
if type==1
   %create the nureal network and train
   nodes=[size(data,1);nodes];
   nodes=[nodes+1;size(label,1)];
   %W{1}=random(,nodes(1));
   layers=hiddenlayers+2;
   for i=1:layers-2
       W{i}=rand(nodes(i),nodes(i+1)-1);
   end
   W{layers-1}=rand(nodes(layers-1),nodes(layers));
else
    %do nothing
end
%train the bp network
%the termination condition
%iteration.error
iter=0;
error=inf;
maxiter=2000;
lr=0.1;
epision=0.1;
tic
while iter<maxiter&&error>epision
    iter=iter+1;
    error=0;
    for k=1:size(data,2)
        %forward process
        y{1}=[data(:,k)];
        v{1}=y{1};
        for i=1:layers-1
            y{i}=[1;y{i}];
            v{i+1}=W{i}‘*y{i};
            y{i+1}=tanh(v{i+1});
        end
        %back process
        error=error+abs(label(k)-y{layers});
        delta=(label(k)-y{layers}).*((sech(v{layers}).^2));
        W{layers-1}=W{layers-1}+lr.*(y{layers-1}*delta);
        for i=layers-1:-1:2
            delta=sech(v{i}).^2.*(W{i}(1:size(W{i},1)-1,:)*delta);
            W{i-1}=W{i-1}+lr.*(y{i-1}*delta‘);
        end
    end
    err(iter)=error;
    error
end
toc

测试代码

function res=BPTest(W,data)
for k=1:size(data,2)
   y=data(:,k);
   for i=1:length(W)-1
       y=[1;y];
       y=tanh((W{i}‘*y));
   end
   res(k)=tanh(W{i+1}‘*[1;y]);
end
global rbf_sigma;
global rbf_center;
global rbf_weight;
if strcmp(traintype,‘data‘)
    traindist=pdist2(traindata,traindata);
    rbf_sigma=max(max(traindist))/(scale.^2);%/(2*sqrt(sqrt(length(traindata))));
    rbf_center=traindata;
    Phi=exp(-traindist./rbf_sigma);
    rbf_weight=inv(Phi)*trainlabel;

else if strcmp(traintype,‘cluster‘)
        [Idx,C,sumD,D]=kmeans(traindata,K,‘emptyaction‘,‘singleton‘);
        traindist=pdist2(traindata,C);
        Cdist=pdist2(C,C);
        rbf_sigma=max(max(Cdist))/(scale.^2);%/(2*sqrt(sqrt(length(traindata))));
        rbf_center=C;
        Phi=exp(-traindist./rbf_sigma);
        rbf_weight=inv(Phi‘*Phi)*Phi‘*trainlabel;
    else if strcmp(traintype,‘descend‘)

        end

    end
end

测试 代码

function predcict=RBFTest(data)

global rbf_sigma;
global rbf_center;
global rbf_weight;

testdist=pdist2(data,rbf_center);

predcict=exp(-testdist./(2*rbf_sigma))*rbf_weight;

降低UIViewController切换的耦合,码迷,mamicode.com

时间: 2024-11-17 20:16:59

降低UIViewController切换的耦合的相关文章

减少UIViewController切换的耦合

我们一般切换UIViewController的时候用的是例如以下代码 #import "UIViewControllerDemo.h" UIViewControllerDemo *vc = [UIViewControllerDemo alloc] initWithNibName:nil bundle:nil] autorelease]; [self.navigationController pushViewController:vc animated:YES]; 当我们须要切换的UIV

UIViewController切换动画效果设置

两个UIViewController之间的翻转可以用动画效果翻转(上下,左右翻转,翻页,淡出) UIViewController之间的切换除了UINavigationController里面的pushViewController和 popViewController与UITalbarController在viewControllers之间的切换外 还可以在其他地方自由的进行ViewController切换: MyViewController *_myViewController = [[MyVi

[原创]实例-少用单例及降低耦合

引言 我想就我个人开发时遇到的一些实际情况,与各位做一些分享,语言以c#.java为例,代码遵循语言编码规范 实例 本文以某.net客户端项目A为例,在项目A中,数据访问层存在如下多个服务模块 1.各服务内聚了数据处理逻辑,并提供简单的接口供上层业务逻辑调用 2.各个服务间存在相互调用的情况 为便于上层访问各数据服务,一些程序员会将每个服务都定位为单例,或许会习惯性的命名为XxxManager 服务间的应用,如服务A依赖服务B提供数据,不假思索的使用BSerivice.Instance.Xxx(

iOS 自定义页面的切换动画与交互动画

在iOS7之前,开发者为了寻求自定义Navigation Controller的Push/Pop动画,只能受限于子类化一个UINavigationController,或是用自定义的动画去覆盖它.但是随着iOS7的到来,Apple针对开发者推出了新的工具,以更灵活地方式管理UIViewController切换. 自定义导航栏的Push/Pop动画 为了在基于UINavigationController下做自定义的动画切换,先建立一个简单的工程,这个工程的rootViewController是一个

iOS 自定义页面的切换动画与交互动画 By Swift(转)

交互动画切换动画Swiftiosios7 目录(?)[-] 最终效果预览 自定义导航栏的PushPop动画 自定义Modal的PresentDismiss动画 自定义导航栏的交互式动画 使用UIPercentDrivenInteractiveTransition 自定义交互控制器 最终效果 UPDATED 在iOS7之前,开发者为了寻求自定义Navigation Controller的Push/Pop动画,只能受限于子类化一个UINavigationController,或是用自定义的动画去覆盖

iOS 自己定义页面的切换动画与交互动画 By Swift

在iOS7之前,开发人员为了寻求自己定义Navigation Controller的Push/Pop动画,仅仅能受限于子类化一个UINavigationController,或是用自己定义的动画去覆盖它.可是随着iOS7的到来,Apple针对开发人员推出了新的工具,以更灵活地方式管理UIViewController切换. 我把终于的Demo稍做改动,算是找了一个合适的应用场景,另外配上几张美图,拉拉人气. 尽管是Swift的Demo,可是转成Objective-C相当easy. 终于效果预览:

iOS开发 非常全的三方库、插件、大牛博客等等

UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看"使用方法". (国人写) XHRefreshControl- XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHo

iOS开发之资料收集

github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者

iOS学习资源收集

https://github.com/Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.com/search 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 其他动画 网络相关 网络连接 图像获取 网络