関数同定問題（かんすうどうていもんだい、、または英語直訳の記号回帰とも）とは数式空間を探索する回帰分析のひとつで、与えられたデータセットに対して正確かつ単純な最もふさわしいモデル（関数）を見つける問題のこと。アルゴリズムの開始点として与えられる特定のモデルはない代わりに、初期の数式は演算子、解析関数、定数、をランダムに組み合わせて与えられる（これら基本要素の部分集合は人間によって操作されることが多いが、技術的な要求はない）。新たな等式は遺伝的プログラミングによって以前の等式を組み換えたものとなる。
特別なモデルを明示する必要がないので、関数同定は人間の先入観や、ドメイン知識（問題領域の知識、経験則など）との隔たりによる影響を受けない。関数同定は人間が数学的に扱いやすいと考えるモデル構造を強要するのではなく、データ内のパターンの適切なモデルを明らかにすることによってデータセットの本来の関係性を明らかにすることを試みる。適応度関数は誤差メトリクスだけでなく特に複雑さも考慮に入れてモデルを進化させるので、人間が主観的に理解しやすい方法で結果のモデルはデータに潜在的にある構造を明らかにする。
一般的な回帰分析との違い.
一般的な回帰分析ではパラメータの最適化のために特定済みのモデル構造に対して探索を行う一方で、関数同定問題では演繹的な過程を排除して代わりにデータからモデルを推論する。言い換えれば、モデルの構造とパラメータの両方を探索しようとするということである。
このアプローチは非常に大きな探索空間に対してアドバンテージがある。実際に関数同定を行う探索空間が無限の場合だけでなく、モデルの個数が無限である場合にもアドバンテージがある。無限個のモデルのどれかは有限個のデータセット（モデルの複雑さは人為的に定めない）に完全に適合すると考えられる。これは一般的な回帰分析に比べて関数同定アルゴリズムは適切なモデルとパラメータ設定を見つけるのに長時間を要するかもしれないことを意味している。これはデータを生成するシステムに対する知識に基づいて基本単位の集合を制限することで軽減することができるが、最終的に関数同定を利用するかはどれだけシステムについての知識があるかで決定する。