| CARVIEW |
??3??@?f?B?[?v???[?j???O?ő????? ?\ ?d?g?ݗ????~???????i??ҁj?FTensorFlow 2?{Keras?itf.keras?j?????i1/3 ?y?[?W?j
???悢??A?f?B?[?v???[?j???O?̊w?K??????????B?j???[?????l?b?g???[?N?iNN?j?͂ǂ?????Ċw?K????̂??APython?ƃ??C?u?????ł͂ǂ̂悤?Ɏ???????悢?̂??A???ł??邾???Ȍ??ɐ???????B
???̋L???͉??????ł??B????o?^?i?????j????ƑS?Ă????????????܂??B
?@?O?X???A?f?B?[?v???[?j???O?̑?܂??ȗ?????A???L??8???̍H???Ŏ??????B
- ?i1?j?f?[?^????
- ?i2?j?????
- ?i3?j?O????
- ?i4?j?g??@?h ?̑I???F ???f???̒?`
- ?i5?j?g?w?K???@?h ?̐v?F ???f???̐???
- ?i6?j?w?K ?F ?g???[?j???O
- ?i7?j?]??
- ?i8?j?e?X?g
?@???̂????A?i1?j?`?i4?j???O???܂łɐ????????B????????????́A?i5?j?`?i8?j?????????B???悢?捡??Ŋ????ł???B????ł͂????????????ɓ??낤?B???r????}?A?R?[?h???X?g?̔ԍ??͑O??̑????ԍ??Ƃ??Ă???i?O???E?????E??҂́A?藣?????A?ЂƂ܂Ƃ܂?̋L???Ƃ??ēǂ?łق??????ߘA?????????????Ă???j?B
?i5?j?g?w?K???@?h ?̐v?ƃ??f???̐????F ??????
?@?O????i4?j?Ńj???[?????l?b?g???[?N?̃??f??????`?ł????i???O?????????悤?ɖ{?A?ڂł?Keras???g?p?j?B?????i6?j?w?K???s???킯?????A???̑O?Ɂu?ǂ̂悤?Ɋw?K???邩?v?̌???A?܂?u?i5?j?g?w?K???@?h?̐v?v?????Ă????K?v??????B??̓I?ɂ́A??1??g???Ă???u?j???[?????l?b?g???[?N Playground - Deep Insider?v?i?ȉ??APlayground?j?̏㕔?ɂ???}5-1??3?J???A
- ??????
- ?œK??
- ?w?K??
??????ɊY??????B?Ȃ??A?o?b?`?T?C?Y?́u?œK???v?̐߂Ōy???G??A??q?́u?w?K?v?̏͂ŏڂ???????????B
?@????3??ݒ肷??悢?킯???B1?????????Ă????B?܂??͑?????????????悤?B??????A?܂???Playground???g???Đ}???Ő??????A???̌?ŋ?̓I?ȃR?[?h???????@???Љ??B
Playground?ɂ??}??
?@Playground???J?????A?㕔?ɂ????i5?j?́m???????n???Łu???ϓ??덷?v??I??????i?}5-2?j?B
?}5-2?@?m???????n?Łu???ϓ??덷?v??I???????ӁF ?u?????G???g???s?[?v?́APlayground?ɖ??????̂??߁A?I???ł??Ȃ??B
??A???^???ޖ??ł悭?g???鑹????
?@?u???????v??u???ϓ??덷?v?̈Ӗ??͌?q???邪?A???ϓ??덷???ł???\?I?????????i?Ӗ??͌?q?j?ł???B???ޖ?肩??A??肩?ɂ???āA?悭?g???鑹?????ɈႢ??????B?I?????Ɂu?i??ɉ?A?j?v?u?i2?N???X???ށj?v?u?i???N???X???ށj?v?Ƃ????J?b?R?????????邪?A???̈Ⴂ???????????̂ł???B?܂Ƃ߂Ă????ƁA
- ???ϓ??덷?iMSE?FMean Squared Error?j????A???ł悭?g????????
- ?????G???g???s?[?덷?iCross Entropy Error?j?????ޖ??ł悭?g????????
?Ƃ??????ƂɂȂ?B????͕??ޖ??????????A?ł??L???ȁu???ϓ??덷?v???g???B?????G???g???s?[?덷?ɂ??Ă͐?????????????i???u???ϐ?Ό덷?v?ɂ??ẮA??Łu???ϓ??덷?v?Ƃ̈Ⴂ???????̂ŁA??????Q?l?ɂ??Ăق????j?B
?덷?Ƃ?
?@??????̑????????A?u?덷?v?ׂ邽?߂̊??i?????͂??āA???炩?̌v?Z?????āA?o?͂?????́j?ł???ƁA???ʂ??番???邾?낤?B?덷?i?G???[?F error?j?Ƃ́A???t?ʂ?̈Ӗ??ŁA?v?Z?œ???ꂽ?l?ƁA?????̒l?ɂ???A?u?Y???v?̂??Ƃł???B
?@?@?B?w?K?̏ꍇ?A?j???[?????l?b?g???[?N?̃??f???ɓ??͂????l???A?t?H???[?h?v???p?Q?[?V?????i???`?d?j?ɂ???ď???????A?o?͂????i???O?????????j?B???̏o?͌??ʂ̒l?ƁA?????????????t???x???i????1??ʼn???????j?̒l???ǂꂭ?炢?Y???Ă??邩?i???덷?j?ׂ?킯?ł???i?}5-3?j?B
?@???Ƃ́A?S?Ẵf?[?^?ɑ??Č덷?ׂĂ????A????ς???A???f???̕??ϓI?Ȍ덷???Z?o?ł???ƍl?????邾?낤?B?????????́A???̌v?Z???@?ł͂??܂??????Ȃ??B
?Ȃ??u???v???邩
?@?Ⴆ??3?̃f?[?^??????A???ꂼ??̌덷???u+1.2?v?u-1.0?v?u-0.2?v???????Ƃ??悤?B?u???ϓI?ɐ???????ǂꂭ?炢?Y???Ă??邩?v?????????ꍇ?ɁA??????P???ɑS?????v???ăf?[?^????3?Ŋ????Ă??܂??Ɓu+1.2-1.0-0.2=0.0?v?ƂȂ??Ă??܂??B?܂?Y?????S???Ȃ????ƂɂȂ??Ă??܂??B????͈Ⴄ?B
?@?Y?????v?????邽?߂ɂ́A???????d?v?ł??邽?߁A?}?C?i?X?̓v???X?Ƃ??Čv?Z?A?܂??Βl?????Čv?Z????K?v??????B??????s???̂??A?O?f?́u???ϐ?Ό덷?v?iMAE?FMean Absolute Error?j?ł???B
?@?????????w?ⓝ?v?w?̐??E?ł́A???͐?Βl?͈????ɂ????B?}?C?i?X???v???X?ɂ???v?Z???@?Ƃ??ẮA??Βl?̑??ɂ??A???v?Z??????i???????̉E???ɏ??????u2?v?Ə????A???w?Ŋw?Ԍv?Z???ŁA?Ⴆ??-2?̓???+4?ƂȂ?j?B?????āA???v?Z?ł́A???ɔ????v?Z?i???Z?ŏK???v?Z???@?j?????₷???Ȃ??ĕ֗??Ƃ??????_??????B???̂??ߐ??w?ⓝ?v?w?ł́A?}?C?i?X???v???X?ɂ???v?Z?ɂ͓?悪?悭?p??????̂??B
?@?u?덷???悵?Ă??畽?ς????v?Z?v?ł??????ϓ??덷*2?́A???̂悤?ȗ??R????j???[?????l?b?g???[?N?ő?\?I?ȁu???????v?ƂȂ??Ă???B?Ȃ??A???ϓ??덷?Ȃǂ̌v?Z???ʂ̐??l?́A?????i???X?F loss?j?ƌĂ??B???̑????????߂邽?߂̊??ł??邽?߁A???????iLoss Function?j?ƌĂ??̂ł???B
*2?@???ϓ??덷?́u???ρv?Ƃ́A?덷?̓??a???u?????f?[?^???Ŋ???v???Ƃ??Ӗ?????B?????????ЂȂǂ̐????ɂ???Ắu2?v?Ŋ???A????u?g1/2?h???a?덷?v?iSSE?FSum of Squared Error?j???p?????Ă???B????́A?u??悵???ϐ???????????ۂɌW???Ƃ???2???o?Ă???̂ŁA?????1/2???|??????1?ɂȂ??Čv?Z???y?ɂȂ??ˁv?Ƃ????A????}?W?b?N?i???o?[?Ȃ̂ł???B?Ⴆ?j???[?????l?b?g???[?N?̊w?K???t???X?N???b?`?ō???Ă݂?ꍇ?A???́g1/2?h???a?덷???g???Ǝ??ۂɊy?ł???B???Ȃ݂ɁAPlayground?̑????????A???͕??ϓ??덷?ł͂Ȃ??g1/2?h???a?덷??p???Ă??邪?A?{?e?̃R?[?h?????Ƃ̈?ѐ????o?????߁A?\?L?́u???ϓ??덷?v?Ƃ????B
Python?R?[?h?ł̎?????
?@?ł́A???????Ƃ??āu???ϓ??덷?v?iMean Squared Error?j???R?[?h?Ŏ??????Ă݂悤?Btf.keras?i??TensorFlow??????Keras?j?ŁA???????̌v?Z????Ǝ??ɒ?`????͓̂???Ȃ????AKeras?ɂ͑?\?I?ȑ??????????炩???ߗp?ӂ???Ă???A????????????Ŏw?肷?邾???ł???i???O??????????????????Ɠ????j?B????͒萔?Ƃ??Đ?o???A???X?g5-1?̂悤?ɋL?ڂ??邱?Ƃɂ????B
# ?萔?i?w?K???@?v???ɕK?v?ƂȂ???́j
LOSS = 'mean_squared_error' # ???????F ???ϓ??덷
?@Playground?őI?????ɋ????Ă??鑹?????́AKeras?ł??Ή????Ă???B??̓I?ɂ́A?ȉ??̂??̂???ŋL?q?ł???i???ꕔ?̊??͖{?e?̓??e???ł??邾???V???v???ɂ??邽?߂ɐ??????Ă??Ȃ??j?B
- mean_squared_error?i???ϓ??덷?j
- mean_absolute_error?i???ϐ?Ό덷?j
- binary_crossentropy?i?????G???g???s?[?덷?F 2?N???X???ށj
- categorical_crossentropy?i?????G???g???s?[?덷?F ???N???X???ށj
?i5?j?g?w?K???@?h ?̐v?ƃ??f???̐????F ?œK??
?@???ɍœK??????????悤?B
Playground?ɂ??}??
?@Playground??ł́A?i5?j?́m?œK???n???ŁuSGD?v??I??????i?}5-4?j?B?o?b?`?T?C?Y?͌?q???邪?A?????ł͉????l?????Ɂu1?v??I?????Ăق????B
?@?u?œK???H?v?uSGD?H?v?c?c?^?₪?????ς????邾?낤?B?܂??͍œK???Ƃ͉??????????????B
?œK???Ƃ?
?@?œK???iOptimization?j?Ƃ́A???t?ʂ?A?ł??K???Ă????Ԃɕς??邱?Ƃł???B?ł́A?u?j???[?????l?b?g???[?N?ɂ????āA?ł??K???Ă????ԂƂ́A?ǂ̂悤?Ȃ??Ƃ??H?v?Ƃ????ƁA??قǂ̑????iloss?j???Ɍ??܂ōŏ????ł??Ă??邱?Ƃ??w???B
?@?܂?A??قǂ̑??????i???ϓ??덷?j?̌??ʂ̐??l???ł??邾??0?ɋ߂Â???悢?킯?ł???B???̍œK????@?Ƃ??āA???܂??܂ȕ??@?i?œK???A???S???Y???ƌĂԁj???l?????Ă???B???̊?{???A?u???z?@?v?Ȃ̂ł???B
???z?@?Ƃ?
?@???z?@?iGradient method?j?Ƃ́A???z?igradient?j?A?܂?⓹???????Ă????idescent?j?悤?Ɍv?Z???邱?ƂōœK?????s????@?̂??Ƃł???B
?@??قǑI???????uSGD?v?́A???̌??z?@?̈??ŁA?m???I???z?~???@?iSGD?FStochastic Gradient Descent?j???Ӗ?????BSGD?́A?œK???̌v?Z???m???_??p???āi??stochastic?Ɂj???s???邱?ƂŁA?S???ꊇ?i???o?b?`?ƌĂԁj?̌P???f?[?^?ł͂Ȃ??A1?A???????͕????Z?b?g?i???~?j?o?b?`?ƌĂԁj?̌P???f?[?^?Ŋw?K???āA???̒P?ʂ??Ƃɏd?݂?o?C?A?X???X?V???Ă??????@?ł???i???ڂ????́u?o?b?`?T?C?Y?v?̏͂ʼn??????j?B??قǁm?o?b?`?T?C?Y?n?Łu1?v??I???????̂́A???̂??߂ł???B
?@?œK???𗝉?????L???́A?u???z?@?v?𗝉????邱?Ƃɂ???B??L?̐????ł́u?????????Ă??邩?v????????Ȃ??Ǝv???̂ŁA?܂??͐}5-5?????ăC???[?W?????Ă??炨???B
?@?}5-5?Ɏ????F?̋Ȑ??????z?i???⓹?j?ł???B???̍⓹?̐??̏???A?I?????W?F?̃{?[?????i?ނ悤?ɓ??????A?ƃC???[?W???Ăق????B???????i???w?K?????j?????A?{?[???͐i?݁A?ŏI?I?Ɉ?ԒႢ?ʒu?i??????????ԏ??????ꏊ?A?œK???j?܂œ]?????Ă????B???????A???̐??E?͖??d?͂ł???A?d?͂ɂ???Ď????I?Ɉ?ԒႢ?ʒu?ɓ]????킯?ł͂??A1??̊w?K?ɂ???ď??????ʒu??ς??Ă????A?ƍl???Ăق????B
?@?{?[???𓊂???ۂɂ́A?F?̋Ȑ???ɂ??錻?݈ʒu???猩?āA?u?⓹?̍????????肩?A????Ƃ??E???????肩?v?f?A???w?I?Ɍ????Ɓu?X???v?f???āA???E?ǂ???Ƀ{?[?????????????߂?B???w?ł́A?Ȑ??ɂ?????1?n?_?i???{?[????????ʒu?j?̌X???́A?????ɂ???Čv?Z?ł???B?܂??A?p?????[?^?[??????????Ȑ??̌X???́A?Δ????ɂ???Čv?Z?ł???B
?y?R?????z?Δ????Ɛ??`?㐔?Ɠ??v?w
?@?f?B?[?v???[?j???O?̏K???ŁA?u?Δ??????K?C?v?ƂȂ?̂́A??L?̂悤?ɍœK???̌v?Z?̂??߂ł???B
?@?܂??u???`?㐔???K?C?v?Ƃ????̂́A??ʂ̃f?[?^???܂Ƃ߂Čv?Z????ۂɁA???`?㐔?̍s?Z???K?v?ɂȂ邽?߂ł???B
?@?Δ???????`?㐔?̌v?Z?́ATensorFlow?^Keras?̂悤?ȃ??C?u???????????ōs???Ă????̂ŁA?P?Ɏ??????邾???ł???A???܂?C?ɂ???K?v?͂Ȃ??B?????????_?ʂ??l????ꍇ??A?œK???A???S???Y???̈Ⴂ???????ɗ??????????ꍇ?ɂ́A???????????????̗??????K?v?ƂȂ?B
?@????ɁA???v?w???Œ?A??w??b???{???x???i???v????2?????x???j?̒m???????????????A?j???[?????l?b?g???[?N??@?B?w?K?̗??_?????????₷???Ȃ?B?Ⴆ?œK???????z?@?͉?A???͂?d??A???͂Ɠ????l???????x?[?X?ɂȂ??Ă???ȂǁA???v?w???x?[?X?Ƃ????l???????????炾?B
?@?{?e?̓??e???}?X?^?[??????A???В?????ŁA???w?ⓝ?v?w?̒m???????₵?Ă????Ăق????B
Python?R?[?h?ł̎?????
?@?ł́A?œK???Ƃ??āuSGD?v?i?m???I???z?~???@?j???R?[?h?Ŏ??????Ă݂悤?B??????AKeras?ɂ͑?\?I?ȍœK???A???S???Y???iOptimizer?F?I?v?e?B?}?C?U?j?????炩???ߗp?ӂ???Ă???Atf.keras.optimizers???W???[???K?w?i?????O??ԁj?̃N???X???g???????Ȃ̂ŊȒP?ł???B
?@????̓N???X????萔?Ƃ??Đ?o???A???X?g5-2?̂悤?ɋL?ڂ??邱?Ƃɂ????B?Ȃ??A?N???X?̃R???X?g???N?^?[?i?????ɂ?__init__???j?Ɏw?肷??????͌?q????B
# ?i?K?v?ɉ????ājTensorFlow v2?̍ŐV?o?[?W?????ɃA?b?v?O???[?h????K?v??????
#!pip install --upgrade tensorflow
# ???C?u?????uTensorFlow?v??tensorflow?p?b?P?[?W???utf?v?Ƃ????ʖ??ŃC???|?[?g
import tensorflow as tf
# ?萔?i?w?K???@?v???ɕK?v?ƂȂ???́j
OPTIMIZER = tf.keras.optimizers.SGD # ?œK???F?m???I???z?~???@
???{?e?́ATensorFlow v2??O??Ƃ???B?O??ATensorFlow v2?̍ŐV?o?[?W?????ւ̃A?b?v?O???[?h???@????????Ă???B
?@Playground?őI?????ɋ????Ă???œK???A???S???Y???i?I?v?e?B?}?C?U?j?́AKeras?ł??Ή????Ă???B??̓I?ɂ́A?ȉ??̂??̂??g????i????\?I?Ȃ??̂̂f?ځj?B
- SGD?i?m???I???z?~???@?j
- Adagrad
- RMSprop
- Adadelta
- Adam
- Adamax
- Nadam
?@?????g?̃A???S???Y???̐????͊ȒP?ł͂Ȃ??̂ŁA?{?e?ł͐?????????????B?ǂ???g???Ă??悢???A?܂??͊?{?ƂȂ?SGD???g???Ă݂?Ƃ悢?B
?i5?j?g?w?K???@?h ?̐v?ƃ??f???̐????F ?w?K??
?@?????āA???ɏd?v?ȁu?w?K???v????????悤?B
Playground?ɂ??}??
?@Playground??ł́A?i5?j?́m?w?K???n???Łu0.03?v??I??????i?}5-6?j?B
?@?u?w?K???v?́A?œK???Ɗ֘A????ݒ莖???ł???A?u1??̊w?K?Ńj???[?????l?b?g???[?N???̏d?݂?o?C?A?X???X?V????ʂ̒????l?v??\???i???n?C?p?[?p?????[?^?[?̈?j?B?Ƃ????Ă??悭??????Ȃ??Ǝv???̂ŁA??????{?[????]??????ŃC???[?W?????Ă??炤???Ƃɂ???B?}5-7?????Ăق????B
?@?}5-7?ł́A?{?[????1????ƁA???̂??тɁA?œK???Ɍ??????ď??????]?????Ă????B?{?[???̃X?s?[?h???????Ƒ?ʂɓ]????A?x???Ə????????]????Ȃ??B???̃{?[???𓊂???X?s?[?h?ɊY?????鐔?l???A?w?K???ilearning rate?j?Ȃ̂ł???B
?@?w?K???ɂ́A0.1?`0.001?ȂǔC?ӂ̐??l???w??ł???B?傫???w?K????ݒ肵???????A??葬???w?K?ł???B????āu?傫???l?̕????悢?̂ł́v?Ǝv??????????Ȃ????A????͂???łȂ??Ȃ??w?K?????????Ȃ???肪?????????肷??̂ŁA??T?ɂ͌????Ȃ??B?Ⴆ?ΐ}5-7???w?K????0.03???w?肵???ꍇ?̃C???[?W???Ƃ???ƁA?}5-8??0.3???w?肵???ꍇ?̃C???[?W?ł???B
?@?}5-8?͖???????邽?߁A?œK????ʂ?z???čs???????Ă??܂??A?Ȃ??Ȃ??œK???ɂ??ǂ蒅???Ȃ??B???̌??ʁA?œK???̋ߕӂ????܂ł??W?O?U?O?ƍs?????藈???肵?Ă??܂??B?܂?A?w?K???œK???ɂ??ꂢ?Ɏ??????Ȃ???肪?N?????Ă???̂ł???B
?@?Ȃ?A?u???????l?̕????悢?v?Ǝv??????????Ȃ????A???ꂾ?ƂȂ??Ȃ??w?K???I???Ȃ???肪?????????肷??̂ŁA???????T?ɂ͌????Ȃ??B???ꂾ???łȂ??A?{???̍œK???iglobal optimal solution?A??ǓI?ȍœK???j?ł͂Ȃ??A?Ǐ??I?ȍœK???ilocal optimal solution?A?Ǐ????A????u?J?v?j?Ɏ??????āA???̒J???甲???o???Ȃ??Ȃ?ꍇ??????̂??i?}5-9?j?B
?@?S?P?[?X?ꗥ?ɓ??Ă͂܂鐔?l??????킯?ł͂Ȃ??̂ŁA?P?[?X?o?C?P?[?X?œK?Ȋw?K???????s???낵?Ȃ???T???K?v??????B????????0.1?O?ォ?琔?l???????????Ă????????ŒT???悢?B?ł??邾???????ɏ????ł??āA?????????x???????????悢?w?K?????A??ʓI?ɂ́u???ǂ??w?K???v?ƌ????邾?낤?B?Q?l?܂łɁA0.003?^0.03?^0.3?^3???w?肵???ꍇ?̊w?K???ʂ̈Ⴂ???A?}5-10?ɂ܂Ƃ߂??B
?}5-10?@?w?K???̈Ⴂ?̔?r?i0.003?^0.03?^0.3?^3?̏ꍇ?j?????????100??i?w?K?P?ʂ́u?G?|?b?N?v?ƌĂ??j?w?K???????ʂ̔?r?ł???B
?@???ꂼ??̌??ʂ̏㕔?ɂ???mTrain loss?n?Ƃ????̂́u?P???f?[?^?ɂ????鑹???v?ŁA?mValidation loss?n?́u???x???f?[?^?ɂ????鑹???v?̂??Ƃł???B?܂??A?????ɕ\??????Ă???mTrain acc?n?iacc??accuracy?j?Ƃ????̂́u?P???f?[?^?ɂ????鐳?𗦁v?ŁA?mValidation acc?n?́u???x???f?[?^?ɂ????鐳?𗦁v?̂??Ƃł???B???𗦁i???x?j?Ƃ́A???t?ʂ?A???f???̏o?͌??ʂ??u???????????o?????v?̐??l?ł???B
?@?܂??A???[??0.003?ł́A?w?K???x???A100??w?K?????????ł́mTrain loss?n??0.319?Ȃǂ?0.0?ɋ߂Â?????Ă??Ȃ??B????͂܂??w?K?r?????Ӗ?????B
?@????0.03?́A?قǂ悭?w?K?ł??Ă???B
?@???̎???0.3?́A?mTrain loss?n?̃O???t?̉E?[???M?U?M?U?ƂȂ??Ă???A???????傫???Ȃ????菬?????Ȃ?????Ɨh??Ă???B????́A?O?q?́u???????Ȃ??v?ɑ??????錻?ۂł???B
?@?E?[??3?́A?mTrain loss?n?̃O???t?????????W?O?U?O?ɂȂ??Ă???A?w?K?????܂??i??ł??Ȃ????Ƃ?\???Ă???B
Python?R?[?h?ł̎?????
?@?ł́A?w?K???Ƃ??āu0.03?v???R?[?h?Ŏ??????Ă݂悤?B???̐??l???萔?Ƃ??Ē?`???Ă????i???X?g5-3?j?B
# ?萔?i?w?K???@?v???ɕK?v?ƂȂ???́j
LEARNING_RATE = 0.03 # ?w?K???F 0.03
?@?ȏ?ŁA?u???????v?u?œK???v?u?w?K???v?̒?`???I??????B???Ƃ͂??????g???āA???f????????悢?B???̍?Ƃɓ???O?ɁA?O??̕??K?Ƃ??āA???f????`?̃R?[?h?????Ă݂悤?B???X?g5-4?̓??e?͑O??̐????𗝉????Ă???Ε?????͂??ł???B
# ???C?u?????uTensorFlow?v??tensorflow?p?b?P?[?W???utf?v?Ƃ????ʖ??ŃC???|?[?g
import tensorflow as tf
# ?萔?i???f????`???ɕK?v?ƂȂ鐔?l?j
INPUT_FEATURES = 2 # ???́i?????j?̐??F 2
LAYER1_NEURONS = 3 # ?j???[?????̐??F 3
LAYER2_NEURONS = 3 # ?j???[?????̐??F 3
OUTPUT_RESULTS = 1 # ?o?͌??ʂ̐??F 1
ACTIVATION = 'tanh' # ?????????i????????????????j?F tanh??
# ?ϑw?^?̃??f???̒?`
model = tf.keras.models.Sequential([
# ?B??w?F1?ڂ̃??C???[
tf.keras.layers.Dense(
input_shape=(INPUT_FEATURES,), # ???͂̌`??i?????͑w?j
units=LAYER1_NEURONS, # ???j?b?g?̐?
activation=ACTIVATION), # ????????
# ?B??w?F2?ڂ̃??C???[
tf.keras.layers.Dense(
units=LAYER2_NEURONS, # ???j?b?g?̐?
activation=ACTIVATION), # ????????
# ?o?͑w
tf.keras.layers.Dense(
units=OUTPUT_RESULTS, # ???j?b?g?̐?
activation='tanh'), # ?????????i??tanh?Œ?j
])
?@?܂??AKeras?ł́A?w?K???ʂ?]?????邽?߂̎w?W???A???f?????????Ɏw?肵?Ă????K?v??????B??A???ł???????????悢???낤???A???ޖ??ł́u???𗦂͉??????v?????????x?iaccuracy?F?????A???m?x?j???????????낤?BKeras?ł́A???L?̂悤?ȕ]???w?W???]?????iEvaluation Function?j?Ƃ??ėp?ӂ???Ă???i????\?I?Ȃ??̂̂f?ځB???ꂼ??̋?̓I?Ȏg?????̐????͊???????j?B
- accuracy?i???𗦁j
- binary_accuracy?i2?N???X???ނ̐??𗦁j
- categorical_accuracy?i???N???X???ނ̐??𗦁j
?@??????????́A???f??????̏o?͒l???????????́utanh???v?ɂ??-1.0?`1.0?ŏo?͂???悤?ɂȂ??Ă??邱?Ƃɒ??ӂ??Ăق????B?ʏ?́A0.0?`1.0?ł??邽?߁A??????binary_accuracy?ł͐???ɐ??𗦂??擾?ł??Ȃ??B?????ō???́A?Ǝ??̕]???????쐬?????B??̓I?ɂ̓??X?g5-5?̂悤?ɂȂ?B???̂悤??Keras?̃J?X?^?}?C?Y?@?\?́A?{?e?̐????͈͂??Ă???̂ŁA?ڍׂ͐??????Ȃ??B?R?[?h???̃R?????g???Q?l?ɂ??Ăق????B
import tensorflow.keras.backend as K
def tanh_accuracy(y_true, y_pred): # y_true?͐????Ay_pred?͗\???i?o?́j
threshold = K.cast(0.0, y_pred.dtype) # -1??1??????臒l???쐬
y_pred = K.cast(y_pred >= threshold, y_pred.dtype) # 臒l??????0?A?ȏ??1?ɕϊ?
# 2?{????-1.0???邱?ƂŁA0?^1??-1.0?^1.0?ɃX?P?[???ϊ????Đ??𗦂??v?Z
return K.mean(K.equal(y_true, y_pred * 2 - 1.0), axis=-1)
?@????ł̓??f????????B????̓??X?g5-6?̂悤?ȃR?[?h?ɂȂ?B
# ?萔?i?w?K???@?v???ɕK?v?ƂȂ???́j
LOSS = 'mean_squared_error' # ???????F ???ϓ??덷
OPTIMIZER = tf.keras.optimizers.SGD # ?œK???F ?m???I???z?~???@
LEARNING_RATE = 0.03 # ?w?K???F 0.03
# ???f????????
model.compile(optimizer=OPTIMIZER(learning_rate=LEARNING_RATE),
loss=LOSS,
metrics=[tanh_accuracy]) # ???x?i???𗦁j
?@???f???̐????́Amodel?I?u?W?F?N?g??compile???\?b?h?ōs????B???̃??\?b?h?́A
?@?@compile(
?@?@?@?@optimizer,
?@?@?@?@loss,
?@?@?@?@metrics=None
?@?@)
?ƒ?`????Ă???i???s?v?Ȉ????͐??????????j?A?e?????̈Ӗ??͈ȉ??̒ʂ?ł???B
- ??1??????optimizer?F ?œK???A???S???Y?????w?肷??B????́A??قǂ̒萔OPTIMIZER???w?肷??悢
- OPTIMIZER?萔?̒??g?ł???SGD?N???X?́A?R???X?g???N?^?[???Ăяo???ăC???X?^???X??????K?v??????B???̃R???X?g???N?^?[?̈????ɂ́Alearning_rate?Ƃ????L?[???[?h?Ŋw?K?????w??ł???B????́A??قǂ̒萔LEARNING_RATE???w?肷??悢?B?w?肵?Ȃ??ꍇ?́A????l??0.01???g????
- ??2??????loss?F ?????????w?肷??B??????A??قǂ̒萔LOSS???w?肷??悢
- ??3??????metrics?F ?]???????w??ł???i???]???ɂ??Ă͌?q????j?B???ޖ??ł́A?T?^?I?ɂ?'accuracy'?ƕ?????ŕ]???????w?肷??悢?B??????????͎????tanh_accuracy?????w?肵?Ă???B?Ȃ??A?]?????͕????w??ł???̂ŁA???X?g?l?ɂ??Ďw?肷??K?v??????
?@?ȏ?Ń??f???̐????͊??????B
?i6?j?w?K?F?g???[?j???O
Copyright© Digital Advantage Corp. All Rights Reserved.
?A?C?e?B???f?B?A????̂??m?点
??IT eBook
?ҏW??????̂??m?点
RSS?ɂ???
?A?C?e?B???f?B?AID?ɂ???
???[???}?K?W???o?^
??IT?̃??[???}?K?W???́A ???????A???ׂĖ????ł??B???Ѓ??[???}?K?W???????w?ǂ????????B
ITmedia?̓A?C?e?B???f?B?A??????Ђ̓o?^???W?ł??B
???f?B?A?ꗗ | ????SNS | ?L???ē? | ???₢???킹 | ?v???C?o?V?[?|???V?[ | RSS | ?^?c??? | ?̗p??? | ??????



?}5-1?@?w?K???@?̐v
?}5-4?@?m?œK???n?ŁuSGD?v??I??
?}5-6?@?m?w?K???n?Łu0.03?v??I??






