資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

FE 科目B 令和5年度 問5

 

 次のプログラム中の  a    b  に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。

 コサイン類似度は,二つのベクトルの向きの類似性を測る尺度である。関数 calcCosineSimilarity は,いずれも要素数が n(n≧1) である実数型の配列 vector1 と vector2 を受け取り,二つの配列のコサイン類似度を返す。配列 vector1 が {a₁, a₂, …, aₙ},配列 vector2 が {b₁, b₂, …, bₙ} のとき,コサイン類似度は次の数式で計算される。ここで,配列 vector1 と配列 vector2 のいずれも,全ての要素に 0 が格納されていることはないものとする。

 \frac{a_1 b_1 + a_2 b_2 + … + a_n b_n}{\sqrt{a_1^2 + a_2^2 + … + a_n^2} \sqrt{b_1^2 + b_2^2 + … + b_n^2}}

〔プログラム〕
◯実数型: 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の正の平方根

解答・解説

解答

 エ

解説

 ー

前問 一覧 次問