10 個の入力特徴を含む入力特徴ベクトルがあるとします。それぞれの大きさは約1E-7
です。
log
これらの入力フィーチャを使用して線形回帰を実行するとR^2
、約 の値が得られ0.98
ます。
ただし、1E-2
上記の適合を実行する前に入力フィーチャのそれぞれに追加すると、 のR^2
値が得られます0.5616
。
問題は、入力フィーチャに追加された定数が であることを先験的に知ることが1E-2
できないため、毎回その量を単純に差し引くことができないことです。
入力機能セットに追加された大きな未知の定数を修正する一般的な方法はありますか?
サンプルの入力ファイルは次のとおりです: http://stanford.edu/~hq6/13
対応する出力ファイルは次のとおりです: http://stanford.edu/~hq6/15
トレーニングに使用されるコードを次に示します。
input_features = read.csv('InputFeatures.csv', header=F)
# Adding constant error term to all input features
input_features = input_features + 1E-2
# How can we correct for this constant if we do not know what the constant is beforehand?
input_features[input_features <= 0] = 1E-10
input_features = log(input_features)
output = read.csv('Output.csv', header=F)
full_data = data.frame(input_features, output)
summary(lm(V1.1 ~ ., data=full_data))
このコードを行なしで実行すると、出力からおおよそinput_features = input_features + 1E-2
の が得られます。R-squared
0.98
summary
この行を入れると、R-squared
未満の0.5
.