単精度浮動小数点値があり、この値が生成されたサンプルの分布に関する情報がないため、シグモイドを適用したり、ある種の正規化を実行したりできません。また、値が常に負でないことも知っています。このフロートをバイトとして表現する最良の方法は何ですか?
私は次のことを考えました:
float を UInt32 として解釈し (これにより、数値間の相対的な順序が維持されることを期待しています。間違っている場合は修正してください)、バイトの範囲にスケーリングします。
UInt32 uVal = BitConverter.ToUInt32(BitConverter.GetBytes(fVal), 0);
byte bVal = Convert.ToByte(uVal * Byte.MaxValue / UInt32.MaxValue);
コメントやその他の提案をいただければ幸いです。ありがとう!