問題

選択肢
- 1a:(vector1[i] × vector2[i])の正の平方根 b:denominator × (tempの正の平方根)
- 2a:(vector1[i] × vector2[i])の正の平方根 b:denominator + (tempの正の平方根)
- 3a:(vector1[i] × vector2[i])の正の平方根 b:tempの正の平方根
- 4a:vector1[i] × vector2[i] b:denominator × (tempの正の平方根)
- 5a:vector1[i] × vector2[i] b:denominator + (tempの正の平方根)
- 6a:vector1[i] × vector2[i] b:tempの正の平方根
- 7a:vector1[i]の2乗 b:denominator × (tempの正の平方根)
- 8a:vector1[i]の2乗 b:denominator + (tempの正の平方根)
- 9a:vector1[i]の2乗 b:tempの正の平方根
正解
4. a:vector1[i] × vector2[i] b:denominator × (tempの正の平方根)
詳しい解説を見る解説を閉じる
解説
コサイン類似度は(分子)÷(分母)です。分子は a1b1+a2b2+…+anbn、すなわち対応する要素どうしの積の総和です。numerator はこの和を作っているので、a は「vector1[i] × vector2[i]」となります(平方根や 2 乗ではありません)。分母は √(Σa²)×√(Σb²) です。プログラムは先に denominator に vector1 の二乗和の平方根(√(Σa²))を入れ、次に temp に vector2 の二乗和を求めています。最終的な分母にするには、これに √(Σb²)(=tempの正の平方根)を掛ける必要があるため、b は「denominator × (tempの正の平方根)」です。よって組合せはエとなります。(出典: 令和5年度 基本情報技術者試験 科目B 問5)
一問一答
科目A 180問+科目B 60問