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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ab15b46b5b752ca8612a3bfdf23c074b3a2afa1d
4
- data.tar.gz: 6b2d1e5c8f97a66f2612ce0b97b079b4873fe070
3
+ metadata.gz: aedd9dac70f01790932abbe5a752bf69c88f813e
4
+ data.tar.gz: b9d12f603c65331be3aadac5022129923d932a7b
5
5
  SHA512:
6
- metadata.gz: 60fdb31a53920d57fed6753af30138d2c3503c40a2d4e3885869038d62d451ad364d8f747945ae813a7cfaad0a8d40da3fe9d4328ae3791f35c0f3472b0a0473
7
- data.tar.gz: cdb04711f302aeb0e6f0e172613230859eb84f4aecabe0ae64a072a23e87fc0bc61f37730d81f3d36590fe84493b7c5b350195f57cf9d8e2c1a1f44b63f375ef
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
- # p x_test[0]
47
- # model.propagation(x_text[0])
48
- # puts model.get_output_layer[1].w
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
- delta["#{output_node.id}"] = -1.0 * calc_err(y[i], output_node.w) * output_node.w * (1.0 -output_node.w)
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
- return @layer_list[@layer_size-1]
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
@@ -1,3 +1,3 @@
1
1
  module TNn
2
- VERSION = "0.0.1.1"
2
+ VERSION = "0.0.2.0"
3
3
  end
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.1.1
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-06 00:00:00.000000000 Z
11
+ date: 2017-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler