丹羽の卒論日誌
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[丹羽の卒論日誌]]
~
~
~
https://www.str.ce.akita-u.ac.jp/~gotouhan/aono/a.txt
#contents
*python [#x418f751]
-PEP 668 以降は、
「pip install 〜 は仮想環境の中で行う」
が前提条件になった.
-仮想環境の設定は以下
python3 -m venv .venv(最初のみ)
source .venv/bin/activate ←仮想環境に入る
これでpip installができる
deactivate ←仮想環境から出る
コマンドの表示と実行
→python:インタープリターを選択
→VSコードでも仮想環境に入ることができる
~
~
*9月 [#m25bd01d]
**9/4 [#uca5ea45]
画像処理:ウェーブレット変換~
LL 大まかな画像情報,全体的な形や明るさ~
LH 主に横方向の変化を示す成分~
HL 主に立って方向の変化を示す成分~
HH 細かい変化,斜め方向の変化~
このように画像情報を分割して特徴量として数値化することが...
SVM:モデル~
特徴量を用いなければならないが少ないデータ量でも高精度....
**9/3 [#x4988725]
今日から耐候性鋼橋,機械学習についての文献をよむ.~
・耐候性鋼材について~
耐候性鋼は、適量のCu、Cr、Niなどの合金元素を含有し、大...
耐候性鋼は、溶接構造用鋼材としての優れた特性を有すると...
主にニッケルを多く添加し、従来のJIS耐候性鋼に対し耐塩分...
~
外観評価方法:イオン透過抵抗法~
錆層に微弱な電流を流し,イオン抵抗が大きければ緻密な安定...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/bunn...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/binn...
~
畳込み層:畳み込み演算~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/bunn...
https://mlarchive.com~
https://www.jstage.jst.go.jp/article/hnctech/56/0/56_43/_...
*7月 [#wc93afe1]
~
**7/28 [#i5f888fe]
総分割がなかなかうまく行かなかったので色々いじってもう一...
~
水増し20倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.9000 0.9474 30
2 0.9560 0.9667 0.9613 270
3 0.9865 0.9752 0.9808 525
4 0.9631 0.9937 0.9781 315
5 1.0000 0.8667 0.9286 30
accuracy 0.9735 1170
macro avg 0.9811 0.9404 0.9592 1170
weighted avg 0.9739 0.9735 0.9734 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
すべてのスコアで高水準な結果となった.精度も過去最高で標...
では,次はどこまで水増しすれば精度が頭打ちになるのか試し...
水増し10倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.8667 0.9286 30
2 0.9384 0.9593 0.9487 270
3 0.9806 0.9619 0.9712 525
4 0.9571 0.9905 0.9735 315
5 1.0000 0.9000 0.9474 30
accuracy 0.9650 1170
macro avg 0.9752 0.9357 0.9539 1170
weighted avg 0.9655 0.9650 0.9649 1170
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
水増し5倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.9000 0.9474 30
2 0.9412 0.9481 0.9446 270
3 0.9824 0.9562 0.9691 525
4 0.9392 0.9810 0.9596 315
5 0.8710 0.9000 0.8852 30
accuracy 0.9581 1170
macro avg 0.9467 0.9371 0.9412 1170
weighted avg 0.9588 0.9581 0.9582 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
評点1のF1スコアは上がったがそれ以外の改善点は見られなか...
水増しなし結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
precision recall f1-score support
1 0.9615 0.8333 0.8929 30
2 0.9481 0.9481 0.9481 270
3 0.9827 0.9714 0.9770 525
4 0.9627 0.9841 0.9733 315
5 0.9091 1.0000 0.9524 30
accuracy 0.9667 1170
macro avg 0.9528 0.9474 0.9487 1170
weighted avg 0.9669 0.9667 0.9666 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
**7/21 [#q04771bb]
いままでrandamsplitで学習データと検証データに分けていたの...
~
水増しなし.結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
precision recall f1-score support
1 0.9167 0.9167 0.9167 12
2 0.9450 0.9537 0.9493 108
3 0.9951 0.9667 0.9807 210
4 0.9545 1.0000 0.9767 126
5 1.0000 0.9167 0.9565 12
accuracy 0.9701 468
macro avg 0.9623 0.9507 0.9560 468
weighted avg 0.9707 0.9701 0.9701 468~
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/2kai...
思っていたよりも精度がよい.
**7/13 [#i5f00065]
今日からやっていくこと~
・水増しした画像データの量を可視化~
・水増しデータの量を変えて精度がどのように変わるのか試す~
~
今行っている水増しはオンライン水増しでデータファイル自体...
数えるなら理論上は50%の画像データが左右反転,ランダム回転...
~
次に考える方針は評点1,5の非常に少ないデータをオフライ...
いままで評点1,5のデータ数はそれぞれ6枚だったのを10倍...
したがって5fold交差検証を行っているので~
学習用:約218枚(64%)~
検証用:約55枚(16%)~
テスト用:約69枚(20%)~
に分けられる.
~
~
結果
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.5000 0.6667 2
2 0.9091 1.0000 0.9524 10
3 1.0000 1.0000 1.0000 21
4 1.0000 1.0000 1.0000 13
5 1.0000 1.0000 1.0000 1
accuracy 0.9787 47
macro avg 0.9818 0.9000 0.9238 47
weighted avg 0.9807 0.9787 0.9757 47
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/1.5....
結果はあまり変わらなかった.まだ評点1,5が少なく感じる.~
~
~次に評点1.5の学習データを5倍水増しに減らしてみた.~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.7500 0.8571 12
2 0.9381 0.9815 0.9593 108
3 0.9903 0.9714 0.9808 210
4 0.9542 0.9921 0.9728 126
5 1.0000 0.7500 0.8571 12
accuracy 0.9679 468
macro avg 0.9765 0.8890 0.9254 468
weighted avg 0.9690 0.9679 0.9673 468
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/1.5....
評点1.5のF1-scoreが減少してしまっていた.つまり,評点...
**7/8 [#h580c691]
やはり評点1〜5の画像が少なすぎるため,1〜5の精度の信...
少しでも結果の信憑性を高めるために総合混合行列というもの...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/konn...
**7/1 [#x4b3ef2f]
データ数が少ないことによる精度の不安定さを解決するために...
~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
正解率97%,標準偏差3.4とかなり改善した.
~
ここまでのスクリプトについて~
このプログラムはRasnet18を用いた錆画像の5クラス分類を5Fo...
Resize:ResNet18の入力サイズに合わせる~
RandomHorizontalFlip:左右が変わっても分類できるようにする~
RandomRotation(10):多少傾いた画像でも分類できるようにする~
ToTensor:PyTorchで計算できる形式に変換する~
batchsizeは16.~
RasNet18はImageNetを用いて転移学習によって精度を高めてい...
学習率は0.001だったのを0.0001に変更.~
Earlystoppingで過学習を抑制.~
混同行列を作成.~
*6月 [#c3fca1e2]
~
~
**6/25 [#v31360ea]
今回は5分割交差検証で行った.またepoch数は5とし,Repeat...
k-foldを導入した結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
今回は試しで行ったためepoch数やRepeat数を少なくしている....
次はepoch数10,Repeat数3でやってみる.~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
標準偏差も精度も悪くなってしまった.おそらく過学習が発生...
過学習が起きているかどうかを確かめるために,Validation Lo...
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
train loss は順調に少なくなっているのに,test loss は途...
過学習を防ぐためにWeight Decayを導入して学習の重みが大き...
やってみたがこれといった改善は見られなかった.~
次にDropoutを導入して学習の偏りを減らしてみる.
**6/19 [#x3937589]
~
今日から先輩から頂いた補正済みの橋梁の錆の近景データ267枚...
・k-fold交差検証を行うメリット:~
・テストデータを様々なパターンで分けて行うので,精度の安...
・評価した回数分の平均をとって評価するので偶然の影響が小...
・評価結果からの平均,標準偏差を出すことができるので,精...
~
~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
正解率は84%と出ているが,95%のときや61%のときもあり,正解...
また,標準偏差も12.14と非常に大きく,結果の信憑性は非常に...
**6/18 [#l413b930]
結果
source /home/kouzou/cifar-env/bin/activate
device = cuda
epoch: 0
loss: 1.57
test accuracy : 0.6087
------------------------------
epoch: 1
loss: 1.20
test accuracy : 0.7122
------------------------------
epoch: 2
loss: 1.04
test accuracy : 0.7680
------------------------------
epoch: 3
loss: 0.96
test accuracy : 0.8128
------------------------------
epoch: 4
loss: 0.90
test accuracy : 0.8369
------------------------------
epoch: 5
loss: 0.86
test accuracy : 0.8500
------------------------------
epoch: 6
loss: 0.82
test accuracy : 0.8585
------------------------------
epoch: 7
loss: 0.79
test accuracy : 0.8521
------------------------------
epoch: 8
loss: 0.76
test accuracy : 0.8776
Fold 1 Epoch 17 Loss=0.1429
------------------------------
epoch: 9
loss: 0.74
test accuracy : 0.8827
Fold 1 Epoch 17 Loss=0.1429
------------------------------
epoch: 10
loss: 0.72
test accuracy : 0.8805
------------------------------
epoch: 11
loss: 0.70
test accuracy : 0.8894
------------------------------
epoch: 12
loss: 0.68
test accuracy : 0.8945
------------------------------
epoch: 13
loss: 0.67
test accuracy : 0.8893
------------------------------
epoch: 14
loss: 0.65
test accuracy : 0.8965
------------------------------
epoch: 15
loss: 0.64
test accuracy : 0.9072
------------------------------
epoch: 16
loss: 0.63
test accuracy : 0.9044
------------------------------
epoch: 17
loss: 0.62
test accuracy : 0.9080
------------------------------
epoch: 18
loss: 0.61
test accuracy : 0.9096
------------------------------
epoch: 19
loss: 0.59
test accuracy : 0.9020
------------------------------
epoch: 20
loss: 0.59
test accuracy : 0.9152
------------------------------
epoch: 21
loss: 0.58
test accuracy : 0.9139
------------------------------
epoch: 22
loss: 0.57
test accuracy : 0.9219
------------------------------
epoch: 23
loss: 0.56
test accuracy : 0.9208
------------------------------
epoch: 24
loss: 0.56
test accuracy : 0.9154
------------------------------
epoch: 25
loss: 0.55
test accuracy : 0.9185
------------------------------
epoch: 26
loss: 0.55
test accuracy : 0.9225
------------------------------
epoch: 27
loss: 0.54
test accuracy : 0.9273
------------------------------
epoch: 28
loss: 0.54
test accuracy : 0.9258
------------------------------
epoch: 29
loss: 0.53
test accuracy : 0.9277
------------------------------
epoch: 30
loss: 0.53
test accuracy : 0.9249
------------------------------
epoch: 31
loss: 0.53
test accuracy : 0.9259
------------------------------
epoch: 32
loss: 0.52
test accuracy : 0.9279
------------------------------
epoch: 33
loss: 0.52
test accuracy : 0.9306
------------------------------
epoch: 34
loss: 0.52
test accuracy : 0.9314
------------------------------
epoch: 35
loss: 0.52
test accuracy : 0.9293
------------------------------
epoch: 36
loss: 0.51
test accuracy : 0.9327
------------------------------
epoch: 37
loss: 0.51
test accuracy : 0.9309
------------------------------
epoch: 38
loss: 0.51
test accuracy : 0.9327
------------------------------
epoch: 39
loss: 0.51
test accuracy : 0.9333
------------------------------
epoch: 40
loss: 0.51
test accuracy : 0.9368
------------------------------
epoch: 41
loss: 0.51
test accuracy : 0.9354
------------------------------
epoch: 42
loss: 0.51
test accuracy : 0.9363
------------------------------
epoch: 43
loss: 0.51
test accuracy : 0.9349
------------------------------
epoch: 44
loss: 0.51
test accuracy : 0.9368
------------------------------
epoch: 45
loss: 0.51
test accuracy : 0.9363
------------------------------
epoch: 46
loss: 0.51
test accuracy : 0.9359
------------------------------
epoch: 47
loss: 0.51
test accuracy : 0.9365
------------------------------
epoch: 48
loss: 0.51
test accuracy : 0.9358
------------------------------
epoch: 49
loss: 0.51
test accuracy : 0.9353
------------------------------
final train accuracy: 0.9993
final test accuracy : 0.9353
=== Per Class Accuracy ===~
airplane 942/1000 (94.20%)~
automobile 967/1000 (96.70%)~
bird 906/1000 (90.60%)~
cat 871/1000 (87.10%)~
deer 940/1000 (94.00%)~
dog 891/1000 (89.10%)~
frog 958/1000 (95.80%)~
horse 958/1000 (95.80%)~
ship 967/1000 (96.70%)~
truck 953/1000 (95.30%)~
~
93.5%と若干上昇.
**6/16 [#x7905f00]
・さらに精度を上げるためにモデルをCNNからRasNetに変えてみ...
・RasNetとは:一般的なCNNにさらにショーカット連続を追加し...
~
~
~
結果~
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
device = cuda
epoch: 0
loss: 1.37
test accuracy : 0.5985
------------------------------
epoch: 1
loss: 0.89
test accuracy : 0.7110
------------------------------
epoch: 2
loss: 0.69
test accuracy : 0.7690
------------------------------
epoch: 3
loss: 0.58
test accuracy : 0.7785
------------------------------
epoch: 4
loss: 0.51
test accuracy : 0.8282
------------------------------
epoch: 5
loss: 0.45
test accuracy : 0.8177
------------------------------
epoch: 6
loss: 0.40
test accuracy : 0.8548
------------------------------
epoch: 7
loss: 0.36
test accuracy : 0.8577
------------------------------
epoch: 8
loss: 0.33
test accuracy : 0.8740
------------------------------
epoch: 9
loss: 0.30
test accuracy : 0.8850
------------------------------
epoch: 10
loss: 0.27
test accuracy : 0.8776
------------------------------
epoch: 11
loss: 0.25
test accuracy : 0.8897
------------------------------
epoch: 12
loss: 0.23
test accuracy : 0.8830
------------------------------
epoch: 13
loss: 0.21
test accuracy : 0.8981
------------------------------
epoch: 14
loss: 0.19
test accuracy : 0.8975
------------------------------
epoch: 15
loss: 0.17
test accuracy : 0.9051
------------------------------
epoch: 16
loss: 0.16
test accuracy : 0.9043
------------------------------
epoch: 17
loss: 0.14
test accuracy : 0.8972
------------------------------
epoch: 18
loss: 0.13
test accuracy : 0.9074
------------------------------
epoch: 19
loss: 0.11
test accuracy : 0.9089
------------------------------
epoch: 20
loss: 0.10
test accuracy : 0.9079
------------------------------
epoch: 21
loss: 0.10
test accuracy : 0.9157
------------------------------
epoch: 22
loss: 0.08
test accuracy : 0.9141
------------------------------
epoch: 23
loss: 0.08
test accuracy : 0.9114
------------------------------
epoch: 24
loss: 0.07
test accuracy : 0.9183
------------------------------
epoch: 25
loss: 0.06
test accuracy : 0.9208
------------------------------
epoch: 26
loss: 0.06
test accuracy : 0.9184
------------------------------
epoch: 27
loss: 0.04
test accuracy : 0.9161
------------------------------
epoch: 28
loss: 0.04
test accuracy : 0.9165
------------------------------
epoch: 29
loss: 0.04
test accuracy : 0.9226
------------------------------
epoch: 30
loss: 0.03
test accuracy : 0.9186
------------------------------
epoch: 31
loss: 0.03
test accuracy : 0.9240
------------------------------
epoch: 32
loss: 0.02
test accuracy : 0.9224
------------------------------
epoch: 33
loss: 0.02
test accuracy : 0.9208
------------------------------
epoch: 34
loss: 0.02
test accuracy : 0.9236
------------------------------
epoch: 35
loss: 0.02
test accuracy : 0.9264
------------------------------
epoch: 36
loss: 0.01
test accuracy : 0.9287
------------------------------
epoch: 37
loss: 0.01
test accuracy : 0.9276
------------------------------
epoch: 38
loss: 0.01
test accuracy : 0.9278
------------------------------
epoch: 39
loss: 0.01
test accuracy : 0.9313
------------------------------
epoch: 40
loss: 0.01
test accuracy : 0.9307
------------------------------
epoch: 41
loss: 0.01
test accuracy : 0.9305
------------------------------
epoch: 42
loss: 0.01
test accuracy : 0.9306
------------------------------
epoch: 43
loss: 0.00
test accuracy : 0.9299
------------------------------
epoch: 44
loss: 0.01
test accuracy : 0.9292
------------------------------
epoch: 45
loss: 0.00
test accuracy : 0.9302
------------------------------
epoch: 46
loss: 0.00
test accuracy : 0.9314
------------------------------
epoch: 47
loss: 0.00
test accuracy : 0.9305
------------------------------
epoch: 48
loss: 0.00
test accuracy : 0.9314
------------------------------
epoch: 49
loss: 0.00
test accuracy : 0.9320
------------------------------
final train accuracy: 0.9997
final test accuracy : 0.9320
=== Per Class Accuracy ===~
airplane 939/1000 (93.90%)~
automobile 976/1000 (97.60%)~
bird 906/1000 (90.60%)~
cat 836/1000 (83.60%)~
deer 944/1000 (94.40%)~
dog 896/1000 (89.60%)~
frog 968/1000 (96.80%)~
horse 951/1000 (95.10%)~
ship 962/1000 (96.20%)~
truck 942/1000 (94.20%)~
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/RasN...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/RasN...
~
結果より精度が93%と非常に高い精度となった.混同行列や間違...
~
さらに精度を上げるために~
・DataAugmentationに新たにcolorjitterを追加した.これによ...
・AdamをAdamWにすることで重みが大きくなりすぎるのを防ぎ,...
・Batch Sizeを64から128に変更し,学習の安定化を図る.~
・Label Smoothingを導入しモデルが極端な判断をするのを防ぐ...
・CosineAnnealingLRで後半の学習率を調整する~
**6/11 [#u38a96e1]
・1回の学習時間が長くなってきたので合間で,森井さんの日...
~
・アンサンブル学習:複数のモデルを用いて,それぞれの学習...
・混同行列のスクリプトを作成し,どれとどれが間違っている...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/konn...
~
catとdogで間違えていることがよくわかった.この問題を解決...
**6/10 [#gbd53d48]
・epoch数20でも実行可能であることがわかったのでDropoutとS...
~
結果
device = cuda
epoch: 0
loss: 1.62
test accuracy : 0.5609
------------------------------
epoch: 1
loss: 1.29
test accuracy : 0.5629
------------------------------
epoch: 2
loss: 1.17
test accuracy : 0.6620
------------------------------
epoch: 3
loss: 1.08
test accuracy : 0.6744
------------------------------
epoch: 4
loss: 1.02
test accuracy : 0.7158
------------------------------
epoch: 5
loss: 0.92
test accuracy : 0.7358
------------------------------
epoch: 6
loss: 0.89
test accuracy : 0.7507
------------------------------
epoch: 7
loss: 0.87
test accuracy : 0.7490
------------------------------
epoch: 8
loss: 0.84
test accuracy : 0.7549
------------------------------
epoch: 9
loss: 0.82
test accuracy : 0.7609
------------------------------
epoch: 10
loss: 0.77
test accuracy : 0.7770
------------------------------
epoch: 11
loss: 0.76
test accuracy : 0.7818
------------------------------
epoch: 12
loss: 0.75
test accuracy : 0.7814
------------------------------
epoch: 13
loss: 0.74
test accuracy : 0.7888
------------------------------
epoch: 14
loss: 0.73
test accuracy : 0.7921
------------------------------
epoch: 15
loss: 0.71
test accuracy : 0.7948
------------------------------
epoch: 16
loss: 0.70
test accuracy : 0.7991
------------------------------
epoch: 17
loss: 0.69
test accuracy : 0.7991
------------------------------
epoch: 18
loss: 0.69
test accuracy : 0.7997
------------------------------
epoch: 19
loss: 0.69
test accuracy : 0.7962
------------------------------
final train accuracy: 0.8106
final test accuracy : 0.7962
~
~
79%と上昇した.~
~
~
・各クラスごとの正解率を見てみる.~
~
=== Per Class Accuracy ===~
airplane 837/1000 (83.70%)~
automobile 923/1000 (92.30%)~
bird 648/1000 (64.80%)~
cat 612/1000 (61.20%)~
deer 800/1000 (80.00%)~
dog 729/1000 (72.90%)~
frog 878/1000 (87.80%)~
horse 839/1000 (83.90%)~
ship 906/1000 (90.60%)~
truck 876/1000 (87.60%)~
~
見ると乗り物系は非常に正解率が高いのに対して,bird,cat,do...
**6/9 [#dcf51b01]
・ロス数を平均化したほうがのちのち都合が良いので平均化す...
・train accuracyを毎回表示していると実行に時間がかかるの...
・Dropoutを導入してモデルに応用力をつける.~
・Schedulerを導入して学習率を意図的に下げ,学習の調整を細...
~
Dropoutとは:~
Dropoutとはニューラルネットワークの学習中に、各層の一部の...
イメージは学習のたびにネットワークの一部を休ませることで...
~
~
結果
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
epoch: 0
loss: 1.72
test accuracy : 0.5144
------------------------------
epoch: 1
loss: 1.49
test accuracy : 0.5245
------------------------------
epoch: 2
loss: 1.38
test accuracy : 0.6027
------------------------------
epoch: 3
loss: 1.32
test accuracy : 0.6275
------------------------------
epoch: 4
loss: 1.28
test accuracy : 0.6424
------------------------------
epoch: 5
loss: 1.20
test accuracy : 0.6842
------------------------------
epoch: 6
loss: 1.17
test accuracy : 0.6899
------------------------------
epoch: 7
loss: 1.15
test accuracy : 0.6941
------------------------------
epoch: 8
loss: 1.13
test accuracy : 0.6966
------------------------------
epoch: 9
loss: 1.12
test accuracy : 0.7020
------------------------------
final train accuracy: 0.6789
final test accuracy : 0.7020
精度が上がらない,epochが10と少ないのに学習率を下げたから...
~
~
結果
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
device = cuda
epoch: 0
loss: 1.47
test accuracy : 0.5780
------------------------------
epoch: 1
loss: 1.16
test accuracy : 0.6445
------------------------------
epoch: 2
loss: 1.05
test accuracy : 0.6615
------------------------------
epoch: 3
loss: 0.98
test accuracy : 0.6726
------------------------------
epoch: 4
loss: 0.92
test accuracy : 0.7146
------------------------------
epoch: 5
loss: 0.89
test accuracy : 0.7112
------------------------------
epoch: 6
loss: 0.86
test accuracy : 0.7355
------------------------------
epoch: 7
loss: 0.83
test accuracy : 0.7273
------------------------------
epoch: 8
loss: 0.81
test accuracy : 0.7467
------------------------------
epoch: 9
loss: 0.79
test accuracy : 0.7415
------------------------------
epoch: 10
loss: 0.77
test accuracy : 0.7508
------------------------------
epoch: 11
loss: 0.75
test accuracy : 0.7490
------------------------------
epoch: 12
loss: 0.74
test accuracy : 0.7582
------------------------------
epoch: 13
loss: 0.72
test accuracy : 0.7664
------------------------------
epoch: 14
loss: 0.71
test accuracy : 0.7587
------------------------------
epoch: 15
loss: 0.70
test accuracy : 0.7544
------------------------------
epoch: 16
loss: 0.69
test accuracy : 0.7779
------------------------------
epoch: 17
loss: 0.68
test accuracy : 0.7691
------------------------------
epoch: 18
loss: 0.66
test accuracy : 0.7787
------------------------------
epoch: 19
loss: 0.66
test accuracy : 0.7784
------------------------------
final train accuracy: 0.7683
final test accuracy : 0.7784
~
77%と精度が上がった.~
~
~
次は80%以上まで上げたい.よって3層目の畳み込み層を追加し...
~
~
結果
kouzou@ii21:~$ /home/kouzou/cifar-env/bin/python /home/ko...
source /home/kouzou/cifar-env/bin/activate
device = cuda
epoch: 0
loss: 1.38
test accuracy : 0.6097
------------------------------
epoch: 1
loss: 1.01
test accuracy : 0.6555
------------------------------
epoch: 2
loss: 0.89
test accuracy : 0.7165
------------------------------
epoch: 3
loss: 0.81
test accuracy : 0.7134
------------------------------
epoch: 4
loss: 0.76
test accuracy : 0.7484
------------------------------
epoch: 5
loss: 0.71
test accuracy : 0.7624
------------------------------
epoch: 6
loss: 0.67
test accuracy : 0.7605
------------------------------
epoch: 7
loss: 0.65
test accuracy : 0.7712
------------------------------
epoch: 8
loss: 0.62
test accuracy : 0.7708
------------------------------
epoch: 9
loss: 0.60
test accuracy : 0.7969
------------------------------
epoch: 10
loss: 0.58
test accuracy : 0.7918
------------------------------
epoch: 11
loss: 0.56
test accuracy : 0.8075
------------------------------
epoch: 12
loss: 0.55
test accuracy : 0.7877
------------------------------
epoch: 13
loss: 0.53
test accuracy : 0.8163
------------------------------
epoch: 14
loss: 0.52
test accuracy : 0.8106
------------------------------
epoch: 15
loss: 0.51
test accuracy : 0.8187
------------------------------
epoch: 16
loss: 0.49
test accuracy : 0.8118
------------------------------
epoch: 17
loss: 0.48
test accuracy : 0.8127
------------------------------
epoch: 18
loss: 0.47
test accuracy : 0.8176
------------------------------
epoch: 19
loss: 0.46
test accuracy : 0.8307
------------------------------
final train accuracy: 0.8537
final test accuracy : 0.8307
~
83%まで精度が上がった.
**6/5 [#p10e0a0f]
~
~
epoch数を10にして再び学習~
poch: 0
loss: 1454.0281460285187
train accuracy: 0.37928
test accuracy : 0.3776
------------------------------
epoch: 1
loss: 1312.5663577318192
train accuracy: 0.43784
test accuracy : 0.4368
------------------------------
epoch: 2
loss: 1255.8324360847473
train accuracy: 0.44384
test accuracy : 0.4342
------------------------------
epoch: 3
loss: 1225.7701717615128
train accuracy: 0.4555
test accuracy : 0.4453
------------------------------
epoch: 4
loss: 1197.299763083458
train accuracy: 0.46088
test accuracy : 0.4494
------------------------------
epoch: 5
loss: 1176.6848516464233
train accuracy: 0.45176
test accuracy : 0.439
------------------------------
epoch: 6
loss: 1155.949428319931
train accuracy: 0.4852
test accuracy : 0.4715
------------------------------
epoch: 7
loss: 1145.0654866695404
train accuracy: 0.49966
test accuracy : 0.4809
------------------------------
epoch: 8
loss: 1131.507185101509
train accuracy: 0.4894
test accuracy : 0.4708
------------------------------
epoch: 9
loss: 1119.446041584015
train accuracy: 0.49018
test accuracy : 0.4643
------------------------------
epoch数7でテストデータの正解率が頭打ちになり,8以降から...
~
~
~
~
モデルをCNNに変えてみた.epoch数は6.~
結果~
kouzou@ii21:~$ /home/kouzou/cifar-env/bin/python /home/ko...
epoch: 0
loss: 1139.25
train accuracy: 0.5978
test accuracy : 0.5882
------------------------------
epoch: 1
loss: 837.40
train accuracy: 0.6725
test accuracy : 0.6484
------------------------------
epoch: 2
loss: 708.00
train accuracy: 0.7027
test accuracy : 0.6608
------------------------------
epoch: 3
loss: 624.75
train accuracy: 0.7513
test accuracy : 0.6909
------------------------------
epoch: 4
loss: 556.14
train accuracy: 0.7853
test accuracy : 0.7007
------------------------------
epoch: 5
loss: 479.45
train accuracy: 0.8171
test accuracy : 0.7008
------------------------------
正解率は70%まで上昇した.間違えた画像をいくつか見てみたが...
~
~
~
~
更に精度を上げるためにデータを拡張してみる.データの拡張...
結果
epoch: 0
loss: 1143.16
train accuracy: 0.5662
test accuracy : 0.5652
------------------------------
epoch: 1
loss: 867.45
train accuracy: 0.6465
test accuracy : 0.6402
------------------------------
epoch: 2
loss: 768.89
train accuracy: 0.6578
test accuracy : 0.6424
------------------------------
epoch: 3
loss: 703.50
train accuracy: 0.6845
test accuracy : 0.6696
------------------------------
epoch: 4
loss: 662.69
train accuracy: 0.7149
test accuracy : 0.6994
------------------------------
epoch: 5
loss: 625.14
train accuracy: 0.7345
test accuracy : 0.7150
------------------------------
epoch: 6
loss: 602.43
train accuracy: 0.7368
test accuracy : 0.7216
------------------------------
epoch: 7
loss: 573.49
train accuracy: 0.7539
test accuracy : 0.7315
------------------------------
epoch: 8
loss: 557.15
train accuracy: 0.7562
test accuracy : 0.7317
------------------------------
epoch: 9
loss: 544.22
train accuracy: 0.7579
test accuracy : 0.7293
------------------------------
正解率が2〜3%上昇した.~
~
~
~
~
BatchNormを入れてみる.これを入れると中間層でスケールを揃...
結果~
epoch: 0
loss: 1146.65
train accuracy: 0.5569
test accuracy : 0.5911
------------------------------
epoch: 1
loss: 908.52
train accuracy: 0.6080
test accuracy : 0.6496
------------------------------
epoch: 2
loss: 818.68
train accuracy: 0.6324
test accuracy : 0.6592
------------------------------
epoch: 3
loss: 762.90
train accuracy: 0.6769
test accuracy : 0.7033
------------------------------
epoch: 4
loss: 723.64
train accuracy: 0.6831
test accuracy : 0.7015
------------------------------
epoch: 5
loss: 691.66
train accuracy: 0.7062
test accuracy : 0.7291
------------------------------
epoch: 6
loss: 669.03
train accuracy: 0.7056
test accuracy : 0.7216
------------------------------
epoch: 7
loss: 642.19
train accuracy: 0.7261
test accuracy : 0.7416
------------------------------
epoch: 8
loss: 628.23
train accuracy: 0.7339
test accuracy : 0.7517
------------------------------
epoch: 9
loss: 608.50
train accuracy: 0.7405
test accuracy : 0.7526
------------------------------
2%ほど正解率が上がった.
**6/4 [#f697fdc3]
~
~
CIFAR-10という動物や車,飛行機の画像が大量にあるデータを...
画像例~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/cifa...
まずは代表的なNNであるMLPをつかって行った.epochは3で行...
~
結果:~
epoch: 0
loss: 1452.5976511240005
accuracy: 0.36034
------------------------------
epoch: 1
loss: 1307.6552993059158
accuracy: 0.40218
------------------------------
epoch: 2
loss: 1258.6369264125824
accuracy: 0.45128
------------------------------
~
正解率45%と非常に低い.~
間違えた画像の一部を表示した.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/mati...
ここから考察するに間違いに法則性がないため単純に精度が低...
明日やること:CNNでやってみる,またそこからさらに正解率を...
~
**6/3 [#e406315f]
~
自分が手書きで書いた星を見せたときどんな数字だとモデルが...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/hosi...
結果,8と判断した.当然星なので8ではない.このモデルは...
しかし,結果は8で確信度は0.994つまり99.4%と非常に高い確...
他の数字ではない画像で試してみた.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/uzum...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/ka.p...
これらの画像も確信度99%で0,98%で4と判断されてし...
~
~
・なぜ,数字ではない画像を見せたときに確信度が0.7以下...
まず,いろいろな数字ではない図形を見せても99%で何らか...
では,なぜ99%で何らかの数字が出るのか考えてみた.今回...
試しに,0か6か判別しづらそうな画像を見せてみた.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/maru...
この結果は’数字ではない可能性があります’と出た!つまり上...
よって数字ではない画像を数字ではないと判別するには,学習...
~
~
そもそも教師あり学習は特徴量と正解データによって正解を予...
**6/2 [#le783aa3]
~
今回は自分の手書きの数字4に線や点などの障害物を加えたと...
たとえば自分が手書きで書いた数字6でテストした結果コレは...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/4sen...
結果:ノイズをいれても4と判断してくれた確信度は100%...
テスト精度は99.06%と高いが,間違えているところを見...
~
~
明日やること,数字ではない図形を見てどう判断するのか見て...
*5月 [#k871054c]
**5/29 [#rb4d3afe]
~
昨日よりもさらに精度を上げるためにエポック数を3から10に増...
結果は97.94%と上昇した.~
~
・更に精度を上げるためにCNNに変えてみた.~
結果,テスト精度が99.07%まで,上昇した.今までlossが低...
~
・CNN(畳み込みニューラルネットワークとは)
NNの一種で画像処理に特化している.NNは画像を単なる数値と...
~
CNNは3つの要素で構成されている.~
・畳み込み層:局所的な部分の特徴を見つける.小さなフィル...
・プーリング層:特徴を圧縮する.画像データは大量の数値の...
・全結合層:畳み込み+プーリングによって得られた特徴の集...
~
**5/28 [#r4445df5]
~
~
MNISTというものを用いて機械学習の練習をした.~
・MNISTとは~
MNISTとは、機械学習や画像認識の分野でよく使われる有名な...
具体的には:~
0〜9の数字(10クラス)~
白黒の小さな画像(28×28ピクセル)~
学習用に約60,000枚、テスト用に約10,000枚~
という構成になっている.~
~
・今回使ったモデル:ニューラルネット~
~
・ニューラルネットが画像処理に強い理由~
| 画像 | ニューラルネット |
| ---------- | ------------ |
| 点が近いと線になる | 近い情報から特徴を作る |
| 線が集まって形になる | 特徴を積み上げて形になる |
なので相性が良い.
例えば決定木では位置や形に弱く,質問を投げるだけで法則を...
ニューラルネットは層に分けて画像の特徴を計算するのでうま...
~
・6万個のデータを3回学習させてできたモデルのテスト精度は9...
~
・次に自分が手書きで書いた数字「3」を学習させたモデルに...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3.png~
~
~
結果は3とでて,当てることに成功した.テスト精度は97.22%...
~
~
~
**5/27 [#z3c5ac7f]
~
~
・欠損値が欠けているとき,そのデータが時系列データのとき...
・前処理の段階で,欠損値を予測するために機械学習を行うの...
~
~
**5/25 [#jc9b2b76]
~
~
・axis=0 → 縦方向(行をまたぐ)~
・axis=1 → 横方向(列をまたぐ)~
~
~
・前回まではホールドアウト法によってデータをテストデータ...
~→したがってこの問題に対処するために,~
①学習に使用するデータ~
②学習には使用せずにチューニングの参考に使用するデータ~
③チューニングを行った最終的な学習済みモデルに対して予測...
の3つに分割する.
~
~
・使用する特徴量を絞り込む際,はずれ値をチェックしてから...
~
~
・重回帰分析ではAIによってつくられた計算式の係数の大きさ...
**5/21 [#fa5943a5]
model = tree.DecisionTreeClassifier(max_depth = 5,
random_state = 0,class_weight ='balanced')
は不均衡データで比率の大きいデータの影響力を小さくし,比...
-昔の pandas は:
mean()
すると文字列列を自動無視してくれました。
今の pandas は:
「文字列があるならエラーにする」
という仕様になっています。
今後のコツ
groupby().mean() を使うときは、
['Age']
['Fare']
['Survived']
みたいに、
「どの数値列を平均するか」
を明示すると安全です。
~
~http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/abc...
~
-決定木を深くするということはたくさんの分岐条件を設定する...
→モデルの構成がより複雑になる~
→予測性能が上がるわけではない.~
複雑なモデルであればあるほど訓練データの予測性能は上がる...
~
このような現象が起こる理由:~
構造が複雑であればあるほど,訓練データだけに当てはまる条...
~
過学習は決定木の場合は木の深さを増やしすぎる,重回帰の場...
~
~
~
過学習を起こさずにモデルの予測性能を上げる一般的な方法:~
・データ数を増やす~
・データの前処理の仕方を変える~
・モデルの学習時の設定を変える~
・そもそもの分析方法を変える~
**5/20 [#w07d4c5b]
今まで扱っていたデータは(例)アヤメの種類分別 では...
このようなデータを不均衡データという.
・決定木モデルは他のモデルに比べ,外れ値の影響を受けにく...
*データの比率に違いがあることで起きる問題 [#q891f910]
例えば生存者データが5%,死亡者データが95%であった場...
**5/18 [#t4089f25]
明日以降は例題のコードを一から打つのではなく,修正だけし...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/abcd...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/b.png
終了行:
[[丹羽の卒論日誌]]
~
~
~
https://www.str.ce.akita-u.ac.jp/~gotouhan/aono/a.txt
#contents
*python [#x418f751]
-PEP 668 以降は、
「pip install 〜 は仮想環境の中で行う」
が前提条件になった.
-仮想環境の設定は以下
python3 -m venv .venv(最初のみ)
source .venv/bin/activate ←仮想環境に入る
これでpip installができる
deactivate ←仮想環境から出る
コマンドの表示と実行
→python:インタープリターを選択
→VSコードでも仮想環境に入ることができる
~
~
*9月 [#m25bd01d]
**9/4 [#uca5ea45]
画像処理:ウェーブレット変換~
LL 大まかな画像情報,全体的な形や明るさ~
LH 主に横方向の変化を示す成分~
HL 主に立って方向の変化を示す成分~
HH 細かい変化,斜め方向の変化~
このように画像情報を分割して特徴量として数値化することが...
SVM:モデル~
特徴量を用いなければならないが少ないデータ量でも高精度....
**9/3 [#x4988725]
今日から耐候性鋼橋,機械学習についての文献をよむ.~
・耐候性鋼材について~
耐候性鋼は、適量のCu、Cr、Niなどの合金元素を含有し、大...
耐候性鋼は、溶接構造用鋼材としての優れた特性を有すると...
主にニッケルを多く添加し、従来のJIS耐候性鋼に対し耐塩分...
~
外観評価方法:イオン透過抵抗法~
錆層に微弱な電流を流し,イオン抵抗が大きければ緻密な安定...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/bunn...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/binn...
~
畳込み層:畳み込み演算~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/bunn...
https://mlarchive.com~
https://www.jstage.jst.go.jp/article/hnctech/56/0/56_43/_...
*7月 [#wc93afe1]
~
**7/28 [#i5f888fe]
総分割がなかなかうまく行かなかったので色々いじってもう一...
~
水増し20倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.9000 0.9474 30
2 0.9560 0.9667 0.9613 270
3 0.9865 0.9752 0.9808 525
4 0.9631 0.9937 0.9781 315
5 1.0000 0.8667 0.9286 30
accuracy 0.9735 1170
macro avg 0.9811 0.9404 0.9592 1170
weighted avg 0.9739 0.9735 0.9734 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
すべてのスコアで高水準な結果となった.精度も過去最高で標...
では,次はどこまで水増しすれば精度が頭打ちになるのか試し...
水増し10倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.8667 0.9286 30
2 0.9384 0.9593 0.9487 270
3 0.9806 0.9619 0.9712 525
4 0.9571 0.9905 0.9735 315
5 1.0000 0.9000 0.9474 30
accuracy 0.9650 1170
macro avg 0.9752 0.9357 0.9539 1170
weighted avg 0.9655 0.9650 0.9649 1170
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
水増し5倍結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.9000 0.9474 30
2 0.9412 0.9481 0.9446 270
3 0.9824 0.9562 0.9691 525
4 0.9392 0.9810 0.9596 315
5 0.8710 0.9000 0.8852 30
accuracy 0.9581 1170
macro avg 0.9467 0.9371 0.9412 1170
weighted avg 0.9588 0.9581 0.9582 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
~
評点1のF1スコアは上がったがそれ以外の改善点は見られなか...
水増しなし結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
precision recall f1-score support
1 0.9615 0.8333 0.8929 30
2 0.9481 0.9481 0.9481 270
3 0.9827 0.9714 0.9770 525
4 0.9627 0.9841 0.9733 315
5 0.9091 1.0000 0.9524 30
accuracy 0.9667 1170
macro avg 0.9528 0.9474 0.9487 1170
weighted avg 0.9669 0.9667 0.9666 1170
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3kai...
**7/21 [#q04771bb]
いままでrandamsplitで学習データと検証データに分けていたの...
~
水増しなし.結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
precision recall f1-score support
1 0.9167 0.9167 0.9167 12
2 0.9450 0.9537 0.9493 108
3 0.9951 0.9667 0.9807 210
4 0.9545 1.0000 0.9767 126
5 1.0000 0.9167 0.9565 12
accuracy 0.9701 468
macro avg 0.9623 0.9507 0.9560 468
weighted avg 0.9707 0.9701 0.9701 468~
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/2kai...
思っていたよりも精度がよい.
**7/13 [#i5f00065]
今日からやっていくこと~
・水増しした画像データの量を可視化~
・水増しデータの量を変えて精度がどのように変わるのか試す~
~
今行っている水増しはオンライン水増しでデータファイル自体...
数えるなら理論上は50%の画像データが左右反転,ランダム回転...
~
次に考える方針は評点1,5の非常に少ないデータをオフライ...
いままで評点1,5のデータ数はそれぞれ6枚だったのを10倍...
したがって5fold交差検証を行っているので~
学習用:約218枚(64%)~
検証用:約55枚(16%)~
テスト用:約69枚(20%)~
に分けられる.
~
~
結果
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.5000 0.6667 2
2 0.9091 1.0000 0.9524 10
3 1.0000 1.0000 1.0000 21
4 1.0000 1.0000 1.0000 13
5 1.0000 1.0000 1.0000 1
accuracy 0.9787 47
macro avg 0.9818 0.9000 0.9238 47
weighted avg 0.9807 0.9787 0.9757 47
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/1.5....
結果はあまり変わらなかった.まだ評点1,5が少なく感じる.~
~
~次に評点1.5の学習データを5倍水増しに減らしてみた.~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
precision recall f1-score support
1 1.0000 0.7500 0.8571 12
2 0.9381 0.9815 0.9593 108
3 0.9903 0.9714 0.9808 210
4 0.9542 0.9921 0.9728 126
5 1.0000 0.7500 0.8571 12
accuracy 0.9679 468
macro avg 0.9765 0.8890 0.9254 468
weighted avg 0.9690 0.9679 0.9673 468
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/1.5....
評点1.5のF1-scoreが減少してしまっていた.つまり,評点...
**7/8 [#h580c691]
やはり評点1〜5の画像が少なすぎるため,1〜5の精度の信...
少しでも結果の信憑性を高めるために総合混合行列というもの...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/konn...
**7/1 [#x4b3ef2f]
データ数が少ないことによる精度の不安定さを解決するために...
~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
~
正解率97%,標準偏差3.4とかなり改善した.
~
ここまでのスクリプトについて~
このプログラムはRasnet18を用いた錆画像の5クラス分類を5Fo...
Resize:ResNet18の入力サイズに合わせる~
RandomHorizontalFlip:左右が変わっても分類できるようにする~
RandomRotation(10):多少傾いた画像でも分類できるようにする~
ToTensor:PyTorchで計算できる形式に変換する~
batchsizeは16.~
RasNet18はImageNetを用いて転移学習によって精度を高めてい...
学習率は0.001だったのを0.0001に変更.~
Earlystoppingで過学習を抑制.~
混同行列を作成.~
*6月 [#c3fca1e2]
~
~
**6/25 [#v31360ea]
今回は5分割交差検証で行った.またepoch数は5とし,Repeat...
k-foldを導入した結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
今回は試しで行ったためepoch数やRepeat数を少なくしている....
次はepoch数10,Repeat数3でやってみる.~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
標準偏差も精度も悪くなってしまった.おそらく過学習が発生...
過学習が起きているかどうかを確かめるために,Validation Lo...
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
train loss は順調に少なくなっているのに,test loss は途...
過学習を防ぐためにWeight Decayを導入して学習の重みが大き...
やってみたがこれといった改善は見られなかった.~
次にDropoutを導入して学習の偏りを減らしてみる.
**6/19 [#x3937589]
~
今日から先輩から頂いた補正済みの橋梁の錆の近景データ267枚...
・k-fold交差検証を行うメリット:~
・テストデータを様々なパターンで分けて行うので,精度の安...
・評価した回数分の平均をとって評価するので偶然の影響が小...
・評価結果からの平均,標準偏差を出すことができるので,精...
~
~
結果~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/kfol...
正解率は84%と出ているが,95%のときや61%のときもあり,正解...
また,標準偏差も12.14と非常に大きく,結果の信憑性は非常に...
**6/18 [#l413b930]
結果
source /home/kouzou/cifar-env/bin/activate
device = cuda
epoch: 0
loss: 1.57
test accuracy : 0.6087
------------------------------
epoch: 1
loss: 1.20
test accuracy : 0.7122
------------------------------
epoch: 2
loss: 1.04
test accuracy : 0.7680
------------------------------
epoch: 3
loss: 0.96
test accuracy : 0.8128
------------------------------
epoch: 4
loss: 0.90
test accuracy : 0.8369
------------------------------
epoch: 5
loss: 0.86
test accuracy : 0.8500
------------------------------
epoch: 6
loss: 0.82
test accuracy : 0.8585
------------------------------
epoch: 7
loss: 0.79
test accuracy : 0.8521
------------------------------
epoch: 8
loss: 0.76
test accuracy : 0.8776
Fold 1 Epoch 17 Loss=0.1429
------------------------------
epoch: 9
loss: 0.74
test accuracy : 0.8827
Fold 1 Epoch 17 Loss=0.1429
------------------------------
epoch: 10
loss: 0.72
test accuracy : 0.8805
------------------------------
epoch: 11
loss: 0.70
test accuracy : 0.8894
------------------------------
epoch: 12
loss: 0.68
test accuracy : 0.8945
------------------------------
epoch: 13
loss: 0.67
test accuracy : 0.8893
------------------------------
epoch: 14
loss: 0.65
test accuracy : 0.8965
------------------------------
epoch: 15
loss: 0.64
test accuracy : 0.9072
------------------------------
epoch: 16
loss: 0.63
test accuracy : 0.9044
------------------------------
epoch: 17
loss: 0.62
test accuracy : 0.9080
------------------------------
epoch: 18
loss: 0.61
test accuracy : 0.9096
------------------------------
epoch: 19
loss: 0.59
test accuracy : 0.9020
------------------------------
epoch: 20
loss: 0.59
test accuracy : 0.9152
------------------------------
epoch: 21
loss: 0.58
test accuracy : 0.9139
------------------------------
epoch: 22
loss: 0.57
test accuracy : 0.9219
------------------------------
epoch: 23
loss: 0.56
test accuracy : 0.9208
------------------------------
epoch: 24
loss: 0.56
test accuracy : 0.9154
------------------------------
epoch: 25
loss: 0.55
test accuracy : 0.9185
------------------------------
epoch: 26
loss: 0.55
test accuracy : 0.9225
------------------------------
epoch: 27
loss: 0.54
test accuracy : 0.9273
------------------------------
epoch: 28
loss: 0.54
test accuracy : 0.9258
------------------------------
epoch: 29
loss: 0.53
test accuracy : 0.9277
------------------------------
epoch: 30
loss: 0.53
test accuracy : 0.9249
------------------------------
epoch: 31
loss: 0.53
test accuracy : 0.9259
------------------------------
epoch: 32
loss: 0.52
test accuracy : 0.9279
------------------------------
epoch: 33
loss: 0.52
test accuracy : 0.9306
------------------------------
epoch: 34
loss: 0.52
test accuracy : 0.9314
------------------------------
epoch: 35
loss: 0.52
test accuracy : 0.9293
------------------------------
epoch: 36
loss: 0.51
test accuracy : 0.9327
------------------------------
epoch: 37
loss: 0.51
test accuracy : 0.9309
------------------------------
epoch: 38
loss: 0.51
test accuracy : 0.9327
------------------------------
epoch: 39
loss: 0.51
test accuracy : 0.9333
------------------------------
epoch: 40
loss: 0.51
test accuracy : 0.9368
------------------------------
epoch: 41
loss: 0.51
test accuracy : 0.9354
------------------------------
epoch: 42
loss: 0.51
test accuracy : 0.9363
------------------------------
epoch: 43
loss: 0.51
test accuracy : 0.9349
------------------------------
epoch: 44
loss: 0.51
test accuracy : 0.9368
------------------------------
epoch: 45
loss: 0.51
test accuracy : 0.9363
------------------------------
epoch: 46
loss: 0.51
test accuracy : 0.9359
------------------------------
epoch: 47
loss: 0.51
test accuracy : 0.9365
------------------------------
epoch: 48
loss: 0.51
test accuracy : 0.9358
------------------------------
epoch: 49
loss: 0.51
test accuracy : 0.9353
------------------------------
final train accuracy: 0.9993
final test accuracy : 0.9353
=== Per Class Accuracy ===~
airplane 942/1000 (94.20%)~
automobile 967/1000 (96.70%)~
bird 906/1000 (90.60%)~
cat 871/1000 (87.10%)~
deer 940/1000 (94.00%)~
dog 891/1000 (89.10%)~
frog 958/1000 (95.80%)~
horse 958/1000 (95.80%)~
ship 967/1000 (96.70%)~
truck 953/1000 (95.30%)~
~
93.5%と若干上昇.
**6/16 [#x7905f00]
・さらに精度を上げるためにモデルをCNNからRasNetに変えてみ...
・RasNetとは:一般的なCNNにさらにショーカット連続を追加し...
~
~
~
結果~
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
device = cuda
epoch: 0
loss: 1.37
test accuracy : 0.5985
------------------------------
epoch: 1
loss: 0.89
test accuracy : 0.7110
------------------------------
epoch: 2
loss: 0.69
test accuracy : 0.7690
------------------------------
epoch: 3
loss: 0.58
test accuracy : 0.7785
------------------------------
epoch: 4
loss: 0.51
test accuracy : 0.8282
------------------------------
epoch: 5
loss: 0.45
test accuracy : 0.8177
------------------------------
epoch: 6
loss: 0.40
test accuracy : 0.8548
------------------------------
epoch: 7
loss: 0.36
test accuracy : 0.8577
------------------------------
epoch: 8
loss: 0.33
test accuracy : 0.8740
------------------------------
epoch: 9
loss: 0.30
test accuracy : 0.8850
------------------------------
epoch: 10
loss: 0.27
test accuracy : 0.8776
------------------------------
epoch: 11
loss: 0.25
test accuracy : 0.8897
------------------------------
epoch: 12
loss: 0.23
test accuracy : 0.8830
------------------------------
epoch: 13
loss: 0.21
test accuracy : 0.8981
------------------------------
epoch: 14
loss: 0.19
test accuracy : 0.8975
------------------------------
epoch: 15
loss: 0.17
test accuracy : 0.9051
------------------------------
epoch: 16
loss: 0.16
test accuracy : 0.9043
------------------------------
epoch: 17
loss: 0.14
test accuracy : 0.8972
------------------------------
epoch: 18
loss: 0.13
test accuracy : 0.9074
------------------------------
epoch: 19
loss: 0.11
test accuracy : 0.9089
------------------------------
epoch: 20
loss: 0.10
test accuracy : 0.9079
------------------------------
epoch: 21
loss: 0.10
test accuracy : 0.9157
------------------------------
epoch: 22
loss: 0.08
test accuracy : 0.9141
------------------------------
epoch: 23
loss: 0.08
test accuracy : 0.9114
------------------------------
epoch: 24
loss: 0.07
test accuracy : 0.9183
------------------------------
epoch: 25
loss: 0.06
test accuracy : 0.9208
------------------------------
epoch: 26
loss: 0.06
test accuracy : 0.9184
------------------------------
epoch: 27
loss: 0.04
test accuracy : 0.9161
------------------------------
epoch: 28
loss: 0.04
test accuracy : 0.9165
------------------------------
epoch: 29
loss: 0.04
test accuracy : 0.9226
------------------------------
epoch: 30
loss: 0.03
test accuracy : 0.9186
------------------------------
epoch: 31
loss: 0.03
test accuracy : 0.9240
------------------------------
epoch: 32
loss: 0.02
test accuracy : 0.9224
------------------------------
epoch: 33
loss: 0.02
test accuracy : 0.9208
------------------------------
epoch: 34
loss: 0.02
test accuracy : 0.9236
------------------------------
epoch: 35
loss: 0.02
test accuracy : 0.9264
------------------------------
epoch: 36
loss: 0.01
test accuracy : 0.9287
------------------------------
epoch: 37
loss: 0.01
test accuracy : 0.9276
------------------------------
epoch: 38
loss: 0.01
test accuracy : 0.9278
------------------------------
epoch: 39
loss: 0.01
test accuracy : 0.9313
------------------------------
epoch: 40
loss: 0.01
test accuracy : 0.9307
------------------------------
epoch: 41
loss: 0.01
test accuracy : 0.9305
------------------------------
epoch: 42
loss: 0.01
test accuracy : 0.9306
------------------------------
epoch: 43
loss: 0.00
test accuracy : 0.9299
------------------------------
epoch: 44
loss: 0.01
test accuracy : 0.9292
------------------------------
epoch: 45
loss: 0.00
test accuracy : 0.9302
------------------------------
epoch: 46
loss: 0.00
test accuracy : 0.9314
------------------------------
epoch: 47
loss: 0.00
test accuracy : 0.9305
------------------------------
epoch: 48
loss: 0.00
test accuracy : 0.9314
------------------------------
epoch: 49
loss: 0.00
test accuracy : 0.9320
------------------------------
final train accuracy: 0.9997
final test accuracy : 0.9320
=== Per Class Accuracy ===~
airplane 939/1000 (93.90%)~
automobile 976/1000 (97.60%)~
bird 906/1000 (90.60%)~
cat 836/1000 (83.60%)~
deer 944/1000 (94.40%)~
dog 896/1000 (89.60%)~
frog 968/1000 (96.80%)~
horse 951/1000 (95.10%)~
ship 962/1000 (96.20%)~
truck 942/1000 (94.20%)~
~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/RasN...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/RasN...
~
結果より精度が93%と非常に高い精度となった.混同行列や間違...
~
さらに精度を上げるために~
・DataAugmentationに新たにcolorjitterを追加した.これによ...
・AdamをAdamWにすることで重みが大きくなりすぎるのを防ぎ,...
・Batch Sizeを64から128に変更し,学習の安定化を図る.~
・Label Smoothingを導入しモデルが極端な判断をするのを防ぐ...
・CosineAnnealingLRで後半の学習率を調整する~
**6/11 [#u38a96e1]
・1回の学習時間が長くなってきたので合間で,森井さんの日...
~
・アンサンブル学習:複数のモデルを用いて,それぞれの学習...
・混同行列のスクリプトを作成し,どれとどれが間違っている...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/konn...
~
catとdogで間違えていることがよくわかった.この問題を解決...
**6/10 [#gbd53d48]
・epoch数20でも実行可能であることがわかったのでDropoutとS...
~
結果
device = cuda
epoch: 0
loss: 1.62
test accuracy : 0.5609
------------------------------
epoch: 1
loss: 1.29
test accuracy : 0.5629
------------------------------
epoch: 2
loss: 1.17
test accuracy : 0.6620
------------------------------
epoch: 3
loss: 1.08
test accuracy : 0.6744
------------------------------
epoch: 4
loss: 1.02
test accuracy : 0.7158
------------------------------
epoch: 5
loss: 0.92
test accuracy : 0.7358
------------------------------
epoch: 6
loss: 0.89
test accuracy : 0.7507
------------------------------
epoch: 7
loss: 0.87
test accuracy : 0.7490
------------------------------
epoch: 8
loss: 0.84
test accuracy : 0.7549
------------------------------
epoch: 9
loss: 0.82
test accuracy : 0.7609
------------------------------
epoch: 10
loss: 0.77
test accuracy : 0.7770
------------------------------
epoch: 11
loss: 0.76
test accuracy : 0.7818
------------------------------
epoch: 12
loss: 0.75
test accuracy : 0.7814
------------------------------
epoch: 13
loss: 0.74
test accuracy : 0.7888
------------------------------
epoch: 14
loss: 0.73
test accuracy : 0.7921
------------------------------
epoch: 15
loss: 0.71
test accuracy : 0.7948
------------------------------
epoch: 16
loss: 0.70
test accuracy : 0.7991
------------------------------
epoch: 17
loss: 0.69
test accuracy : 0.7991
------------------------------
epoch: 18
loss: 0.69
test accuracy : 0.7997
------------------------------
epoch: 19
loss: 0.69
test accuracy : 0.7962
------------------------------
final train accuracy: 0.8106
final test accuracy : 0.7962
~
~
79%と上昇した.~
~
~
・各クラスごとの正解率を見てみる.~
~
=== Per Class Accuracy ===~
airplane 837/1000 (83.70%)~
automobile 923/1000 (92.30%)~
bird 648/1000 (64.80%)~
cat 612/1000 (61.20%)~
deer 800/1000 (80.00%)~
dog 729/1000 (72.90%)~
frog 878/1000 (87.80%)~
horse 839/1000 (83.90%)~
ship 906/1000 (90.60%)~
truck 876/1000 (87.60%)~
~
見ると乗り物系は非常に正解率が高いのに対して,bird,cat,do...
**6/9 [#dcf51b01]
・ロス数を平均化したほうがのちのち都合が良いので平均化す...
・train accuracyを毎回表示していると実行に時間がかかるの...
・Dropoutを導入してモデルに応用力をつける.~
・Schedulerを導入して学習率を意図的に下げ,学習の調整を細...
~
Dropoutとは:~
Dropoutとはニューラルネットワークの学習中に、各層の一部の...
イメージは学習のたびにネットワークの一部を休ませることで...
~
~
結果
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
epoch: 0
loss: 1.72
test accuracy : 0.5144
------------------------------
epoch: 1
loss: 1.49
test accuracy : 0.5245
------------------------------
epoch: 2
loss: 1.38
test accuracy : 0.6027
------------------------------
epoch: 3
loss: 1.32
test accuracy : 0.6275
------------------------------
epoch: 4
loss: 1.28
test accuracy : 0.6424
------------------------------
epoch: 5
loss: 1.20
test accuracy : 0.6842
------------------------------
epoch: 6
loss: 1.17
test accuracy : 0.6899
------------------------------
epoch: 7
loss: 1.15
test accuracy : 0.6941
------------------------------
epoch: 8
loss: 1.13
test accuracy : 0.6966
------------------------------
epoch: 9
loss: 1.12
test accuracy : 0.7020
------------------------------
final train accuracy: 0.6789
final test accuracy : 0.7020
精度が上がらない,epochが10と少ないのに学習率を下げたから...
~
~
結果
(cifar-env) kouzou@ii21:~$ /home/kouzou/cifar-env/bin/pyt...
device = cuda
epoch: 0
loss: 1.47
test accuracy : 0.5780
------------------------------
epoch: 1
loss: 1.16
test accuracy : 0.6445
------------------------------
epoch: 2
loss: 1.05
test accuracy : 0.6615
------------------------------
epoch: 3
loss: 0.98
test accuracy : 0.6726
------------------------------
epoch: 4
loss: 0.92
test accuracy : 0.7146
------------------------------
epoch: 5
loss: 0.89
test accuracy : 0.7112
------------------------------
epoch: 6
loss: 0.86
test accuracy : 0.7355
------------------------------
epoch: 7
loss: 0.83
test accuracy : 0.7273
------------------------------
epoch: 8
loss: 0.81
test accuracy : 0.7467
------------------------------
epoch: 9
loss: 0.79
test accuracy : 0.7415
------------------------------
epoch: 10
loss: 0.77
test accuracy : 0.7508
------------------------------
epoch: 11
loss: 0.75
test accuracy : 0.7490
------------------------------
epoch: 12
loss: 0.74
test accuracy : 0.7582
------------------------------
epoch: 13
loss: 0.72
test accuracy : 0.7664
------------------------------
epoch: 14
loss: 0.71
test accuracy : 0.7587
------------------------------
epoch: 15
loss: 0.70
test accuracy : 0.7544
------------------------------
epoch: 16
loss: 0.69
test accuracy : 0.7779
------------------------------
epoch: 17
loss: 0.68
test accuracy : 0.7691
------------------------------
epoch: 18
loss: 0.66
test accuracy : 0.7787
------------------------------
epoch: 19
loss: 0.66
test accuracy : 0.7784
------------------------------
final train accuracy: 0.7683
final test accuracy : 0.7784
~
77%と精度が上がった.~
~
~
次は80%以上まで上げたい.よって3層目の畳み込み層を追加し...
~
~
結果
kouzou@ii21:~$ /home/kouzou/cifar-env/bin/python /home/ko...
source /home/kouzou/cifar-env/bin/activate
device = cuda
epoch: 0
loss: 1.38
test accuracy : 0.6097
------------------------------
epoch: 1
loss: 1.01
test accuracy : 0.6555
------------------------------
epoch: 2
loss: 0.89
test accuracy : 0.7165
------------------------------
epoch: 3
loss: 0.81
test accuracy : 0.7134
------------------------------
epoch: 4
loss: 0.76
test accuracy : 0.7484
------------------------------
epoch: 5
loss: 0.71
test accuracy : 0.7624
------------------------------
epoch: 6
loss: 0.67
test accuracy : 0.7605
------------------------------
epoch: 7
loss: 0.65
test accuracy : 0.7712
------------------------------
epoch: 8
loss: 0.62
test accuracy : 0.7708
------------------------------
epoch: 9
loss: 0.60
test accuracy : 0.7969
------------------------------
epoch: 10
loss: 0.58
test accuracy : 0.7918
------------------------------
epoch: 11
loss: 0.56
test accuracy : 0.8075
------------------------------
epoch: 12
loss: 0.55
test accuracy : 0.7877
------------------------------
epoch: 13
loss: 0.53
test accuracy : 0.8163
------------------------------
epoch: 14
loss: 0.52
test accuracy : 0.8106
------------------------------
epoch: 15
loss: 0.51
test accuracy : 0.8187
------------------------------
epoch: 16
loss: 0.49
test accuracy : 0.8118
------------------------------
epoch: 17
loss: 0.48
test accuracy : 0.8127
------------------------------
epoch: 18
loss: 0.47
test accuracy : 0.8176
------------------------------
epoch: 19
loss: 0.46
test accuracy : 0.8307
------------------------------
final train accuracy: 0.8537
final test accuracy : 0.8307
~
83%まで精度が上がった.
**6/5 [#p10e0a0f]
~
~
epoch数を10にして再び学習~
poch: 0
loss: 1454.0281460285187
train accuracy: 0.37928
test accuracy : 0.3776
------------------------------
epoch: 1
loss: 1312.5663577318192
train accuracy: 0.43784
test accuracy : 0.4368
------------------------------
epoch: 2
loss: 1255.8324360847473
train accuracy: 0.44384
test accuracy : 0.4342
------------------------------
epoch: 3
loss: 1225.7701717615128
train accuracy: 0.4555
test accuracy : 0.4453
------------------------------
epoch: 4
loss: 1197.299763083458
train accuracy: 0.46088
test accuracy : 0.4494
------------------------------
epoch: 5
loss: 1176.6848516464233
train accuracy: 0.45176
test accuracy : 0.439
------------------------------
epoch: 6
loss: 1155.949428319931
train accuracy: 0.4852
test accuracy : 0.4715
------------------------------
epoch: 7
loss: 1145.0654866695404
train accuracy: 0.49966
test accuracy : 0.4809
------------------------------
epoch: 8
loss: 1131.507185101509
train accuracy: 0.4894
test accuracy : 0.4708
------------------------------
epoch: 9
loss: 1119.446041584015
train accuracy: 0.49018
test accuracy : 0.4643
------------------------------
epoch数7でテストデータの正解率が頭打ちになり,8以降から...
~
~
~
~
モデルをCNNに変えてみた.epoch数は6.~
結果~
kouzou@ii21:~$ /home/kouzou/cifar-env/bin/python /home/ko...
epoch: 0
loss: 1139.25
train accuracy: 0.5978
test accuracy : 0.5882
------------------------------
epoch: 1
loss: 837.40
train accuracy: 0.6725
test accuracy : 0.6484
------------------------------
epoch: 2
loss: 708.00
train accuracy: 0.7027
test accuracy : 0.6608
------------------------------
epoch: 3
loss: 624.75
train accuracy: 0.7513
test accuracy : 0.6909
------------------------------
epoch: 4
loss: 556.14
train accuracy: 0.7853
test accuracy : 0.7007
------------------------------
epoch: 5
loss: 479.45
train accuracy: 0.8171
test accuracy : 0.7008
------------------------------
正解率は70%まで上昇した.間違えた画像をいくつか見てみたが...
~
~
~
~
更に精度を上げるためにデータを拡張してみる.データの拡張...
結果
epoch: 0
loss: 1143.16
train accuracy: 0.5662
test accuracy : 0.5652
------------------------------
epoch: 1
loss: 867.45
train accuracy: 0.6465
test accuracy : 0.6402
------------------------------
epoch: 2
loss: 768.89
train accuracy: 0.6578
test accuracy : 0.6424
------------------------------
epoch: 3
loss: 703.50
train accuracy: 0.6845
test accuracy : 0.6696
------------------------------
epoch: 4
loss: 662.69
train accuracy: 0.7149
test accuracy : 0.6994
------------------------------
epoch: 5
loss: 625.14
train accuracy: 0.7345
test accuracy : 0.7150
------------------------------
epoch: 6
loss: 602.43
train accuracy: 0.7368
test accuracy : 0.7216
------------------------------
epoch: 7
loss: 573.49
train accuracy: 0.7539
test accuracy : 0.7315
------------------------------
epoch: 8
loss: 557.15
train accuracy: 0.7562
test accuracy : 0.7317
------------------------------
epoch: 9
loss: 544.22
train accuracy: 0.7579
test accuracy : 0.7293
------------------------------
正解率が2〜3%上昇した.~
~
~
~
~
BatchNormを入れてみる.これを入れると中間層でスケールを揃...
結果~
epoch: 0
loss: 1146.65
train accuracy: 0.5569
test accuracy : 0.5911
------------------------------
epoch: 1
loss: 908.52
train accuracy: 0.6080
test accuracy : 0.6496
------------------------------
epoch: 2
loss: 818.68
train accuracy: 0.6324
test accuracy : 0.6592
------------------------------
epoch: 3
loss: 762.90
train accuracy: 0.6769
test accuracy : 0.7033
------------------------------
epoch: 4
loss: 723.64
train accuracy: 0.6831
test accuracy : 0.7015
------------------------------
epoch: 5
loss: 691.66
train accuracy: 0.7062
test accuracy : 0.7291
------------------------------
epoch: 6
loss: 669.03
train accuracy: 0.7056
test accuracy : 0.7216
------------------------------
epoch: 7
loss: 642.19
train accuracy: 0.7261
test accuracy : 0.7416
------------------------------
epoch: 8
loss: 628.23
train accuracy: 0.7339
test accuracy : 0.7517
------------------------------
epoch: 9
loss: 608.50
train accuracy: 0.7405
test accuracy : 0.7526
------------------------------
2%ほど正解率が上がった.
**6/4 [#f697fdc3]
~
~
CIFAR-10という動物や車,飛行機の画像が大量にあるデータを...
画像例~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/cifa...
まずは代表的なNNであるMLPをつかって行った.epochは3で行...
~
結果:~
epoch: 0
loss: 1452.5976511240005
accuracy: 0.36034
------------------------------
epoch: 1
loss: 1307.6552993059158
accuracy: 0.40218
------------------------------
epoch: 2
loss: 1258.6369264125824
accuracy: 0.45128
------------------------------
~
正解率45%と非常に低い.~
間違えた画像の一部を表示した.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/mati...
ここから考察するに間違いに法則性がないため単純に精度が低...
明日やること:CNNでやってみる,またそこからさらに正解率を...
~
**6/3 [#e406315f]
~
自分が手書きで書いた星を見せたときどんな数字だとモデルが...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/hosi...
結果,8と判断した.当然星なので8ではない.このモデルは...
しかし,結果は8で確信度は0.994つまり99.4%と非常に高い確...
他の数字ではない画像で試してみた.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/uzum...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/ka.p...
これらの画像も確信度99%で0,98%で4と判断されてし...
~
~
・なぜ,数字ではない画像を見せたときに確信度が0.7以下...
まず,いろいろな数字ではない図形を見せても99%で何らか...
では,なぜ99%で何らかの数字が出るのか考えてみた.今回...
試しに,0か6か判別しづらそうな画像を見せてみた.~
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/maru...
この結果は’数字ではない可能性があります’と出た!つまり上...
よって数字ではない画像を数字ではないと判別するには,学習...
~
~
そもそも教師あり学習は特徴量と正解データによって正解を予...
**6/2 [#le783aa3]
~
今回は自分の手書きの数字4に線や点などの障害物を加えたと...
たとえば自分が手書きで書いた数字6でテストした結果コレは...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/4sen...
結果:ノイズをいれても4と判断してくれた確信度は100%...
テスト精度は99.06%と高いが,間違えているところを見...
~
~
明日やること,数字ではない図形を見てどう判断するのか見て...
*5月 [#k871054c]
**5/29 [#rb4d3afe]
~
昨日よりもさらに精度を上げるためにエポック数を3から10に増...
結果は97.94%と上昇した.~
~
・更に精度を上げるためにCNNに変えてみた.~
結果,テスト精度が99.07%まで,上昇した.今までlossが低...
~
・CNN(畳み込みニューラルネットワークとは)
NNの一種で画像処理に特化している.NNは画像を単なる数値と...
~
CNNは3つの要素で構成されている.~
・畳み込み層:局所的な部分の特徴を見つける.小さなフィル...
・プーリング層:特徴を圧縮する.画像データは大量の数値の...
・全結合層:畳み込み+プーリングによって得られた特徴の集...
~
**5/28 [#r4445df5]
~
~
MNISTというものを用いて機械学習の練習をした.~
・MNISTとは~
MNISTとは、機械学習や画像認識の分野でよく使われる有名な...
具体的には:~
0〜9の数字(10クラス)~
白黒の小さな画像(28×28ピクセル)~
学習用に約60,000枚、テスト用に約10,000枚~
という構成になっている.~
~
・今回使ったモデル:ニューラルネット~
~
・ニューラルネットが画像処理に強い理由~
| 画像 | ニューラルネット |
| ---------- | ------------ |
| 点が近いと線になる | 近い情報から特徴を作る |
| 線が集まって形になる | 特徴を積み上げて形になる |
なので相性が良い.
例えば決定木では位置や形に弱く,質問を投げるだけで法則を...
ニューラルネットは層に分けて画像の特徴を計算するのでうま...
~
・6万個のデータを3回学習させてできたモデルのテスト精度は9...
~
・次に自分が手書きで書いた数字「3」を学習させたモデルに...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/3.png~
~
~
結果は3とでて,当てることに成功した.テスト精度は97.22%...
~
~
~
**5/27 [#z3c5ac7f]
~
~
・欠損値が欠けているとき,そのデータが時系列データのとき...
・前処理の段階で,欠損値を予測するために機械学習を行うの...
~
~
**5/25 [#jc9b2b76]
~
~
・axis=0 → 縦方向(行をまたぐ)~
・axis=1 → 横方向(列をまたぐ)~
~
~
・前回まではホールドアウト法によってデータをテストデータ...
~→したがってこの問題に対処するために,~
①学習に使用するデータ~
②学習には使用せずにチューニングの参考に使用するデータ~
③チューニングを行った最終的な学習済みモデルに対して予測...
の3つに分割する.
~
~
・使用する特徴量を絞り込む際,はずれ値をチェックしてから...
~
~
・重回帰分析ではAIによってつくられた計算式の係数の大きさ...
**5/21 [#fa5943a5]
model = tree.DecisionTreeClassifier(max_depth = 5,
random_state = 0,class_weight ='balanced')
は不均衡データで比率の大きいデータの影響力を小さくし,比...
-昔の pandas は:
mean()
すると文字列列を自動無視してくれました。
今の pandas は:
「文字列があるならエラーにする」
という仕様になっています。
今後のコツ
groupby().mean() を使うときは、
['Age']
['Fare']
['Survived']
みたいに、
「どの数値列を平均するか」
を明示すると安全です。
~
~http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/abc...
~
-決定木を深くするということはたくさんの分岐条件を設定する...
→モデルの構成がより複雑になる~
→予測性能が上がるわけではない.~
複雑なモデルであればあるほど訓練データの予測性能は上がる...
~
このような現象が起こる理由:~
構造が複雑であればあるほど,訓練データだけに当てはまる条...
~
過学習は決定木の場合は木の深さを増やしすぎる,重回帰の場...
~
~
~
過学習を起こさずにモデルの予測性能を上げる一般的な方法:~
・データ数を増やす~
・データの前処理の仕方を変える~
・モデルの学習時の設定を変える~
・そもそもの分析方法を変える~
**5/20 [#w07d4c5b]
今まで扱っていたデータは(例)アヤメの種類分別 では...
このようなデータを不均衡データという.
・決定木モデルは他のモデルに比べ,外れ値の影響を受けにく...
*データの比率に違いがあることで起きる問題 [#q891f910]
例えば生存者データが5%,死亡者データが95%であった場...
**5/18 [#t4089f25]
明日以降は例題のコードを一から打つのではなく,修正だけし...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/abcd...
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2025/niwa/b.png
ページ名: