回答編集履歴
3
一部修正
    
        answer	
    CHANGED
    
    | @@ -14,7 +14,7 @@ | |
| 14 14 |  | 
| 15 15 | 
             
            なぜ、わざわざ64×64にリサイズしてから8×8に素朴な計算で縮小させているのか、理由が分かりません。
         | 
| 16 16 |  | 
| 17 | 
            -
            また、**なぜ2乗平均をしているのかも理由はわかりません**。上記のように**単純に255から引くだけでよい**と思います。「2乗平均」処理をすることで、画素の明るさが偏ってしまっています。そのため、以降の処理で本来は不要な「正規化処理」をするはめになってしまっています。
         | 
| 17 | 
            +
            また、**なぜ2乗平均をしているのかも理由はわかりません**。上記のように**単純に255から引くだけでよい**と思います。「2乗平均」処理をすることで、画素の明るさが偏ってしまっています。そのため、以降の処理で本来は不要な「正規化処理」をするはめになってしまっています(通常、画像の正規化は単純に255で割るだけです)。
         | 
| 18 18 |  | 
| 19 19 | 
             
            参考: [輝度反転](https://genetaka.hatenablog.com/entry/2019/11/03/164150)
         | 
| 20 20 |  | 
2
補足追記
    
        answer	
    CHANGED
    
    | @@ -16,6 +16,8 @@ | |
| 16 16 |  | 
| 17 17 | 
             
            また、**なぜ2乗平均をしているのかも理由はわかりません**。上記のように**単純に255から引くだけでよい**と思います。「2乗平均」処理をすることで、画素の明るさが偏ってしまっています。そのため、以降の処理で本来は不要な「正規化処理」をするはめになってしまっています。
         | 
| 18 18 |  | 
| 19 | 
            +
            参考: [輝度反転](https://genetaka.hatenablog.com/entry/2019/11/03/164150)
         | 
| 20 | 
            +
             | 
| 19 21 | 
             
            なお、蛇足ですが、正しい意味での「2乗平均」になっていないようです。
         | 
| 20 22 |  | 
| 21 23 | 
             
            `bright = 255 - crop.mean()**2 / 255   # 平均した結果を2乗してしまっています`
         | 
1
一部修正
    
        answer	
    CHANGED
    
    | @@ -2,13 +2,13 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            > 1)コメントアウトの文章の意味
         | 
| 4 4 |  | 
| 5 | 
            -
            教師データにしているsklearnのload_digitsがサイズ8×8なので、一度64×64にした画像データを、再度8×8に縮小しています。64×64の画像には「小さな8×8画像」が8×8個あ | 
| 5 | 
            +
            教師データにしているsklearnのload_digitsがサイズ8×8なので、一度64×64にした画像データを、再度8×8に縮小しています。64×64の画像には「小さな8×8画像」が8×8個あります(8ばかりでわかりにくいですが)。その「小さな8×8画像」(8×8個)それぞれを「1画素に縮小される範囲」と呼んで、1画素に縮小しています。結果として、縮小された1画素が8×8個になります。
         | 
| 6 6 |  | 
| 7 7 | 
             
            文章の意味はこのとおりですが、以下で示すように、**やっていることの意味はわかりません。**
         | 
| 8 8 |  | 
| 9 9 | 
             
            > 2)cropしてbrightにx,yでfor文で回して配列を作っている箇所
         | 
| 10 10 |  | 
| 11 | 
            -
            これ**全体的に全く意味がないことをやっている**と私は思います。要は8×8の画像にして白黒反転させたいだけなので、以下のように記載することで充分です。**ループ処理は一切不要**です。
         | 
| 11 | 
            +
            これ**全体的に全く意味がないことをやっている**と私は思います。要は8×8の画像にして白黒反転させたいだけなので、以下のように記載することで充分です。x,yの**ループ処理は一切不要**です。
         | 
| 12 12 |  | 
| 13 13 | 
             
            `new_resize_img = 255 - np.array(img.resize((8, 8)))`
         | 
| 14 14 |  | 
