From 33941658b90ef9f2514e5e028c7db683a16e988a Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Tue, 8 Jun 2021 21:50:31 +0000 Subject: [PATCH] Added temp results from README, added more hyperparameter runs and added temporal results to presentation --- .../Slides/IUI_MP1_Presentation-1.pptx | Bin 683150 -> 684164 bytes 1-first-project/tdt/Hyperparameter.ipynb | 78 ++++-- 1-first-project/tdt/README.md | 252 +++++++++++++++++- 3 files changed, 312 insertions(+), 18 deletions(-) diff --git a/1-first-project/Slides/IUI_MP1_Presentation-1.pptx b/1-first-project/Slides/IUI_MP1_Presentation-1.pptx index ff4c1f6da905c2a506adc1d95439793a578ecb36..5caf7a092cce3db0c75eac90d4a1c6c139092dad 100644 GIT binary patch delta 15027 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 delta 14034 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 diff --git a/1-first-project/tdt/Hyperparameter.ipynb b/1-first-project/tdt/Hyperparameter.ipynb index 7e75a09..4e99839 100644 --- a/1-first-project/tdt/Hyperparameter.ipynb +++ b/1-first-project/tdt/Hyperparameter.ipynb @@ -3,7 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "cf20b791", + "id": "25685460", "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "8114cccf", + "id": "a7b5d6ab", "metadata": {}, "outputs": [], "source": [ @@ -30,7 +30,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "e1ebb5fe", + "id": "8a37e95b", "metadata": {}, "outputs": [], "source": [ @@ -52,7 +52,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "e2315c69", + "id": "53e288a8", "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "62536ff0", + "id": "0e638fb8", "metadata": {}, "outputs": [], "source": [ @@ -97,7 +97,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "dd1162bb", + "id": "5080bf16", "metadata": {}, "outputs": [], "source": [ @@ -111,7 +111,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "6879e37a", + "id": "41f26d6c", "metadata": {}, "outputs": [], "source": [ @@ -138,7 +138,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "51f25f8e", + "id": "9bf4ea28", "metadata": {}, "outputs": [], "source": [ @@ -174,7 +174,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "4ccd56dd", + "id": "fde0b3cf", "metadata": {}, "outputs": [], "source": [ @@ -197,7 +197,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "4ed39aad", + "id": "9712dd25", "metadata": {}, "outputs": [], "source": [ @@ -218,7 +218,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "92e85d4f", + "id": "6decb953", "metadata": {}, "outputs": [], "source": [ @@ -230,7 +230,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f81aa159", + "id": "ff6a75e9", "metadata": {}, "outputs": [ { @@ -891,7 +891,55 @@ " Dense Count 1: 2\n", " Dense Neurons 1: 1800\n", " Dense Count 2: 3\n", - " Dense Neurons 2: 1200\n" + " Dense Neurons 2: 1200\n", + "Accuracy: 78.40\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.09\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.56\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.10\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.49\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.24\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 2400\n" ] } ], @@ -932,7 +980,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ee06862c", + "id": "89a47c03", "metadata": {}, "outputs": [], "source": [ @@ -942,7 +990,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32c1ff00", + "id": "7520408c", "metadata": {}, "outputs": [], "source": [ diff --git a/1-first-project/tdt/README.md b/1-first-project/tdt/README.md index 76e3abb..d908825 100644 --- a/1-first-project/tdt/README.md +++ b/1-first-project/tdt/README.md @@ -74,6 +74,7 @@ This segment are notes dedicated to the neural network itself. ```python thresh = 100 leeway = 5 +epoch = 20 model = Sequential() @@ -102,6 +103,7 @@ Evaluate on test data ```python thresh = 75 leeway = 3 +epoch = 20 model = Sequential() @@ -130,6 +132,7 @@ Evaluate on test data ```python thresh = 10 leeway = 3 +epoch = 20 model = Sequential() @@ -153,11 +156,12 @@ Evaluate on test data 82/82 [==============================] - 0s 2ms/step - loss: 2.5231 - acc: 0.3696 ``` -#### Test4 (71.51%) +#### Test4 (69.66%) ```python thresh = 50 leeway = 3 +epoch = 20 model = Sequential() @@ -178,7 +182,249 @@ model.add(Dense(26, activation='softmax')) ``` Evaluate on test data -82/82 [==============================] - 0s 2ms/step - loss: 1.5005 - acc: 0.7151 +82/82 [==============================] - 0s 2ms/step - loss: 1.6965 - acc: 0.6966 ``` -#### Test5 () + +#### Test5 (73.13%) + +```python +thresh = 60 +leeway = 3 +epoch = 20 + +model = Sequential() + +model.add(Flatten(input_shape=X_filter[0].shape)) + +model.add(BatchNormalization()) + +model.add(Dense(1560, activation='relu')) + +model.add(Dense(750, activation='relu')) + +model.add(Dense(300, activation='relu')) + +model.add(Dense(156, activation='relu')) + +model.add(Dense(26, activation='softmax')) +``` + +``` +Evaluate on test data +82/82 [==============================] - 0s 2ms/step - loss: 1.4886 - acc: 0.7313 +``` + +#### Test6 (75.68%) + +```python +thresh = 68 +leeway = 3 +epoch = 20 + +model = Sequential() + +model.add(Flatten(input_shape=X_filter[0].shape)) + +model.add(BatchNormalization()) + +model.add(Dense(1560, activation='relu')) + +model.add(Dense(750, activation='relu')) + +model.add(Dense(300, activation='relu')) + +model.add(Dense(156, activation='relu')) + +model.add(Dense(26, activation='softmax')) +``` + +``` +Evaluate on test data +82/82 [==============================] - 0s 2ms/step - loss: 1.4227 - acc: 0.7568 +``` + +#### Test7 (76.07%) + +```python +thresh = 68 +leeway = 3 +epoch = 30 + +model = Sequential() + +model.add(Flatten(input_shape=X_filter[0].shape)) + +model.add(BatchNormalization()) + +model.add(Dense(1560, activation='relu')) + +model.add(Dense(750, activation='relu')) + +model.add(Dense(300, activation='relu')) + +model.add(Dense(156, activation='relu')) + +model.add(Dense(26, activation='softmax')) +``` + +``` +Evaluate on test data +82/82 [==============================] - 0s 2ms/step - loss: 1.5863 - acc: 0.7607 +``` + +#### Test8 (75.49%) + +```python +THRESH = 70 +LEEWAY = 3 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1800 +``` + +``` +Evaluate on test data +21/21 [==============================] - 0s 2ms/step - loss: 1.5598 - acc: 0.7684 +``` + +#### Test9 (78.15%) + +```python +THRESH = 70 +LEEWAY = 1 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1800 +``` + +``` +Evaluate on test data +21/21 [==============================] - 0s 2ms/step - loss: 1.4677 - acc: 0.7815 +``` + +#### Test10 (77.64%) + +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1900 +``` + + +#### Test11 (77.41%) + +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1800 +``` + +#### Test12 (73.90%) + +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1800 + +DENSE_COUNT = 5 +DENSE_NEURONS = 900 +``` + +#### Test13 (78.89%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1900 +``` + +#### Test14 (79.04%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1800 +``` + +#### Test15 (79.00%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1700 +``` + +#### Test16 (78.69%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 5 +DENSE_NEURONS = 1600 +``` + +#### Test17 (78.57%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 4 +DENSE_NEURONS = 1800 +``` + +#### Test18 (78.12%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 6 +DENSE_NEURONS = 1800 +``` + +#### Test19 (79.13%) + +NORM->FLAT->DENSE +```python +THRESH = 70 +LEEWAY = 0 +EPOCH = 30 + +DENSE_COUNT = 3 +DENSE_NEURONS = 1800 + +DENSE2_COUNT = 2 +DENSE2_NEURONS = 1200 +```