Deep Learning – 13 – Regularization and Optimization

deep neural network-ல் நாம் பயன்படுத்தியுள்ள மார்பகப் புற்றுநோய்க்கான எடுத்துக்காட்டையே இங்கும் பயன்படுத்தியுள்ளோம். கீழ்க்கண்ட இடங்களில் மட்டும் நிரல் சற்று வித்தியாசப்படுகிறது.

1. மாதிரித் தரவுகள் train_test_split மூலம் பிரிக்கப்பட்ட உடன், X_train-ல் உள்ள முதல் 2 features மட்டும் கணக்கிற்கு எடுத்துக் கொள்ளப்படுகிறது. பின்னர் இவ்விரண்டு தரவுகளும் non-linear எவ்வாறு முறையில் அமைந்துள்ளன என்பது வரைபடம் மூலம் வரைந்து காட்டப்பட்டுள்ளது.

2. hidden லேயரில் உள்ள ஒவ்வொரு node-ம் முந்தைய லேயரிலுள்ள node-லிருந்து வரும் மதிப்புடன் weight-ஐப் பெருக்கி கடைசியாக அவற்றுடன் bias-ஐக் கூட்டும் நிகழ்வு tf.matmul(), tf.add() மூலம் நடைபெறுகிறது. இவ்வாறு கணக்கிடப்பட்ட மதிப்பே hidden லேயரில் relu மூலம் activate செய்யப்படுகிறது. கடைசி லேயரில் மட்டும் activate செய்யப்படாத இம்மதிப்பு, cost கண்டுபிடிக்கச் செலுத்தப்படுகிறது. ஏனெனில் cost-ன் ஒரு பகுதியாக கடைசி லேயருக்கான sigmoid activation நடைபெற்று விடுகிறது என்று ஏற்கெனவே பார்த்தோம். இத்தகைய forward propagation முறையானது ஒரு தனி function-ஆக எழுதப்பட்டுள்ளது.
இதில் dropout optimization என்பது மறைமுக அடுக்குகளில், relu activation நடைபெற்ற பிறகு ஒருசில நியூரான்களை, கொடுக்கப்பட்ட முடக்க விகிதத்திற்கு ஏற்றார்போல் செயலிழக்கம் செய்கின்ற முறை ஆகும். இதற்கான நிரல் பின்வருமாறு இணைக்கப்பட்டுள்ளது.
if drop_out == True:
A = tf.nn.dropout(x = A, keep_prob = 0.8)

 

0.8640964968487806
0.6576789363554733
0.5143526817019538
0.46109938219842395
0.4391590019944309
0.4253497158288082
0.41486545995180873
0.4064618870927915
0.39961302157076345
0.3940068025490444

0.7001094555968302
0.49777905860234667
0.36297676798298484
0.3099069894603214
0.2926005495411737
0.30422081040917726
0.279327552972575
0.2927437389848652
0.2837427041090086
0.2874399397021791

0.6979167571210456
0.46770023748893524
0.3114688059257045
0.271497538924154
0.26210240985355404
0.2593918901561954
0.25844236585729935
0.25798796421521397
0.2576690491870255
0.2573865959621496

%d bloggers like this: