調和平均とは?意味・仕組み・活用例をわかりやすく解説

調和平均とは?意味・仕組み・活用例をわかりやすく解説

調和平均とは、平均の一種です。普通の平均、つまり算術平均とは計算の仕方が違い、速度や割合のような「比率」を扱う場面で役立ちます。

たとえば、行きは速く、帰りは遅い速度で同じ距離を移動したとき、単純に速度を足して2で割ると、実際の平均速度よりも大きく見積もってしまうことがあります。このような場面で使いやすいのが調和平均です。

この記事では、調和平均の意味、公式、計算方法、算術平均との違い、機械学習での使われ方を、初心者向けに順番に解説します。

調和平均とは

調和平均とは、各データの逆数を使って求める平均です。簡単に言うと、「いったん数値をひっくり返して平均し、最後にもう一度ひっくり返す」計算方法です。

通常の算術平均は、数値をそのまま足して個数で割ります。一方、調和平均は数値そのものではなく、逆数に注目します。

たとえば、2、4、8という3つの数がある場合、まずそれぞれを 1/2、1/4、1/8 にします。その平均を求めたあと、最後に逆数に戻します。これが調和平均です。

調和平均が入力値を逆数に変換してから平均する流れを示す図

平均の種類 考え方 向いている場面
算術平均 数値をそのまま足して個数で割る 点数、気温、売上などの一般的な平均
調和平均 逆数の平均を取り、最後に逆数に戻す 速度、割合、効率、評価指標など

調和平均の直感的なイメージ

調和平均の大きな特徴は、小さい値の影響を強く受けることです。

たとえば、ある評価で「片方はとても高いが、もう片方は低い」という状態があったとします。算術平均では、高い値が低い値をある程度補ってしまいます。しかし調和平均では、低い値が全体の結果に強く反映されます。

これは、機械学習の評価でも重要です。たとえば、適合率が高くても再現率が低ければ、そのモデルは「正しく選ぶ力」はあっても「見つける力」が弱いかもしれません。調和平均を使うと、このような偏りを見逃しにくくなります。

つまり調和平均は、「どれか一つだけ高ければよい」という評価ではなく、「複数の値がバランスよく高いこと」を重視したいときに便利です。

調和平均の公式

n個の正の数 x1, x2, …, xn があるとき、調和平均 H は次のように表せます。

H = n / (1/x1 + 1/x2 + … + 1/xn)

2つの値 a と b の調和平均は、次の形でも書けます。

H = 2ab / (a + b)

この式は、機械学習でよく使われるF1スコアの形にもつながります。F1スコアは、適合率と再現率の調和平均です。

F1 = 2 × 適合率 × 再現率 / (適合率 + 再現率)

式だけを見ると難しく感じるかもしれませんが、意味はシンプルです。2つの値のどちらかが低いと、F1スコアも低くなります。そのため、片方だけが高いモデルを過大評価しにくくなります。

調和平均の計算方法

調和平均は、次の3ステップで計算できます。

手順 内容 例: 2, 4, 8
1 それぞれの数の逆数を求める 1/2, 1/4, 1/8
2 逆数を合計する 1/2 + 1/4 + 1/8 = 7/8
3 個数を逆数の合計で割る 3 / (7/8) = 24/7 ≒ 3.43

したがって、2、4、8の調和平均は約3.43です。算術平均は (2 + 4 + 8) / 3 = 約4.67 なので、調和平均のほうが小さい値に引っ張られていることがわかります。

なお、調和平均を計算するときは、基本的に0を含めることはできません。0の逆数は定義できないためです。また、負の値を含む場合は解釈が難しくなるため、速度や割合のような正の値を扱う場面で使うのが一般的です。

調和平均の計算手順と2、4、8の例を段階的に示す図

算術平均との違い

算術平均と調和平均の違いは、平均速度の例で考えるとわかりやすくなります。

20km/hと10km/hの往復速度について、算術平均の15km/hと実際の平均速度である調和平均13.33km/hを比較した図

片道10kmの道を、行きは時速20km、帰りは時速10kmで移動したとします。このとき、単純に速度を平均すると次のようになります。

(20 + 10) / 2 = 15

しかし、これは本当の平均速度ではありません。平均速度は「全体の距離 ÷ 全体の時間」で求める必要があります。

行きは10kmを時速20kmで進むので、かかる時間は0.5時間です。帰りは10kmを時速10kmで進むので、かかる時間は1時間です。合計距離は20km、合計時間は1.5時間です。

20 / 1.5 = 約13.33

つまり、本当の平均速度は時速13.33kmです。調和平均で計算しても同じ値になります。

2 / (1/20 + 1/10) = 約13.33

項目 算術平均 調和平均
計算の考え方 値をそのまま平均する 逆数を使って平均する
20km/hと10km/hの平均 15km/h 約13.33km/h
平均速度への適性 同じ時間ずつ移動した場合に向く 同じ距離ずつ移動した場合に向く
特徴 高い値と低い値を均等に扱う 低い値の影響を強く受ける

ポイントは、「何を同じ条件として平均したいのか」です。同じ時間ずつ測った速度なら算術平均が自然です。一方、同じ距離を異なる速度で移動した場合は、調和平均が実態に合いやすくなります。

調和平均とsigmoidの違い

機械学習を学んでいると、調和平均だけでなくsigmoid関数も登場します。どちらも数式で表され、0から1の範囲の値と関係することがありますが、役割は大きく違います。

調和平均は、複数の数値をまとめるための平均です。たとえば、適合率と再現率をまとめてF1スコアを作るときに使われます。

一方、sigmoid関数は、入力された値を0から1の範囲に変換する関数です。二値分類で「正例である確率のような値」を出すときによく使われます。

項目 調和平均 sigmoid関数
主な役割 複数の値を1つの平均にまとめる 入力値を0から1の範囲に変換する
代表的な用途 F1スコア、平均速度、比率の平均 二値分類の出力、ニューラルネットワークの活性化
低い値の扱い 低い値を強く反映する 入力が大きすぎる、または小さすぎると出力が飽和しやすい
注意点 0を含むと計算できない 勾配消失が起きることがある

つまり、調和平均は「評価をまとめる道具」、sigmoidは「モデルの出力を変換する道具」と考えると整理しやすくなります。

調和平均によるF1スコアとsigmoid関数の役割の違いを比較した図

勾配消失に関する注意点

sigmoid関数には、入力がとても大きい、またはとても小さいときに出力が0や1に近づき、変化が小さくなる性質があります。この状態では、学習時に勾配が小さくなり、重みの更新が進みにくくなることがあります。これが勾配消失と呼ばれる問題の一つです。

調和平均そのものは、sigmoidのような活性化関数ではありません。そのため、「調和平均がsigmoidと同じ理由で勾配消失を起こす」と考えるのは正確ではありません。

ただし、F1スコアのような調和平均を使った評価指標を、そのままニューラルネットワークの損失関数として扱うのは簡単ではありません。F1スコアは、分類結果をしきい値で0か1に分けた後に計算することが多く、その処理が微分しにくいからです。

そのため、学習時には交差エントロピーなどの微分しやすい損失関数を使い、評価時にF1スコアを確認する、という使い分けがよく行われます。

機械学習での活用例

調和平均が機械学習でよく登場する代表例が、F1スコアです。F1スコアは、適合率と再現率の調和平均です。

適合率は「モデルが正しいと予測したもののうち、実際に正しかった割合」です。再現率は「本当に正しいもののうち、モデルが見つけられた割合」です。

たとえば、迷惑メール検出を考えてみます。適合率が高いモデルは、迷惑メールだと判定したものが本当に迷惑メールである割合が高いモデルです。一方、再現率が高いモデルは、実際の迷惑メールを多く見逃さずに検出できるモデルです。

どちらか一方だけが高くても、実用上は困る場合があります。正確に判定できても多くを見逃すなら不十分ですし、多くを検出できても誤判定が多ければ使いにくくなります。F1スコアは、この2つのバランスを見るために使われます。

F1スコアを中心に調和平均が迷惑メール検出や異常検知などで使われる場面を示す図

用語 意味 調和平均との関係
適合率 正しいと予測したもののうち、実際に正しかった割合 F1スコアの材料になる
再現率 本当に正しいもののうち、モデルが見つけられた割合 F1スコアの材料になる
F1スコア 適合率と再現率をまとめた評価指標 2つの値の調和平均

F1スコアは、次のような場面で特に使われます。

  • 迷惑メール判定
  • 不正検知
  • 医療画像の異常検出
  • 検索結果や推薦結果の評価
  • 自然言語処理における分類タスク

これらのタスクでは、単純な正解率だけでは性能を判断しにくいことがあります。特に、正例が少ないデータでは、適合率と再現率を分けて見たうえで、F1スコアでバランスを確認することが重要です。

調和平均を使うべき場面

調和平均は、どんな平均にも使えばよいというものではありません。使うべき場面には特徴があります。

使うとよい場面 理由
同じ距離を異なる速度で移動する場合 時間の合計を考える必要があるため 往復の平均速度
比率や効率を平均したい場合 逆数の関係を考慮できるため 処理速度、単価、燃費の比較
複数の指標のバランスを重視したい場合 低い値を強く反映できるため F1スコア

一方、テストの点数や日々の気温のように、数値をそのまま平均したい場合は、算術平均のほうが自然です。平均にはいくつか種類があり、データの意味に合わせて選ぶことが大切です。

まとめ

調和平均は、逆数を使って求める平均です。算術平均とは異なり、小さい値の影響を強く受けるため、速度や割合、効率、評価指標のようなデータに向いています。

特に、同じ距離を異なる速度で移動したときの平均速度や、機械学習におけるF1スコアでは、調和平均の考え方が重要になります。

また、sigmoid関数とは役割が異なります。sigmoidは値を0から1に変換する関数であり、調和平均は複数の値をまとめる平均です。勾配消失の話は主にsigmoidなどの活性化関数で問題になりますが、F1スコアを直接損失関数にしにくいという注意点もあります。

調和平均を理解するコツは、「低い値を強く見る平均」と考えることです。複数の指標をバランスよく評価したい場面では、算術平均よりも実態に合った見方ができることがあります。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年4月28日 調和平均の定義、計算方法、算術平均との比較、sigmoidとの違い、機械学習での活用例を初心者向けに再構成