t_nn 0.0.1.1 → 0.0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -5
- data/lib/t_nn/feedforward_neural_network.rb +14 -4
- data/lib/t_nn/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aedd9dac70f01790932abbe5a752bf69c88f813e
|
4
|
+
data.tar.gz: b9d12f603c65331be3aadac5022129923d932a7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c7cee35b403a396de8b1d8e899fa0404de535520085bd5ee865eb923487c9467f963b110143c5e3a6939fb094be1f207d00f6162cd91b30c45d95b55c46d492
|
7
|
+
data.tar.gz: 829b178ea6c0d09111da805b10b5fefa0c8c3569614e721edb720f036dd7226455715ea10051a828ffec53e0462af3482fc40e53a1ce004d8e5ba3b1c1352002
|
data/README.md
CHANGED
@@ -43,9 +43,11 @@ err_rate = model.evaluate(x_test, y_test)
|
|
43
43
|
|
44
44
|
puts "err rate: #{err_rate}%"
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
x_test.zip(y_test).each do |x, y|
|
47
|
+
output = model.propagation(x)
|
48
|
+
puts "x#{x}, y#{y}, output#{output}"
|
49
|
+
end
|
50
|
+
|
49
51
|
|
50
52
|
```
|
51
53
|
|
@@ -53,12 +55,11 @@ puts "err rate: #{err_rate}%"
|
|
53
55
|
....
|
54
56
|
|
55
57
|
```
|
56
|
-
|
58
|
+
err rate: 2.5190691608533524%
|
57
59
|
x [0.0, 0.0], y [0.0] , output [0.03286460161620565]
|
58
60
|
x [0.0, 1.0], y [1.0] , output [0.9733866321804969]
|
59
61
|
x [1.0, 0.0], y [1.0] , output [0.9731963536942299]
|
60
62
|
x [1.0, 1.0], y [0.0] , output [0.014481150692655216]
|
61
|
-
err rate: 2.5190691608533524%
|
62
63
|
|
63
64
|
```
|
64
65
|
|
@@ -69,6 +69,7 @@ module TNN
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def propagation(x)
|
72
|
+
raise "input size is different from node num of input layer " if @layer_list[0].size != x.size
|
72
73
|
# input data
|
73
74
|
@layer_list[0].each_with_index do |node, i|
|
74
75
|
node.input (x[i])
|
@@ -85,6 +86,8 @@ module TNN
|
|
85
86
|
end
|
86
87
|
end
|
87
88
|
end
|
89
|
+
|
90
|
+
return get_output_layer
|
88
91
|
end
|
89
92
|
|
90
93
|
def calc_ave_err(y)
|
@@ -96,18 +99,21 @@ module TNN
|
|
96
99
|
return ave_err
|
97
100
|
end
|
98
101
|
|
99
|
-
|
102
|
+
|
100
103
|
#
|
101
104
|
# ===
|
102
105
|
#
|
103
106
|
# @param y Array teacher_data
|
104
107
|
#
|
105
108
|
def back_propagation(y)
|
109
|
+
|
110
|
+
raise "output size different from node num of output layer" if get_output_layer.size != y.size
|
111
|
+
# raise "o" if get_output_layer.size != y.size
|
106
112
|
delta = {}
|
107
113
|
( @layer_size - 1).downto(0) do |layer_num|
|
108
114
|
if ( @layer_size - 1) == layer_num # if output layer
|
109
115
|
@layer_list[layer_num].each_with_index do |output_node, i|
|
110
|
-
|
116
|
+
delta["#{output_node.id}"] = -1.0 * calc_err(y[i], output_node.w) * output_node.w * (1.0 -output_node.w)
|
111
117
|
end
|
112
118
|
else
|
113
119
|
@layer_list[layer_num].each do |from_node|
|
@@ -147,14 +153,18 @@ module TNN
|
|
147
153
|
err += (y_f - o.w).abs
|
148
154
|
end
|
149
155
|
sum_err += (err/y_test[0].size)
|
150
|
-
puts "x #{x}, y #{y} , output #{output}"
|
156
|
+
# puts "x #{x}, y #{y} , output #{output}"
|
151
157
|
end
|
152
158
|
return (sum_err/y_test.size) * 100.0
|
153
159
|
# return 0.0
|
154
160
|
end
|
155
161
|
|
156
162
|
def get_output_layer
|
157
|
-
|
163
|
+
output = []
|
164
|
+
@layer_list[@layer_size-1].each do |node|
|
165
|
+
output.push(node.w)
|
166
|
+
end
|
167
|
+
return output
|
158
168
|
end
|
159
169
|
|
160
170
|
class Node
|
data/lib/t_nn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: t_nn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tcom
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|