7-02 係数が4種類しかなくても正解率は98%以上!
●係数を4種類にしてしまおう!
前節で述べたように係数の値を「2の累乗」のみに制限すれば乗算器を使わずにビットシフトで済みます。本節では思い切って係数を4種類(+64, +16, -16, -64)のみにします。
リスト7-01は係数を4種類に制限するPythonプログラムの一部です。例えば係数が0.3だったら、整数化で76となり、その後64となります。-0.1だったら整数化で-25となり、その後-16となります。 |
リスト7-01 整数化してから4つの係数に割り当てる
図7-04にその際の係数の一部を示します。このようにすべて+64, +16, -16, -64のいずれかになっています。かなり粗っぽいですが正解率はどうなるか試してみましょう。 |
図7-04 フィルタ係数は4種類しかない
●正解率は約98%以上ある。そんなに落ちていない
整数化前が99.35%、整数化後が98.84%とわずかに落ちました。さらに上記のように4種類に制限した係数でPythonを走らせて見ると図7-05のように正解率は98.28%になりました。意外にもほとんど落ちていません。(*1)
(*1)1層目の係数は+255〜-256のすべての整数値をとり得る。ちなみに1層目も4種類に制限したら正解率は95.37%に落ちた。 |
図7-05 AnacondaのJupyter Labで実行。正解率は約98%
Pythonで正解率を確認したので次のページではそれをEXCELで実行します。 |
次のページへ
目次へ戻る |