次のプログラム中の a と b に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。
コサイン類似度は,二つのベクトルの向きの類似性を測る尺度である。関数 calcCosineSimilarity は,いずれも要素数が n(n≧1) である実数型の配列 vector1 と vector2 を受け取り,二つの配列のコサイン類似度を返す。配列 vector1 が {a₁, a₂, …, aₙ},配列 vector2 が {b₁, b₂, …, bₙ} のとき,コサイン類似度は次の数式で計算される。ここで,配列 vector1 と配列 vector2 のいずれも,全ての要素に 0 が格納されていることはないものとする。
〔プログラム〕
◯実数型: calcCosineSimilarity(実数型の配列: vector1,
実数型の配列: vector2)
実数型: similarity, numerator, denominator, temp ← 0
整数型: i
numerator ← 0
for (i を 1 から vector1の要素数 まで 1 ずつ増やす)
numerator ← numerator + a
endfor
for (i を 1 から vector1の要素数 まで 1 ずつ増やす)
temp ← temp + vector1[i]の2乗
endfor
denominator ← tempの正の平方根
temp ← 0
for (i を 1 から vector2の要素数 まで 1 ずつ増やす)
temp ← temp + vector2[i]の2乗
endfor
denominator ← b
similarity ← numerator ÷ denominator
return similarity
解答群
a | b | |
ア | (vector1[i] × vector2[i])の正の平方根 | denominator × (tempの正の平方根) |
イ | (vector1[i] × vector2[i])の正の平方根 | denominator + (tempの正の平方根) |
ウ | (vector1[i] × vector2[i])の正の平方根 | tempの正の平方根 |
エ | vector1[i] × vector2[i] | denominator × (tempの正の平方根) |
オ | vector1[i] × vector2[i] | denominator + (tempの正の平方根) |
カ | vector1[i] × vector2[i] | tempの正の平方根 |
キ | vector1[i]の2乗 | denominator × (tempの正の平方根) |
ク | vector1[i]の2乗 | denominator + (tempの正の平方根) |
ケ | vector1[i]の2乗 | tempの正の平方根 |
解答
エ
解説
ー