調和平均とは?意味・仕組み・活用例をわかりやすく解説
調和平均とは、平均の一種です。普通の平均、つまり算術平均とは計算の仕方が違い、速度や割合のような「比率」を扱う場面で役立ちます。
たとえば、行きは速く、帰りは遅い速度で同じ距離を移動したとき、単純に速度を足して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の逆数は定義できないためです。また、負の値を含む場合は解釈が難しくなるため、速度や割合のような正の値を扱う場面で使うのが一般的です。

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

片道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は「モデルの出力を変換する道具」と考えると整理しやすくなります。

勾配消失に関する注意点
sigmoid関数には、入力がとても大きい、またはとても小さいときに出力が0や1に近づき、変化が小さくなる性質があります。この状態では、学習時に勾配が小さくなり、重みの更新が進みにくくなることがあります。これが勾配消失と呼ばれる問題の一つです。
調和平均そのものは、sigmoidのような活性化関数ではありません。そのため、「調和平均がsigmoidと同じ理由で勾配消失を起こす」と考えるのは正確ではありません。
ただし、F1スコアのような調和平均を使った評価指標を、そのままニューラルネットワークの損失関数として扱うのは簡単ではありません。F1スコアは、分類結果をしきい値で0か1に分けた後に計算することが多く、その処理が微分しにくいからです。
そのため、学習時には交差エントロピーなどの微分しやすい損失関数を使い、評価時にF1スコアを確認する、という使い分けがよく行われます。
機械学習での活用例
調和平均が機械学習でよく登場する代表例が、F1スコアです。F1スコアは、適合率と再現率の調和平均です。
適合率は「モデルが正しいと予測したもののうち、実際に正しかった割合」です。再現率は「本当に正しいもののうち、モデルが見つけられた割合」です。
たとえば、迷惑メール検出を考えてみます。適合率が高いモデルは、迷惑メールだと判定したものが本当に迷惑メールである割合が高いモデルです。一方、再現率が高いモデルは、実際の迷惑メールを多く見逃さずに検出できるモデルです。
どちらか一方だけが高くても、実用上は困る場合があります。正確に判定できても多くを見逃すなら不十分ですし、多くを検出できても誤判定が多ければ使いにくくなります。F1スコアは、この2つのバランスを見るために使われます。

| 用語 | 意味 | 調和平均との関係 |
|---|---|---|
| 適合率 | 正しいと予測したもののうち、実際に正しかった割合 | F1スコアの材料になる |
| 再現率 | 本当に正しいもののうち、モデルが見つけられた割合 | F1スコアの材料になる |
| F1スコア | 適合率と再現率をまとめた評価指標 | 2つの値の調和平均 |
F1スコアは、次のような場面で特に使われます。
- 迷惑メール判定
- 不正検知
- 医療画像の異常検出
- 検索結果や推薦結果の評価
- 自然言語処理における分類タスク
これらのタスクでは、単純な正解率だけでは性能を判断しにくいことがあります。特に、正例が少ないデータでは、適合率と再現率を分けて見たうえで、F1スコアでバランスを確認することが重要です。
調和平均を使うべき場面
調和平均は、どんな平均にも使えばよいというものではありません。使うべき場面には特徴があります。
| 使うとよい場面 | 理由 | 例 |
|---|---|---|
| 同じ距離を異なる速度で移動する場合 | 時間の合計を考える必要があるため | 往復の平均速度 |
| 比率や効率を平均したい場合 | 逆数の関係を考慮できるため | 処理速度、単価、燃費の比較 |
| 複数の指標のバランスを重視したい場合 | 低い値を強く反映できるため | F1スコア |
一方、テストの点数や日々の気温のように、数値をそのまま平均したい場合は、算術平均のほうが自然です。平均にはいくつか種類があり、データの意味に合わせて選ぶことが大切です。
まとめ
調和平均は、逆数を使って求める平均です。算術平均とは異なり、小さい値の影響を強く受けるため、速度や割合、効率、評価指標のようなデータに向いています。
特に、同じ距離を異なる速度で移動したときの平均速度や、機械学習におけるF1スコアでは、調和平均の考え方が重要になります。
また、sigmoid関数とは役割が異なります。sigmoidは値を0から1に変換する関数であり、調和平均は複数の値をまとめる平均です。勾配消失の話は主にsigmoidなどの活性化関数で問題になりますが、F1スコアを直接損失関数にしにくいという注意点もあります。
調和平均を理解するコツは、「低い値を強く見る平均」と考えることです。複数の指標をバランスよく評価したい場面では、算術平均よりも実態に合った見方ができることがあります。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年2月1日 | 初回公開 |
| 2026年4月28日 | 調和平均の定義、計算方法、算術平均との比較、sigmoidとの違い、機械学習での活用例を初心者向けに再構成 |
