9 8 7 (x-1.0)*(x-1.0) *(x-1.0) (a) f(a) (b) f(a) Figure 1: f(a) a =1.0 (1) a 1.0 f(1.0)

Similar documents
C 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

comment.dvi

joho09.ppt

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

コンピュータ概論

: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology


2017 p vs. TDGL 4 Metropolis Monte Carlo equation of continuity s( r, t) t + J( r, t) = 0 (79) J s flux (67) J (79) J( r, t) = k δf δs s( r,

C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.

x T = (x 1,, x M ) x T x M K C 1,, C K 22 x w y 1: 2 2

鉄鋼協会プレゼン

C


1 4 2 EP) (EP) (EP)

untitled

XMPによる並列化実装2

DKA ( 1) 1 n i=1 α i c n 1 = 0 ( 1) 2 n i 1 <i 2 α i1 α i2 c n 2 = 0 ( 1) 3 n i 1 <i 2 <i 3 α i1 α i2 α i3 c n 3 = 0. ( 1) n 1 n i 1 <i 2 < <i

program.dvi

超初心者用

lecture

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

医系の統計入門第 2 版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 第 2 版 1 刷発行時のものです.

kubostat2018d p.2 :? bod size x and fertilization f change seed number? : a statistical model for this example? i response variable seed number : { i

USB ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY ID 5 () #define StudentID 231


[ 1] 1 Hello World!! 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 p r i n t f ( H e l l o World!! \ n ) ; 6 7 return 0 ; 8 } 1:

9. 05 L x P(x) P(0) P(x) u(x) u(x) (0 < = x < = L) P(x) E(x) A(x) P(L) f ( d EA du ) = 0 (9.) dx dx u(0) = 0 (9.2) E(L)A(L) du (L) = f (9.3) dx (9.) P

実際の株価データを用いたオプション料の計算

第7章 有限要素法のプログラミング

#define N1 N+1 double x[n1] =.5, 1., 2.; double hokan[n1] = 1.65, 2.72, 7.39 ; double xx[]=.2,.4,.6,.8,1.2,1.4,1.6,1.8; double lagrng(double xx); main

数学の基礎訓練I

C 2 2.1? 3x 2 + 2x + 5 = 0 (1) 1


1. A0 A B A0 A : A1,...,A5 B : B1,...,B

日本内科学会雑誌第102巻第4号

統計的データ解析

資料

r07.dvi

j x j j j + 1 l j l j = x j+1 x j, n x n x 1 = n 1 l j j=1 H j j + 1 l j l j E

ohp07.dvi

73


BW BW


untitled

TOP URL 1

QR

新版明解C言語 実践編

基礎数学I


80 X 1, X 2,, X n ( λ ) λ P(X = x) = f (x; λ) = λx e λ, x = 0, 1, 2, x! l(λ) = n f (x i ; λ) = i=1 i=1 n λ x i e λ i=1 x i! = λ n i=1 x i e nλ n i=1 x

(search: ) [1] ( ) 2 (linear search) (sequential search) 1

DOPRI5.dvi

Taro-リストⅠ(公開版).jtd


(2-1) x, m, 2 N(m, 2 ) x REAL*8 FUNCTION NRMDST (X, M, V) X,M,V REAL*8 x, m, 2 X X N(0,1) f(x) standard-norm.txt normdist1.f x=0, 0.31, 0.5


Krylov (b) x k+1 := x k + α k p k (c) r k+1 := r k α k Ap k ( := b Ax k+1 ) (d) β k := r k r k 2 2 (e) : r k 2 / r 0 2 < ε R (f) p k+1 :=

10

,, Poisson 3 3. t t y,, y n Nµ, σ 2 y i µ + ɛ i ɛ i N0, σ 2 E[y i ] µ * i y i x i y i α + βx i + ɛ i ɛ i N0, σ 2, α, β *3 y i E[y i ] α + βx i

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

OHP.dvi

c-all.dvi

: (EQS) /EQUATIONS V1 = 30*V F1 + E1; V2 = 25*V *F1 + E2; V3 = 16*V *F1 + E3; V4 = 10*V F2 + E4; V5 = 19*V99

C言語によるアルゴリズムとデータ構造

y i OLS [0, 1] OLS x i = (1, x 1,i,, x k,i ) β = (β 0, β 1,, β k ) G ( x i β) 1 G i 1 π i π i P {y i = 1 x i } = G (


Łñ“’‘‚2004

プリント

kiso2-09.key

第11回:線形回帰モデルのOLS推定

Part () () Γ Part ,

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

スケーリング理論とはなにか? - --尺度を変えて見えること--

all.dvi

³ÎΨÏÀ

:30 12:00 I. I VI II. III. IV. a d V. VI

1 1.1 (JCPRG) 30 Nuclear Reaction Data File (NRDF) PC GSYS2.4 JCPRG GSYS2.4 Java Windows, Linux, Max OS X, FreeBSD GUI PNG, GIF, JPEG X Y GSYS2

プログラム

放射線専門医認定試験(2009・20回)/HOHS‐05(基礎二次)

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

k2 ( :35 ) ( k2) (GLM) web web 1 :

y = x x R = 0. 9, R = σ $ = y x w = x y x x w = x y α ε = + β + x x x y α ε = + β + γ x + x x x x' = / x y' = y/ x y' =

II A A441 : October 02, 2014 Version : Kawahira, Tomoki TA (Kondo, Hirotaka )

solutionJIS.dvi

Taro-再帰関数Ⅱ(公開版).jtd

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² –

G1. tateyama~$ gcc -c xxxxx.c ( ) xxxxx.o tateyama~$ gcc -o xxxxx.o yyyyy.o..... zzzzz.o Makefile make Makefile : xxxxx.o yyyyy.o... zzzzz.o ; gcc -o

AR(1) y t = φy t 1 + ɛ t, ɛ t N(0, σ 2 ) 1. Mean of y t given y t 1, y t 2, E(y t y t 1, y t 2, ) = φy t 1 2. Variance of y t given y t 1, y t

s = 1.15 (s = 1.07), R = 0.786, R = 0.679, DW =.03 5 Y = 0.3 (0.095) (.708) X, R = 0.786, R = 0.679, s = 1.07, DW =.03, t û Y = 0.3 (3.163) + 0

6 6.1 sound_wav_files flu00.wav.wav 44.1 khz 1/44100 spwave Text with Time spwave t T = N t N 44.1 khz t = 1 sec j t f j {f 0, f 1, f 2,, f N 1

num2.dvi

2014計算機実験1_1

卒 業 研 究 報 告.PDF

dvi

2 P.S.P.T. P.S.P.T. wiki 26

p = 1, 2, cos 2n + p)πj = cos 2nπj 2n + p)πj, sin = sin 2nπj 7.1) f j = a ) 0 + a p + a n+p cos 2nπj p=1 p=0 1 + ) b n+p p=0 sin 2nπj 1 2 a 0 +

1 12 *1 *2 (1991) (1992) (2002) (1991) (1992) (2002) 13 (1991) (1992) (2002) *1 (2003) *2 (1997) 1

Transcription:

E-mail: takio-kurita@aist.go.jp 1 ( ) CPU ( ) 2 1. a f(a) =(a 1.0) 2 (1) a ( ) 1(a) f(a) a (1) a f(a) a =2(a 1.0) (2) 2 0 a f(a) a =2(a 1.0) = 0 (3) 1

9 8 7 (x-1.0)*(x-1.0) 6 4 2.0*(x-1.0) 6 2 5 4 0 3-2 2 1-4 0-2 -1 0 1 2 3 4 (a) f(a) -6-2 -1 0 1 2 3 4 (b) f(a) Figure 1: f(a) a =1.0 (1) a 1.0 f(1.0) = (1.0 1.0) 2 =0.0 f(a) 0 a =1.0 0.0 ( ) ( ) ( ) 1 a (k+1) = a (k) α f(a) a a=a (k) (4) a (k) k a f(a) a a=a (k) a = a (k) a α 1 α 1 1 1 a f(a) a f(a) a =2(a 1.0) (5) a (k+1) = a (k) 2α(a (k) 1.0) (6) 1(b) f(a) a f(a) a 1.0 a 1.0 1.0 a /* * Program to find the optimum value * which minimizes the function f(a) = (a - 1.0)^2 2

* using Steepest Decent Method */ #include <stdio.h> #include <stdlib.h> #include <math.h> double f(double a) { return((a-1.0)*(a-1.0)); double df(double a) { return(2.0*(a-1.0)); main() { double a; int i; double alpha = 0.1; /* Learning Rate */ /* set the initial value of a by random number within [-50.0:50.0] */ a = 100.0 * (drand48() - 0.5); printf("value of a at Step 0 is %f, ", a); printf("value of f(a) is %f\n", f(a)); for (i = 1; i < 100; i++) { /* update theta by steepest decent method */ a = a - alpha * df(a); printf("value of a at Step %d is %f, ", i, a); printf("value of f(a) is %f\n", f(a)); f df a 100 alpha 0.1 Value of a at Step 0 is -50.000000, Value of f(a) is 2601.000000 Value of a at Step 1 is -39.800000, Value of f(a) is 1664.640000 Value of a at Step 2 is -31.640000, Value of f(a) is 1065.369600 Value of a at Step 3 is -25.112000, Value of f(a) is 681.836544 Value of a at Step 4 is -19.889600, Value of f(a) is 436.375388 Value of a at Step 5 is -.711680, Value of f(a) is 279.280248 Value of a at Step 6 is -12.369344, Value of f(a) is 178.739359 Value of a at Step 7 is -9.695475, Value of f(a) is 114.393190 Value of a at Step 8 is -7.556380, Value of f(a) is 73.211641 Value of a at Step 9 is -5.845104, Value of f(a) is 46.855451 Value of a at Step 10 is -4.476083, Value of f(a) is 29.987488 Value of a at Step 11 is -3.380867, Value of f(a) is 19.191993 Value of a at Step 12 is -2.504693, Value of f(a) is 12.282875 Value of a at Step 13 is -1.803755, Value of f(a) is 7.861040 Value of a at Step 14 is -1.243004, Value of f(a) is 5.031066 Value of a at Step is -0.794403, Value of f(a) is 3.219882 Value of a at Step 16 is -0.435522, Value of f(a) is 2.060725 Value of a at Step 17 is -0.148418, Value of f(a) is 1.318864 3

Value of a at Step 18 is 0.081266, Value of f(a) is 0.844073 Value of a at Step 19 is 0.265013, Value of f(a) is 0.540207 Value of a at Step 20 is 0.412010, Value of f(a) is 0.345732 Value of a at Step 21 is 0.529608, Value of f(a) is 0.221269 Value of a at Step 22 is 0.623686, Value of f(a) is 0.141612 Value of a at Step 23 is 0.698949, Value of f(a) is 0.090632 Value of a at Step 24 is 0.7599, Value of f(a) is 0.058004 Value of a at Step 25 is 0.807327, Value of f(a) is 0.037123 Value of a at Step 26 is 0.845862, Value of f(a) is 0.023759 Value of a at Step 27 is 0.876690, Value of f(a) is 0.0205 Value of a at Step 28 is 0.901352, Value of f(a) is 0.009731 Value of a at Step 29 is 0.921081, Value of f(a) is 0.006228 Value of a at Step 30 is 0.936865, Value of f(a) is 0.003986 Value of a at Step 31 is 0.949492, Value of f(a) is 0.002551 Value of a at Step 32 is 0.959594, Value of f(a) is 0.001633 Value of a at Step 33 is 0.967675, Value of f(a) is 0.001045 Value of a at Step 34 is 0.974140, Value of f(a) is 0.000669 Value of a at Step 35 is 0.979312, Value of f(a) is 0.000428 Value of a at Step 36 is 0.983450, Value of f(a) is 0.000274 Value of a at Step 37 is 0.986760, Value of f(a) is 0.000175 Value of a at Step 38 is 0.989408, Value of f(a) is 0.000112 Value of a at Step 39 is 0.9926, Value of f(a) is 0.000072 Value of a at Step 40 is 0.993221, Value of f(a) is 0.000046 Value of a at Step 41 is 0.994577, Value of f(a) is 0.000029 Value of a at Step 42 is 0.995661, Value of f(a) is 0.000019 Value of a at Step 43 is 0.996529, Value of f(a) is 0.000012 Value of a at Step 44 is 0.997223, Value of f(a) is 0.000008 Value of a at Step 45 is 0.997779, Value of f(a) is 0.000005 Value of a at Step 46 is 0.998223, Value of f(a) is 0.000003 Value of a at Step 47 is 0.998578, Value of f(a) is 0.000002 Value of a at Step 48 is 0.998863, Value of f(a) is 0.000001 Value of a at Step 49 is 0.999090, Value of f(a) is 0.000001 Value of a at Step 50 is 0.999272, Value of f(a) is 0.000001 Value of a at Step 51 is 0.999418, Value of f(a) is 0.000000 Value of a at Step 52 is 0.999534, Value of f(a) is 0.000000 Value of a at Step 53 is 0.999627, Value of f(a) is 0.000000 Value of a at Step 54 is 0.999702, Value of f(a) is 0.000000 Value of a at Step 55 is 0.999761, Value of f(a) is 0.000000 Value of a at Step 56 is 0.999809, Value of f(a) is 0.000000 Value of a at Step 57 is 0.999847, Value of f(a) is 0.000000 Value of a at Step 58 is 0.999878, Value of f(a) is 0.000000 Value of a at Step 59 is 0.999902, Value of f(a) is 0.000000 Value of a at Step 60 is 0.999922, Value of f(a) is 0.000000 Value of a at Step 61 is 0.999937, Value of f(a) is 0.000000 Value of a at Step 62 is 0.999950, Value of f(a) is 0.000000 Value of a at Step 63 is 0.999960, Value of f(a) is 0.000000 Value of a at Step 64 is 0.999968, Value of f(a) is 0.000000 Value of a at Step 65 is 0.999974, Value of f(a) is 0.000000 Value of a at Step 66 is 0.999980, Value of f(a) is 0.000000 Value of a at Step 67 is 0.999984, Value of f(a) is 0.000000 Value of a at Step 68 is 0.999987, Value of f(a) is 0.000000 Value of a at Step 69 is 0.999990, Value of f(a) is 0.000000 Value of a at Step 70 is 0.999992, Value of f(a) is 0.000000 Value of a at Step 71 is 0.999993, Value of f(a) is 0.000000 Value of a at Step 72 is 0.999995, Value of f(a) is 0.000000 4

Value of a at Step 73 is 0.999996, Value of f(a) is 0.000000 Value of a at Step 74 is 0.999997, Value of f(a) is 0.000000 Value of a at Step 75 is 0.999997, Value of f(a) is 0.000000 Value of a at Step 76 is 0.999998, Value of f(a) is 0.000000 Value of a at Step 77 is 0.999998, Value of f(a) is 0.000000 Value of a at Step 78 is 0.999999, Value of f(a) is 0.000000 Value of a at Step 79 is 0.999999, Value of f(a) is 0.000000 Value of a at Step 80 is 0.999999, Value of f(a) is 0.000000 Value of a at Step 81 is 0.999999, Value of f(a) is 0.000000 Value of a at Step 82 is 0.999999, Value of f(a) is 0.000000 Value of a at Step 83 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 84 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 85 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 86 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 87 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 88 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 89 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 90 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 91 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 92 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 93 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 94 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 95 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 96 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 97 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 98 is 1.000000, Value of f(a) is 0.000000 Value of a at Step 99 is 1.000000, Value of f(a) is 0.000000 a 1.0 f(a) 0.0 1. a f(a) =(a 1.0) 2 (a +1.0) 2 (7) f(a) a f(a) a =4.0a(a 1.0)(a +1.0) (8) 2(a) (b) 3 2 ( ) ( ) 5

1.6 1.4 (x-1.0)*(x-1.0)*(x+1.0)*(x+1.0) 8 6 4.0 * x * (x-1.0)*(x+1.0) 1.2 4 1 2 0.8 0 0.6-2 0.4-4 0.2-6 0-1.5-1 -0.5 0 0.5 1 1.5 (a) f(a) -8-1.5-1 -0.5 0 0.5 1 1.5 (b) f(a) Figure 2: f(a) Table 1: (t) (x1) (x2) (x3) (m) (kg) (cm) (kg) 1 22 28 146 34 2 36 46 169 57 3 24 39 160 48 4 22 25 6 38 5 27 34 161 47 6 29 29 168 50 7 26 38 4 54 8 23 23 3 40 9 31 42 160 62 10 24 27 2 39 11 23 35 5 46 12 27 39 4 54 13 31 38 7 57 14 25 32 162 53 23 25 142 32 2. (t) (x1) (x2) (x3) (x1) (x2) (x3) (t) y(x1,x2,x3) = a 0 + a 1 x1+a 2 x2+a 3 x3 (9 ) (t) (x1) (x2) (x3) {< t l,x1 l,x2 l,x3 l > l =1,..., l y(x1 l,x2 l,x3 l )=a 0 + a 1 x1 l + a 2 x2 l + a 3 x3 l (10) a 0,a 1,a 2 a 3 4 2 <x1 l,x2 l,x3 l > t l y l (t l y l ) 2 2 ε 2 (a 0,a 1,a 2,a 3 ) ε 2 (a 0,a 1,a 2,a 3 ) = 1 ε 2 l = 1 6 (t l y l ) 2

= 1 {t l (a 0 + a 1 x1 l + a 2 x2 l + a 3 x3 l ) 2 (11) ε 2 (a 0,a 1,a 2,a 3 ) 2 (11) a 0 ε 2 a 0 = 2{( 1 t l ) a 0 ( 1 1) a 1 ( 1 x1 l ) a 2 ( 1 x2 l ) a 3 ( 1 x3 l ) = 2{ t a 0 a 1 x1 a 2 x2 a 3 x3 (12) 0 ε2 a 0 =0 a 0 = t a 1 x1 a 2 x2 a 3 x3 (13) t, x1, x2 x3 t, x1, x2 x3 t = 1 x1 = 1 x2 = 1 x3 = 1 t l (10) x1 l x2 l x3 l (14) y(x1 l,x2 l,x3 l )= t + a 1 (x1 l x1) + a 2 (x2 l x2) + a 3 (x3 l x3) () a 1, a 2 a 3 ε 2 (a 1,a 2,a 3 ) = 1 = 1 (t l y l ) 2 {t l t a 1 (x1 l x1) a 2 (x2 l x2) a 3 (x3 l x3) 2 (16) a 1 ε 2 = 1 {t l t a 1 (x1 l x1) a 2 (x2 l x2) a 3 (x3 l x3){x1 l x1 a 1 = {σ t1 a 1 σ 11 a 2 σ 21 a 3 σ 31 (17) a 2 a 3 ε 2 a 2 = {σ t2 a 1 σ 12 a 2 σ 22 a 3 σ 32 (18) ε 2 a 3 = {σ t3 a 1 σ 13 a 2 σ 23 a 3 σ 33 (19) 7

σ 11 = 1 σ 12 = 1 σ 13 = 1 σ 21 = 1 σ 22 = 1 σ 23 = 1 σ 31 = 1 σ 32 = 1 σ 33 = 1 σ t1 = 1 σ t2 = 1 σ t3 = 1 (x1 l x1)(x1 l x1), (x1 l x1)(x2 l x2), (x1 l x1)(x3 l x3), (x2 l x2)(x1 l x1), (x2 l x2)(x2 l x2), (x2 l x2)(x3 l x3), (x3 l x3)(x1 l x1), (x3 l x3)(x2 l x2), (x3 l x3)(x3 l x3), (t l t)(x1 l x1), (t l t)(x2 l x2), (t l t)(x3 l x3) (20) σ 12 = σ 21, σ 13 = σ 31, σ 23 = σ 32 (21) 0 0 a 1 σ 11 + a 2 σ 12 + a 3 σ 13 = σ t1 a 1 σ 21 + a 2 σ 22 + a 3 σ 23 = σ t2 a 1 σ 31 + a 2 σ 32 + a 3 σ 33 = σ t3 (22) Σa = σ (23) Σ a, σ σ 11 σ 12 σ 13 a 1 σ t1 Σ= σ 21 σ 22 σ 23, a = a 2, σ = σ t2 σ 31 σ 32 σ 33 a 3 σ t3 (24) 8

Σ Σ Σ 1 Σ 1 a =Σ 1 σ (25) Σ 3 3 Σ 1 = 1 σ 22 σ 33 σ23 2 σ 12 σ 33 + σ 13 σ 23 ( σ 12 σ 23 + σ 13 σ 22 ) σ 12 σ 33 + σ 13 σ 23 σ 11 σ 33 σ13 2 (σ 11 σ 23 σ 12 σ 13 ) (26) Σ ( σ 12 σ 23 + σ 13 σ 22 ) (σ 11 σ 23 σ 12 σ 13 ) σ 11 σ 22 σ12 2 Σ Σ Σ = σ 11 σ 22 σ 33 σ 11 σ23 2 σ12σ 2 33 σ13 2 σ 22 +2σ 12 σ 13 σ 23 Σ 0 a 0 = 13.21730 a 1 = 0.20138 a 2 = 0.17103 a 3 = 0.12494 (27) (x1 = 30) (x2 = 165) (x3 = 55) y = 13.21730 + 0.20138x30 + 0.17103x165 + 0.12494x55 = 27.975 (28) Σ 3 3 2 ( ) (11) a 0 ε 2 a 0 = 2 1 {ε l ε l a 0 = 2 1 ε l = 2 1 a 1, a 2 a 3 ε 2 a 1 = 2 1 ε 2 a 2 = 2 1 ε 2 a 3 = 2 1 {ε l ε l a 1 = 2 1 {ε l ε l a 2 = 2 1 {ε l ε l a 3 = 2 1 ε l x1 l = 2 1 ε l x2 l = 2 1 ε l x3 l = 2 1 (t l y(x1 l,x2 l,x3 l )) (29) (t l y(x1 l,x2 l,x3 l ))x1 l (t l y(x1 l,x2 l,x3 l ))x2 l (t l y(x1 l,x2 l,x3 l ))x3 l (30) 9

a (k+1) 0 = a (k) 0 α ε2 a a0=a = a (k) (k) 0 +2α 1 0 0 a (k+1) 1 = a (k) 1 α ε2 a a1=a = a (k) (k) 1 +2α 1 1 1 a (k+1) 2 = a (k) 2 α ε2 a a2=a = a (k) (k) 2 +2α 1 2 2 a (k+1) 3 = a (k) 3 α ε2 a a3=a = a (k) (k) 3 +2α 1 3 3 (t l y(x1 l,x2 l,x3 l )) (t l y(x1 l,x2 l,x3 l ))x1 l (t l y(x1 l,x2 l,x3 l ))x2 l (t l y(x1 l,x2 l,x3 l ))x3 l (31) (x1) (x2) (x3) (t) (x1,x2,x3) 100 x1 = x1 100, x2 = x2 100, x3 = x3 100 (32) #include <stdio.h> #define NSAMPLE #define XDIM 3 main() { FILE *fp; double t[nsample]; double x[nsample][xdim]; double a[xdim+1]; int i, j, l; double y, err, mse; double derivatives[xdim+1]; double alpha = 0.2; /* Learning Rate */ /* Open Data File */ if ((fp = fopen("ball.dat","r")) == NULL) { fprintf(stderr,"file Open Fail\n"); exit(1); /* Read Data */ /* Teacher Signal (Ball) */ fscanf(fp,"%lf", &(t[l])); /* Input input vectors */ for (j = 0; j < XDIM; j++) { fscanf(fp,"%lf",&(x[l][j])); 10

/* Close Data File */ fclose(fp); /* Print the data */ printf("%3d : %8.2f ", l, t[l]); for (j = 0; j < XDIM; j++) { printf("%8.2f ", x[l][j]); printf("\n"); /* scaling the data */ /* t[l] = t[l] / tmean;*/ for (j = 0; j < XDIM; j++) { x[l][j] = x[l][j] / 100.0; /* Initialize the parameters by random number */ for (j = 0; j < XDIM+1; j++) { a[j] = (drand48() - 0.5); /* Open output file */ fp = fopen("mse.out","w"); /* Learning the parameters */ for (i = 1; i < 20000; i++) { /* Learning Loop */ /* Compute derivatives */ /* Initialize derivatives */ for (j = 0; j < XDIM+1; j++) { derivatives[j] = 0.0; /* update derivatives */ /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; /* printf("err[%d] = %f\n", l, err);*/ /* update derivatives */ derivatives[0] += err; for (j = 1; j < XDIM+1; j++) { derivatives[j] += err * x[l][j-1]; 11

for (j = 0; j < XDIM+1; j++) { derivatives[j] = -2.0 * derivatives[j] / (double)nsample; /* update parameters */ for (j = 0; j < XDIM+1; j++) { a[j] = a[j] - alpha * derivatives[j]; /* Compute Mean Squared Error */ mse = 0.0; /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; mse += err * err; mse = mse / (double)nsample; printf("%d : Mean Squared Error is %f\n", i, mse); fprintf(fp, "%f\n", mse); fclose(fp); /* Print Estmated Parameters */ for (j = 0; j < XDIM+1; j++) { printf("a[%d]=%f, ",j, a[j]); printf("\n"); /* Prediction and Errors */ /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; printf("%3d : t = %f, y = %f (err = %f)\n", l, t[l], y, err); 12

a[0]=-13.6891, a[1]=20.077345, a[2]=17.056200, a[3]=12.562173, 0 : t = 22.000000, y = 21.637957 (err = 0.362043) 1 : t = 36.000000, y = 32.064105 (err = 3.935895) 2 : t = 24.000000, y = 27.993037 (err = -3.993037) 3 : t = 22.000000, y = 23.243744 (err = -1.243744) 4 : t = 27.000000, y = 27.034110 (err = -0.034110) 5 : t = 29.000000, y = 27.601042 (err = 1.398958) 6 : t = 26.000000, y = 27.522622 (err = -1.522622) 7 : t = 23.000000, y = 22.581754 (err = 0.418246) 8 : t = 31.000000, y = 30.354062 (err = 0.645938) 9 : t = 24.000000, y = 23.088664 (err = 0.911336) 10 : t = 23.000000, y = 26.085890 (err = -3.085890) 11 : t = 27.000000, y = 27.723396 (err = -0.723396) 12 : t = 31.000000, y = 28.411174 (err = 2.588826) 13 : t = 25.000000, y = 27.556856 (err = -2.556856) 14 : t = 23.000000, y = 20.102145 (err = 2.897855) 4 1 1 Threshold Linear 0.8 0.8 0.6 0.4 0.6 0.2 0 0.4-0.2-0.4 0.2-0.6-0.8 0-4 -2 0 2 4-1 -4-2 0 2 4 1 0.9 Logistic 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-4 -2 0 2 4 (a) (b) (c) Figure 3: 1943 McCulloch Pitts M (±1) <x 1,x 2,...,x M > y 13

( ) M y = U( a i x i + a 0 ) (33) U(η) i=1 U(η) = { 1, if η>0 1, if η 0 (34) 3(a) McCulloch Pitts 1949 Hebb ( ) Hebb x 1 x 2 x 3 a 1 a 2 a 3 f z x 4 a 4 Figure 4: 1957 Rosenblatt 4 ( ) Rosenblatt 5 ADALINE 1960 Widrow Hoff ADALINE(Adaptive Linear Neuron) M y = a i x i + a 0 (35) i=1 (a 0,a 1,...,a M ) McCulloch Pitts Rosenblatt 3(b) ADALINE (x1) (x2) (x3) (x4) 14

50 Fisher 1936 (t =1) (t =0) (x1) (x2) (x3) (x4) ADALINE y(x1,x2,x3,x4) = a 0 + a 1 x1+a 2 x2+a 3 x3+a 4 x4 (36) ADALINE (a 0,a 1,a 2,a 3,a 4 ) a (k+1) 0 = a (k) 0 +2α 1 100 (t l y l ) 100 a (k+1) 1 = a (k) 1 +2α 1 100 (t l y l )x1 l 100 a (k+1) 2 = a (k) 2 +2α 1 100 (t l y l )x2 l 100 a (k+1) 3 = a (k) 3 +2α 1 100 (t l y l )x3 l 100 a (k+1) 4 = a (k) 4 +2α 1 100 (t l y l )x4 l (37) 100 t l y l l ADALINE x1 l x2 l x3 l x4 l l ADALINE ADALINE 1 0 #include <stdio.h> #include <stdlib.h> #define frand() rand()/((double)rand_max) #define NSAMPLE 100 #define XDIM 4 main() { FILE *fp; double t[nsample]; double x[nsample][xdim]; double a[xdim+1]; int i, j, l; double y, err, mse; double derivatives[xdim+1]; double alpha = 0.1; /* Learning Rate */ /* Open Data File */ if ((fp = fopen("niris.dat","r")) == NULL) { fprintf(stderr,"file Open Fail\n"); exit(1);

/* Read Data */ /* Input input vectors */ for (j = 0; j < XDIM; j++) { fscanf(fp,"%lf",&(x[l][j])); /* Set teacher signal */ if (l < 50) t[l] = 1.0; else t[l] = 0.0; /* Close Data File */ fclose(fp); /* Print the data */ printf("%3d : %8.2f ", l, t[l]); for (j = 0; j < XDIM; j++) { printf("%8.2f ", x[l][j]); printf("\n"); /* Initialize the parameters by random number */ for (j = 0; j < XDIM+1; j++) { a[j] = (frand() - 0.5); /* Open output file */ fp = fopen("mse.out","w"); /* Learning the parameters */ for (i = 1; i < 1000; i++) { /* Learning Loop */ /* Compute derivatives */ /* Initialize derivatives */ for (j = 0; j < XDIM+1; j++) { derivatives[j] = 0.0; /* update derivatives */ /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; /* printf("err[%d] = %f\n", l, err);*/ /* update derivatives */ derivatives[0] += err; for (j = 1; j < XDIM+1; j++) { derivatives[j] += err * x[l][j-1]; 16

for (j = 0; j < XDIM+1; j++) { derivatives[j] = -2.0 * derivatives[j] / (double)nsample; /* update parameters */ for (j = 0; j < XDIM+1; j++) { a[j] = a[j] - alpha * derivatives[j]; /* Compute Mean Squared Error */ mse = 0.0; /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; mse += err * err; mse = mse / (double)nsample; printf("%d : Mean Squared Error is %f\n", i, mse); fprintf(fp, "%f\n", mse); fclose(fp); /* Print Estmated Parameters */ printf("\nestimated Parameters\n"); for (j = 0; j < XDIM+1; j++) { printf("a[%d]=%f, ",j, a[j]); printf("\n\n"); /* Prediction and Errors */ /* prediction */ y = a[0]; for (j = 1; j < XDIM+1; j++) { y += a[j] * x[l][j-1]; /* error */ err = t[l] - y; if ((1.0 - y)*(1.0 - y) <= (0.0 - y)*(0.0 - y)) { if (l < 50) { printf("%3d [Class1 : correct] : t = %f, y = %f (err = %f)\n", l, t[l], y, err); 17

else { printf("%3d [Class1 : not correct] : t = %f, y = %f (err = %f)\n", l, t[l], y, err); else { if (l >= 50) { printf("%3d [Class2 : correct] : t = %f, y = %f (err = %f)\n", l, t[l], y, err); else { printf("%3d [Class2 : not correct] : t = %f, y = %f (err = %f)\n", l, t[l], y, err); 2 niris.dat 0 1 2 2 0 1 Estimated Parameters a[0]=1.239302, a[1]=0.145552, a[2]=0.1394, a[3]=-0.638937, a[4]=-0.537277, 0 [Class1 : correct] : t = 1.000000, y = 1.003690 (err = -0.003690) 1 [Class1 : correct] : t = 1.000000, y = 0.899888 (err = 0.100112) 2 [Class1 : correct] : t = 1.000000, y = 0.810625 (err = 0.189375) 3 [Class1 : correct] : t = 1.000000, y = 0.775510 (err = 0.224490) 4 [Class1 : correct] : t = 1.000000, y = 0.752820 (err = 0.247180) 5 [Class1 : correct] : t = 1.000000, y = 0.789633 (err = 0.210367) 6 [Class1 : correct] : t = 1.000000, y = 0.771009 (err = 0.228991) 7 [Class1 : correct] : t = 1.000000, y = 1.168271 (err = -0.168271) 8 [Class1 : correct] : t = 1.000000, y = 0.943976 (err = 0.056024) 9 [Class1 : correct] : t = 1.000000, y = 0.816619 (err = 0.183381) 10 [Class1 : correct] : t = 1.000000, y = 0.984887 (err = 0.0113) 11 [Class1 : correct] : t = 1.000000, y = 0.856557 (err = 0.143443) 12 [Class1 : correct] : t = 1.000000, y = 1.043678 (err = -0.043678) 13 [Class1 : correct] : t = 1.000000, y = 0.748846 (err = 0.2514) 14 [Class1 : correct] : t = 1.000000, y = 1.130948 (err = -0.130948) [Class1 : correct] : t = 1.000000, y = 1.027689 (err = -0.027689) 16 [Class1 : correct] : t = 1.000000, y = 0.694755 (err = 0.305245) 17 [Class1 : correct] : t = 1.000000, y = 1.132590 (err = -0.132590) 18 [Class1 : correct] : t = 1.000000, y = 0.543723 (err = 0.456277) 19 [Class1 : correct] : t = 1.000000, y = 1.035076 (err = -0.035076) 20 [Class2 : not correct] : t = 1.000000, y = 0.490680 (err = 0.509320) 21 [Class1 : correct] : t = 1.000000, y = 1.041685 (err = -0.041685) 22 [Class1 : correct] : t = 1.000000, y = 0.512358 (err = 0.487642) 23 [Class1 : correct] : t = 1.000000, y = 0.858199 (err = 0.141801) 24 [Class1 : correct] : t = 1.000000, y = 1.017686 (err = -0.017686) 25 [Class1 : correct] : t = 1.000000, y = 0.977978 (err = 0.022022) 26 [Class1 : correct] : t = 1.000000, y = 0.803766 (err = 0.196234) 27 [Class1 : correct] : t = 1.000000, y = 0.565534 (err = 0.434466) 28 [Class1 : correct] : t = 1.000000, y = 0.733136 (err = 0.266864) 29 [Class1 : correct] : t = 1.000000, y = 1.300773 (err = -0.300773) 30 [Class1 : correct] : t = 1.000000, y = 1.021680 (err = -0.021680) 18

31 [Class1 : correct] : t = 1.000000, y = 1.128719 (err = -0.128719) 32 [Class1 : correct] : t = 1.000000, y = 1.063775 (err = -0.063775) 33 [Class2 : not correct] : t = 1.000000, y = 0.380334 (err = 0.619666) 34 [Class1 : correct] : t = 1.000000, y = 0.659518 (err = 0.340482) 35 [Class1 : correct] : t = 1.000000, y = 0.822877 (err = 0.177123) 36 [Class1 : correct] : t = 1.000000, y = 0.848019 (err = 0.1981) 37 [Class1 : correct] : t = 1.000000, y = 0.771196 (err = 0.228804) 38 [Class1 : correct] : t = 1.000000, y = 0.981463 (err = 0.018537) 39 [Class1 : correct] : t = 1.000000, y = 0.839696 (err = 0.160304) 40 [Class1 : correct] : t = 1.000000, y = 0.797250 (err = 0.202750) 41 [Class1 : correct] : t = 1.000000, y = 0.817255 (err = 0.182745) 42 [Class1 : correct] : t = 1.000000, y = 0.995367 (err = 0.004633) 43 [Class1 : correct] : t = 1.000000, y = 1.3796 (err = -0.3796) 44 [Class1 : correct] : t = 1.000000, y = 0.848869 (err = 0.1131) 45 [Class1 : correct] : t = 1.000000, y = 1.033489 (err = -0.033489) 46 [Class1 : correct] : t = 1.000000, y = 0.930673 (err = 0.069327) 47 [Class1 : correct] : t = 1.000000, y = 0.982449 (err = 0.017551) 48 [Class1 : correct] : t = 1.000000, y = 1.273824 (err = -0.273824) 49 [Class1 : correct] : t = 1.000000, y = 0.934896 (err = 0.065104) 50 [Class2 : correct] : t = 0.000000, y = -0.337600 (err = 0.337600) 51 [Class2 : correct] : t = 0.000000, y = 0.132929 (err = -0.132929) 52 [Class2 : correct] : t = 0.000000, y = 0.026276 (err = -0.026276) 53 [Class2 : correct] : t = 0.000000, y = 0.174352 (err = -0.174352) 54 [Class2 : correct] : t = 0.000000, y = -0.113841 (err = 0.113841) 55 [Class2 : correct] : t = 0.000000, y = -0.139841 (err = 0.139841) 56 [Class2 : correct] : t = 0.000000, y = 0.269516 (err = -0.269516) 57 [Class2 : correct] : t = 0.000000, y = 0.096326 (err = -0.096326) 58 [Class2 : correct] : t = 0.000000, y = 0.043823 (err = -0.043823) 59 [Class2 : correct] : t = 0.000000, y = -0.119072 (err = 0.119072) 60 [Class2 : correct] : t = 0.000000, y = 0.345999 (err = -0.345999) 61 [Class2 : correct] : t = 0.000000, y = 0.166008 (err = -0.166008) 62 [Class2 : correct] : t = 0.000000, y = 0.118683 (err = -0.118683) 63 [Class2 : correct] : t = 0.000000, y = 0.016717 (err = -0.016717) 64 [Class2 : correct] : t = 0.000000, y = -0.188593 (err = 0.188593) 65 [Class2 : correct] : t = 0.000000, y = 0.043580 (err = -0.043580) 66 [Class2 : correct] : t = 0.000000, y = 0.277996 (err = -0.277996) 67 [Class2 : correct] : t = 0.000000, y = 0.027482 (err = -0.027482) 68 [Class2 : correct] : t = 0.000000, y = -0.500986 (err = 0.500986) 69 [Class2 : correct] : t = 0.000000, y = 0.326909 (err = -0.326909) 70 [Class2 : correct] : t = 0.000000, y = -0.013590 (err = 0.013590) 71 [Class2 : correct] : t = 0.000000, y = 0.290259 (err = -0.290259) 72 [Class2 : correct] : t = 0.000000, y = -0.2001 (err = 0.2001) 73 [Class2 : correct] : t = 0.000000, y = 0.364375 (err = -0.364375) 74 [Class2 : correct] : t = 0.000000, y = 0.124712 (err = -0.124712) 75 [Class2 : correct] : t = 0.000000, y = 0.283933 (err = -0.283933) 76 [Class2 : correct] : t = 0.000000, y = 0.4164 (err = -0.4164) 77 [Class2 : correct] : t = 0.000000, y = 0.425416 (err = -0.425416) 78 [Class2 : correct] : t = 0.000000, y = -0.052291 (err = 0.052291) 79 [Class2 : correct] : t = 0.000000, y = 0.433825 (err = -0.433825) 80 [Class2 : correct] : t = 0.000000, y = 0.083760 (err = -0.083760) 81 [Class2 : correct] : t = 0.000000, y = 0.313110 (err = -0.313110) 82 [Class2 : correct] : t = 0.000000, y = -0.123014 (err = 0.123014) 83 [Class1 : not correct] : t = 0.000000, y = 0.536005 (err = -0.536005) 84 [Class2 : correct] : t = 0.000000, y = 0.325728 (err = -0.325728) 85 [Class2 : correct] : t = 0.000000, y = -0.082091 (err = 0.082091) 19

86 [Class2 : correct] : t = 0.000000, y = -0.089522 (err = 0.089522) 87 [Class2 : correct] : t = 0.000000, y = 0.292471 (err = -0.292471) 88 [Class2 : correct] : t = 0.000000, y = 0.444113 (err = -0.444113) 89 [Class2 : correct] : t = 0.000000, y = 0.204709 (err = -0.204709) 90 [Class2 : correct] : t = 0.000000, y = -0.1327 (err = 0.1327) 91 [Class2 : correct] : t = 0.000000, y = 0.172210 (err = -0.172210) 92 [Class2 : correct] : t = 0.000000, y = 0.132929 (err = -0.132929) 93 [Class2 : correct] : t = 0.000000, y = -0.103840 (err = 0.103840) 94 [Class2 : correct] : t = 0.000000, y = -0.8180 (err = 0.8180) 95 [Class2 : correct] : t = 0.000000, y = 0.068565 (err = -0.068565) 96 [Class2 : correct] : t = 0.000000, y = 0.1930 (err = -0.1930) 97 [Class2 : correct] : t = 0.000000, y = 0.245497 (err = -0.245497) 98 [Class2 : correct] : t = 0.000000, y = 0.036213 (err = -0.036213) 99 [Class2 : correct] : t = 0.000000, y = 0.317548 (err = -0.317548) 3 4 6 ADALINE S(η) = exp(η) 1 + exp(η) (38) 3(c) M y = S( a i x i + a 0 ) (39) i=1 ADALINE 6.1 (39) 0 1 1 ( ) 0 y 1 y 100 ( ) 100 L = (y l ) tl (1 y l ) 1 tl (40) log(l) = 100 {t l log y l +(1 t l ) log(1 y l ) 20

= = 100 {t l log{ exp(η l) 1 + exp(η l ) +(1 t 1 l) log{ 1 + exp(η l ) 100 {t l η l log{1 + exp(η l ) (41) a 0 log(l) 100 = {t l exp(η 100 l) a 0 1 + exp(η l ) = {t l y l (42) a 1 a 2 a 3 a 4 log(l) a 1 = log(l) a 2 = log(l) a 3 = log(l) a 4 = 100 {t l x1 l exp(η l) 1 + exp(η l ) x1 100 l = {(t l y l )x1 l 100 {t l x2 l exp(η l) 1 + exp(η l ) x2 100 l = {(t l y l )x2 l 100 {t l x3 l exp(η l) 1 + exp(η l ) x3 100 l = {(t l y l )x3 l 100 {t l x4 l exp(η l) 1 + exp(η l ) x4 100 l = {(t l y l )x4 l (43) 100 a (k+1) 0 = a (k) 0 + α (t l y l ) 100 a (k+1) 1 = a (k) 1 + α (t l y l )x1 l 100 a (k+1) 2 = a (k) 2 + α (t l y l )x2 l 100 a (k+1) 3 = a (k) 3 + α (t l y l )x3 l 100 a (k+1) 4 = a (k) 4 + α (t l y l )x4 l (44) ADALINE 0 1 0.5 0.5 ADALINE #include <stdio.h> #include <stdlib.h> 21

#include <math.h> #define frand() rand()/((double)rand_max) #define NSAMPLE 100 #define XDIM 4 double logit(double eta) { return(exp(eta)/(1.0+exp(eta))); main() { FILE *fp; double t[nsample]; double x[nsample][xdim]; double a[xdim+1]; int i, j, l; double eta; double y, err, likelihood; double derivatives[xdim+1]; double alpha = 0.1; /* Learning Rate */ /* Open Data File */ if ((fp = fopen("niris.dat","r")) == NULL) { fprintf(stderr,"file Open Fail\n"); exit(1); /* Read Data */ /* Input input vectors */ for (j = 0; j < XDIM; j++) { fscanf(fp,"%lf",&(x[l][j])); /* Set teacher signal */ if (l < 50) t[l] = 1.0; else t[l] = 0.0; /* Close Data File */ fclose(fp); /* Print the data */ printf("%3d : %8.2f ", l, t[l]); for (j = 0; j < XDIM; j++) { printf("%8.2f ", x[l][j]); printf("\n"); /* Initialize the parameters by random number */ for (j = 0; j < XDIM+1; j++) { a[j] = (frand() - 0.5); 22

/* Open output file */ fp = fopen("likelihood.out","w"); /* Learning the parameters */ for (i = 1; i < 100; i++) { /* Learning Loop */ /* Compute derivatives */ /* Initialize derivatives */ for (j = 0; j < XDIM+1; j++) { derivatives[j] = 0.0; /* update derivatives */ /* prediction */ eta = a[0]; for (j = 1; j < XDIM+1; j++) { eta += a[j] * x[l][j-1]; y = logit(eta); /* error */ err = t[l] - y; /* update derivatives */ derivatives[0] += err; for (j = 1; j < XDIM+1; j++) { derivatives[j] += err * x[l][j-1]; /* update parameters */ for (j = 0; j < XDIM+1; j++) { a[j] = a[j] + alpha * derivatives[j]; /* Compute Log Likelihood */ likelihood = 0.0; /* prediction */ eta = a[0]; for (j = 1; j < XDIM+1; j++) { eta += a[j] * x[l][j-1]; y = logit(eta); likelihood += t[l] * log(y) + (1.0 - t[l]) * log(1.0 - y); printf("%d : Log Likeihood is %f\n", i, likelihood); fprintf(fp, "%f\n", likelihood); 23

fclose(fp); /* Print Estmated Parameters */ printf("\nestimated Parameters\n"); for (j = 0; j < XDIM+1; j++) { printf("a[%d]=%f, ",j, a[j]); printf("\n\n"); /* Prediction and Log Likelihood */ /* prediction */ eta = a[0]; for (j = 1; j < XDIM+1; j++) { eta += a[j] * x[l][j-1]; y = logit(eta); if ( y > 0.5) { if (l < 50) { printf("%3d [Class1 : correct] : t = %f, y = %f\n", l, t[l], y); else { printf("%3d [Class1 : not correct] : t = %f, y = %f\n", l, t[l], y); else { if (l >= 50) { printf("%3d [Class2 : correct] : t = %f, y = %f\n", l, t[l], y); else { printf("%3d [Class2 : not correct] : t = %f, y = %f\n", l, t[l], y); Estimated Parameters a[0]=8.946368, a[1]=0.882509, a[2]=1.338263, a[3]=-6.766164, a[4]=-7.298297, 0 [Class1 : correct] : t = 1.000000, y = 0.993719 1 [Class1 : correct] : t = 1.000000, y = 0.985676 2 [Class1 : correct] : t = 1.000000, y = 0.948786 3 [Class1 : correct] : t = 1.000000, y = 0.9872 4 [Class1 : correct] : t = 1.000000, y = 0.938278 5 [Class1 : correct] : t = 1.000000, y = 0.984824 6 [Class1 : correct] : t = 1.000000, y = 0.937193 7 [Class1 : correct] : t = 1.000000, y = 0.999931 8 [Class1 : correct] : t = 1.000000, y = 0.993680 9 [Class1 : correct] : t = 1.000000, y = 0.990782 10 [Class1 : correct] : t = 1.000000, y = 0.999542 11 [Class1 : correct] : t = 1.000000, y = 0.985725 12 [Class1 : correct] : t = 1.000000, y = 0.999419 13 [Class1 : correct] : t = 1.000000, y = 0.960009 24

14 [Class1 : correct] : t = 1.000000, y = 0.999605 [Class1 : correct] : t = 1.000000, y = 0.996275 16 [Class1 : correct] : t = 1.000000, y = 0.940514 17 [Class1 : correct] : t = 1.000000, y = 0.999773 18 [Class1 : correct] : t = 1.000000, y = 0.718517 19 [Class1 : correct] : t = 1.000000, y = 0.999371 20 [Class2 : not correct] : t = 1.000000, y = 0.416174 21 [Class1 : correct] : t = 1.000000, y = 0.998533 22 [Class1 : correct] : t = 1.000000, y = 0.605839 23 [Class1 : correct] : t = 1.000000, y = 0.991769 24 [Class1 : correct] : t = 1.000000, y = 0.997522 25 [Class1 : correct] : t = 1.000000, y = 0.994371 26 [Class1 : correct] : t = 1.000000, y = 0.962073 27 [Class1 : correct] : t = 1.000000, y = 0.522861 28 [Class1 : correct] : t = 1.000000, y = 0.946845 29 [Class1 : correct] : t = 1.000000, y = 0.999966 30 [Class1 : correct] : t = 1.000000, y = 0.999352 31 [Class1 : correct] : t = 1.000000, y = 0.999831 32 [Class1 : correct] : t = 1.000000, y = 0.999283 33 [Class2 : not correct] : t = 1.000000, y = 0.268092 34 [Class1 : correct] : t = 1.000000, y = 0.927374 35 [Class1 : correct] : t = 1.000000, y = 0.9695 36 [Class1 : correct] : t = 1.000000, y = 0.969959 37 [Class1 : correct] : t = 1.000000, y = 0.974863 38 [Class1 : correct] : t = 1.000000, y = 0.9980 39 [Class1 : correct] : t = 1.000000, y = 0.993021 40 [Class1 : correct] : t = 1.000000, y = 0.990881 41 [Class1 : correct] : t = 1.000000, y = 0.979586 42 [Class1 : correct] : t = 1.000000, y = 0.998568 43 [Class1 : correct] : t = 1.000000, y = 0.999916 44 [Class1 : correct] : t = 1.000000, y = 0.992693 45 [Class1 : correct] : t = 1.000000, y = 0.998997 46 [Class1 : correct] : t = 1.000000, y = 0.996440 47 [Class1 : correct] : t = 1.000000, y = 0.996933 48 [Class1 : correct] : t = 1.000000, y = 0.999966 49 [Class1 : correct] : t = 1.000000, y = 0.996702 50 [Class2 : correct] : t = 0.000000, y = 0.000018 51 [Class2 : correct] : t = 0.000000, y = 0.016302 52 [Class2 : correct] : t = 0.000000, y = 0.001129 53 [Class2 : correct] : t = 0.000000, y = 0.019609 54 [Class2 : correct] : t = 0.000000, y = 0.000335 55 [Class2 : correct] : t = 0.000000, y = 0.000131 56 [Class2 : correct] : t = 0.000000, y = 0.190189 57 [Class2 : correct] : t = 0.000000, y = 0.003928 58 [Class2 : correct] : t = 0.000000, y = 0.004127 59 [Class2 : correct] : t = 0.000000, y = 0.000079 60 [Class2 : correct] : t = 0.000000, y = 0.058820 61 [Class2 : correct] : t = 0.000000, y = 0.014368 62 [Class2 : correct] : t = 0.000000, y = 0.003806 63 [Class2 : correct] : t = 0.000000, y = 0.004500 64 [Class2 : correct] : t = 0.000000, y = 0.000185 65 [Class2 : correct] : t = 0.000000, y = 0.001456 66 [Class2 : correct] : t = 0.000000, y = 0.047170 67 [Class2 : correct] : t = 0.000000, y = 0.000445 68 [Class2 : correct] : t = 0.000000, y = 0.000002 25

69 [Class2 : correct] : t = 0.000000, y = 0.2385 70 [Class2 : correct] : t = 0.000000, y = 0.000534 71 [Class2 : correct] : t = 0.000000, y = 0.037842 72 [Class2 : correct] : t = 0.000000, y = 0.000140 73 [Class2 : correct] : t = 0.000000, y = 0.137514 74 [Class2 : correct] : t = 0.000000, y = 0.003994 75 [Class2 : correct] : t = 0.000000, y = 0.027528 76 [Class2 : correct] : t = 0.000000, y = 0.222651 77 [Class2 : correct] : t = 0.000000, y = 0.244983 78 [Class2 : correct] : t = 0.000000, y = 0.0009 79 [Class2 : correct] : t = 0.000000, y = 0.183885 80 [Class2 : correct] : t = 0.000000, y = 0.002655 81 [Class2 : correct] : t = 0.000000, y = 0.011796 82 [Class2 : correct] : t = 0.000000, y = 0.000350 83 [Class1 : not correct] : t = 0.000000, y = 0.642195 84 [Class2 : correct] : t = 0.000000, y = 0.230225 85 [Class2 : correct] : t = 0.000000, y = 0.000146 86 [Class2 : correct] : t = 0.000000, y = 0.000293 87 [Class2 : correct] : t = 0.000000, y = 0.057084 88 [Class2 : correct] : t = 0.000000, y = 0.299894 89 [Class2 : correct] : t = 0.000000, y = 0.008427 90 [Class2 : correct] : t = 0.000000, y = 0.000178 91 [Class2 : correct] : t = 0.000000, y = 0.003929 92 [Class2 : correct] : t = 0.000000, y = 0.016302 93 [Class2 : correct] : t = 0.000000, y = 0.000222 94 [Class2 : correct] : t = 0.000000, y = 0.000086 95 [Class2 : correct] : t = 0.000000, y = 0.0091 96 [Class2 : correct] : t = 0.000000, y = 0.021935 97 [Class2 : correct] : t = 0.000000, y = 0.022459 98 [Class2 : correct] : t = 0.000000, y = 0.001482 99 [Class2 : correct] : t = 0.000000, y = 0.108289 3 4 7 A B x y z Figure 5: 1980 26

I x =(x 1,x 2,...,x I ) T K z =(z 1,...,z K ) T ζ j = I a ij x i + a 0j i=1 y j = S(ζ j ) J z k = b jk y j + b 0k (45) j=1 y j j a ij i j b jk j k 5 1 7.0.1 N {x p, t p p =1,...,N ε 2 = 1 N N t p z p 2 = 1 N p=1 N ε 2 (p) (46) p=1 ε 2 ε 2 a ij = 1 N ε 2 b jk = 1 N N p=1 N p=1 ε 2 a ij = 1 N ε 2 (p) b jk = 1 N N 2γ pj ν pj x pi p=1 N 2δ pk y pj (47) p=1 ν pj = y pj (1 y pj ) K γ pj = δ pk b jk k=1 δ pk = t pk z pk (48) a 0j b 0k x p0 =1 y p0 =1 a ij a ij α ε2 a ij b jk b jk α ε2 b jk (49) 27

α δ b jk γ Quick Prop 28