問題タブ [information-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
16603 参照

c++ - opencvのグレー画像のエントロピー

画像のエントロピーを見つけるためのコードが必要です。

実際、私はこれをプログラム可能なカメラにダンプしてエントロピーを測定するために使用しています。今、私はそれをWindowsシステムで使いたいと思っています。灰色の画像のエントロピーがゼロになっています。助けてください。どこで私は間違えましたか。

0 投票する
1 に答える
217 参照

memory - 異なるデータ型が同じデータに対してより多くのメモリを必要とするのはなぜですか?

たとえば、数字の 1 を格納したい場合は、32 ビットinteger typeを使用する を使用するか、64ビットを使用する を使用できますが、両方のデータ型で (シンボリックな観点から)同じ量の情報が存在します。 .long type

0 投票する
0 に答える
547 参照

r - model.avg はエラーを返します。dim(x) は正の長さでなければなりません。コードは以前は機能していましたが、1 つのパラメーターの値を変更すると壊れてしまいました

何ヶ月も (問題なく) 使用してきたモデル平均化コードに新しいパラメーターをプラグインしようとしていますが、今までに見たことのないエラー メッセージが表示されます。

私のコードは次のとおりです

その最後の行は、次のエラーメッセージが表示される場所です

このコードは以前は正常に機能していましたが、私が行ったことは、predictor6 の値を変更したことだけです。データに NA 値はなく、class(predictor6) は両方のデータセットに対して数値を返し、predictor6 の最大最小値は以前の範囲内にとどまっています。

私のコードは同じです。このエラーの意味、エラーが発生する理由、修正方法を教えてください。

どんな助けでも大歓迎です。よろしくお願いします。

========================

編集:traceback()どの呼び出し関数がエラーをスローしているかを確認するために実行することが提案されました。これまでこの関数を使用したことはありませんが、実行すると次のように返されます。

0 投票する
2 に答える
699 参照

encoding - アルファベットの明確なバイナリ エンコーディング スキーム

古い英国情報オリンピックの質問(3c) は、アルファベットの最小の明確なエンコード方式 (2 つの記号のみを使用するため、バイナリ) は何かを尋ねています。私が見る限り、答えは 130 です。2^4 < 26 であるため、各文字を格納するには 5 ビットが必要です。アルファベットは 26 文字なので、エンコード方式は 5*26 ビット長です。ただし、マーク方式では、124 ビットを使用できると規定されています。その長いエンコード方式は何ですか?

0 投票する
2 に答える
13876 参照

r - Rにおける相互情報量の計算

entropy パッケージのmi.plugin()(または) 関数の結果の解釈に問題があります。mi.empirical()私の知る限り、MI=0 は、比較している 2 つの変数が完全に独立していることを示しています。そして、MI が増加するにつれて、2 つの変数間の関連付けはますますランダムではなくなります。

{entropy}では、R で (パッケージを使用して) 以下を実行すると、値が 0 になるのはなぜですか。

mi.plugin( rbind( c(1, 2, 3), c(1, 2, 3) ) )

まったく同じ 2 つのベクトルを比較するときは?

私の混乱は私の側の理論的な誤解に基づいていると思いますが、どこが間違っているのか誰か教えてもらえますか?

前もって感謝します。

0 投票する
2 に答える
533 参照

java - オブジェクトのグループのハッシュを生成するときに、hashCode() からの出力を SHA256 への入力として使用することによるセキュリティ強度の損失

オブジェクトのコレクションがあり、このオブジェクトのコレクションから (SHA256 を使用して) ハッシュ値を生成したいと考えています。

これらのオブジェクトをハッシュ化するこのプロセスは、ゼロ知識証明システムの一部であり、証明者が証明を生成し、後で検証者によって検証されます。この証明は、実際にはハッシュ関数の出力です。

これらのオブジェクトにはすべて、3 つまたは 4 つの大きな BigInteger 値 (2048 ビットのオーダー) が含まれています。オブジェクトの数は可変ですが、4 ~ 10 の間になります。

可変数のオブジェクトからハッシュ値を生成するための次のメソッドを作成しました。

私の質問は、このコードでの hashCode メソッドの使用に関連しています。具体的には、 hashCode メソッドの使用がシステムのセキュリティを弱めるかどうかを判断しようとしています.32ビットの数値しか生成しないため、各反復中にハッシュは32ビットの情報でのみ更新されます. したがって、プロセスのこの時点でのこの情報の損失がシステムを本当に弱体化させるかどうかはわかりません.

これらのオブジェクトの hashCode メソッドの実装では、大きな BigInteger 値を使用してハッシュ コードを生成しますが、数値は返される前に int に切り捨てられます。

私の懸念の一部は、一部のオブジェクトのハッシュ コード間で衝突が発生する可能性が比較的高いという事実から生じます。しかし、繰り返しますが、ハッシュはループ内で数回更新されるため、1 回の衝突は大きな問題にはなりません。

オブジェクトのコレクションに 4 つのオブジェクトがあったとします。ループの最初の繰り返しでは、ハッシュの更新に 32 ビットが使用され、2 回目の繰り返しでは別の 32 ビットがハッシュの更新に使用されます。

updateメソッドが呼び出された後にハッシュアルゴリズムが実行されることは私の理解です。128 ビット (4 つのオブジェクト) がバッファに格納され、それらの 128 ビットを入力として使用してハッシュ アルゴリズムが実行されるわけではありません。

したがって、最終更新後のハッシュの状態の総数は (2^32) * (2^32) * (2^32) * (2^32) と言えますか? (実際には、いくつかのポイントで切り捨てられるため、これはもちろん発生しません)。

各反復中に update メソッドが呼び出されるという事実を考えると、 hashCode の使用は安全なアプローチであると私は信じています。

オブジェクト間の衝突のリスクを回避するための代替アプローチは、各オブジェクトの toString() メソッドを使用することです。これは、各オブジェクトのエントロピーの全量を含む文字列を返します (大きな BigInteger 数値の値は文字列)。これは、ループの各反復中にハッシュがより多くの情報で更新されることを意味しますが、これが必要かどうかはわかりません。

それで、私の質問は、このコードで hashCode メソッドを使用すると、システムの強度が弱まるのでしょうか?

0 投票する
3 に答える
165 参照

string - c++で2つの非常に長い文字列を区別する方法は?

Levenshtein_distance文字列の長さが長すぎるこの問題を解決したいと思い ます。

Edit2: Bobah
が言った ように、タイトルはミス リーディングなので、questoin のタイトルを更新しました。c++ で 100000x100000 の 2 次元整数を宣言する 最初の方法は? c++ で int x[100000][100000] を宣言する方法はあります。 グローバルに宣言すると、コンパイラが生成し ます。 1つの方法は、を使用することです。 ただし、割り当てと割り当て解除にはさらに時間がかかります。uisng のような他の方法があります。
title was
Content was

error: size of array ‘x’ is too large
map< pair< int , int > , int > mymap

vector<int> myvec

0 投票する
0 に答える
603 参照

java - 情報取得属性評価で欠落している属性値を処理する方法

weka が提供する情報取得ライブラリを使用して属性の選択を評価しようとしていますが、インスタンスの分類方法を決定する属性が常に値を提供するとは限りません。説明が難しいので、以下に例を示します。

これが私の関係です。3 つの数値属性とクラス属性で構成されます。属性 3 の値が 5000 の場合、分類は不合格に設定されます。

Information Gain Attribute Evaluator を実行した後の出力は次のとおりです。

ここで、属性 3 が最高ランクになるはずです。その値によって、インスタンスが失敗として分類されるか正しいとして分類されるかが決まるからです。しかし、どういうわけかそうではありません。

では、私の質問:情報ゲインの計算に欠損値を使用するように WEKA に指示するにはどうすればよいですか?

1 つの可能性は、欠損値を次のような定数で置き換えることです。

次に、ランキングが機能します。

しかし、アトリビュート 3 が持つ値を予測できないため、それは私が本当に望んでいるものではありません。

これが私のコードです:

ありがとう!