layer_dimensions    =   [11 22 33 22 11]';
ld_size = size(layer_dimensions , 1);
% what is deal
[x rx dx rdx y ry dy rdy dphi] = deal( cell( ld_size , 1 ) );
[W rW dW rdW] = deal( cell( ld_size-1 , 1 ) ); numsamples = 100;
%initialize weight and x,y, always allocate memory first
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numsamples );
y{i} = x{i};
if i<ld_size
W{i} = rand( layer_dimensions( i ) ,layer_dimensions( i+1 ) );
end
end
%initialize
inputs = 0*ones(layer_dimensions(1),numsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1}; numepoches = 100;
numbatches = 10;
for iii = 1:numepoches
for ii = 1:numbatches
% f0 pass
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
% r1 pass
dy{ld_size} = y{ld_size} - y{1};
error=sum(sum(abs(dy{ld_size})))
dx{ld_size} = dphi{ld_size} .* dy{ld_size};
dW{ld_size-1} = y{ld_size-1} * dx{ld_size}';
for i = ld_size-1:-1:2
dy{i} = W{i} * dx{i+1};
W{i} = W{i} - 0.3 * dW{i};
dx{i} = dphi{i} .* dy{i};
dW{i-1} = y{i-1} * dx{i}';
end
% f1 pass end
end %test
numtestsamples=3;
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numtestsamples );
y{i} = x{i};
end
inputs = zeros(layer_dimensions(1),numtestsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1};
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
y{ld_size}

  

dl简单模板,无pretraining过程的更多相关文章

  1. day7学python 初识简单模板

    初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...

  2. 再起航,我的学习笔记之JavaScript设计模式30(简单模板模式)

    简单模板模式 概念介绍 简单模板模式(Simple template): 通过格式化字符串拼凑出视图避免创建视图时大量节点操作,优化内存开销. 创建模板 在实际的业务中如果我们需要进行前后台交互,或多 ...

  3. helm-chart-2-chart结构和简单模板

    1, chart 结构介绍 我们创建一个chart 并查看其结构 右侧注释为其文件的的解释 $ helm create mychart $ cd mychart/ $ tree ├── charts ...

  4. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  5. day8学python 各种简单模板

    各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...

  6. js 简单模板引擎

    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...

  7. 69道Spring面试题和答案,简单明了无套路

    目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...

  8. 第四篇:java读取Excel简单模板

    场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...

  9. 简单的ATM取款过程

    一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...

随机推荐

  1. Math.abs(~2020) 按位取反后的绝对值是多少 2021, 按位取反后,比正数多1

    Math.abs(~2020)  按位取反后的绝对值是多少 2021, 按位取反后,比正数多1 int 值的取值 范围:   -128 ---  127   之间, 0000 0000     按位取 ...

  2. 大规模集群下的Hadoop NameNode

    本文我们来看看,如果大量客户端对NameNode发起高并发(比如每秒上千次)访问来修改元数据,此时NameNode该如何抗住? 二.问题源起 我们先来分析一下,高并发请求NameNode会遇到什么样的 ...

  3. 学习笔记52—coverletter

    SCI 论文投稿时需要递送一封 Cover letter.你曾经有没有过这样的经历:刚提笔准备写第一句话就陷入沉思——称呼怎么写?或许有的作者认为直接写 Dear editors 就可以了,不用和老外 ...

  4. 关于前端SEO的一些常用知识总结

    Search English Optimization,搜索引擎优化,简称为SEO. (1)网站结构布局优化:尽量简单 1. 控制首页链接数量:首页链接不能太多,一旦太多,没有实质性的链接,很容易影响 ...

  5. Golang简单日志类

    实现简单的日志写入文件功能运行环境:golang1.4.2+win7x64golang1.4.2+centos6.5×64 package Helper import ( “fmt” “log” “o ...

  6. 第 3 章 镜像 - 016 - Dockerfile 常用指令

    Dockerfile 常用指令 1.FROM 指定base镜像2.MAINTAINER 设置镜像的作者,可以为任意字符串3.COPY 从build context 复制到镜像 COPY 支持两种形式: ...

  7. 使用spss做方差分析

    还记得上学那会老师专门敲了黑板,强调方差分析很重要..单因素方差分析(Analysis of Variance, ANOVA),如果变量多,就是多因素方差分析,还需要考虑到多重共线性, 也就是线性代数 ...

  8. Tomcat基本组件、其功能和处理请求的过程

      一.Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中 Tomcat的各个组件是 ...

  9. Two Melodies CodeForces - 813D (DP,技巧)

    https://codeforces.com/problemset/problem/813/D dp[i][j] = 一条链以i结尾, 另一条链以j结尾的最大值 关键要保证转移时两条链不能相交 #in ...

  10. java利用jxl实现Excel导入功能

    本次项目实践基于Spring+SpringMvc+MyBatis框架,简单实现了Excel模板导出.和Excel批量导入的功能.实现过程如下:. 1.maven导入所需jar包 <depende ...