**조건부 무작위장**이란 통계적 모델링 방법중에 하나로, 패턴 인식과 기계 학습과 같은 구조적 예측에 사용된다. 일반적인 분류자가 이웃하는 표본을 고려하지 않고 단일 표본의 라벨을 예측하는 반면, 조건부 무작위장은 고려하여 예측한다. 자연 언어 처리 분야에서 자주 사용되는 선형 사슬 조건부 무작위장은 일련의 입력된 표본들에 대해 일련의 라벨들을 예측한다.

조건부 무작위장은 판별적 비방향성 그래프 모형의 한 형태이며, 관찰되는 것들의 알려진 관계를 암호화, 일관된 해석을 구성하는데 사용된다. 또, 자연언어로 된 글 또는 생물학적 서열 정보, 그리고 컴퓨터 비전 분야에서의 일련의 데이터에 대한 라벨 예측, 분석하는 데 사용되기도 한다. 구체적으로, 조건부 무작위장은 부분구문분석, 개체명 인식, 유전자 검색 등의 응용 분야에 사용될 수 있으며, 이러한 분야에서 은닉 마르코프 모델의 대안이 될 수 있다. 컴퓨터 비전 분야에서는 객체 인식, 이미지 분할에 종종 사용된다.

## 소개
다양한 과학적 분야에서 시퀀스의 분할과 라벨링은 주요한 문제이다. 이러한 문제들의 해결 방법으로 은닉 마르코프 모델과 통계적 문법들이 적용되어왔으며 이들은 생물학이나 자연어 처리 등의 분야에서 매우 성공적인 결과를 도출하기도 하였다. 하지만 이들은 상호작용하는 여러 자질이 존재하는 경우, 혹은 관측값에서 긴범위의 의존성이 발견되는 경우, 이들 모델에 대한 추론이 다루기 힘든 문제가 되어버린다는 단점이 있었다.
이에 반해 조건부 무작위장에서는 관측 값을 모델링 하는데에 걸리는 시간을 고정시킬 뿐 아니라 독립성에 대해서 매우 엄격한 가정을 요구하는 생성모델과 달리 레이블 시퀀스의 조건부 확률은 관측 시퀀스의 임의의 독립적이지 않은 기질들에 의존하는 것이 가능하다. 이런점들은 조건부 무작위장이 분할과 라벨링 문제에 새로이 제안되게 하는 동기로 작용하였다.

조건부 무작위장을 간단하게 설명하면 입력 시퀀스에 대한 출력 시퀀스의 조건부 확률이라고 할 수 있다. 수학적인 표현을 사용하여 매우 간단하게 표시하면 다음과 같이 할 수 있다.

예를 들어, 
즉 예를 들면, 조건부 무작위장은 문자 a, b, c 가 연속적으로 나타났을 때, 문자 x, y, z를 연속적으로 부여할(나타날) 확률을 의미한다고 할 수 있다. 여기서 y는 마르코프 성질을 만족하여야 한다. 그런데 만약 x의 집합과 y의 집합이 한정되어 있다면, 이 구조는 그래프 구조를 형성하게 된다. 일반적으로는 체인 그래프 구조를 형성한다고 한다.

## 수학적 정의
조건부 무작위장

## 추론 방법
효율적인 추론은 조건부 무작위장의 훈련 시 혹은 새로운 입력에 대한 레이블을 예측할 때 매우 중요하다. 추론에 있어 크게 2가지 문제를 생각할 수 있다.

첫 번째로, 모델을 훈련한 후, 새로운 입력 를 선택하는 것이다. 즉 다음과 같이 나타낼 수 있다:


두 번째로, 파라미터를 추정할 때 각각의 간선

### 정확한 추론 방법
불행히도 앞에서 언급된 두 추론 문제는 일반 그래프에 대해서는 다루기 힘든 문제이다. 추론을 정확하고 빠르게 할 수 있는 경우는 다음과 같은 경우만 가능하다:

### 근사적 추론 방법
위 두 경우 외에 보다 복잡한 모델, 즉 일반 그래프에서도 일부 상황에서는 정확한 추론이 효율적으로 될 수 있다. 이는 접합 트리 알고리즘을 이용해 그래프 상에서 변수들을 군집화 하여 트리 형태로 만든 후, 트리 구조에서 작동하는 정확한 추론 알고리즘을 작동시킴으로써 가능하다. 하지만, 일부 복잡한 그래프에서는 접합 트리 알고리즘이 거대한 변수 클러스터를 생성하여 효율적인 추론을 불가능하게 한다. 즉 일반 그래프에서는 최악의 경우 정확한 추론 알고리즘을 이용하면 지수적 시간이 소요된다.

이런 이유 때문에, 효율적 추론을 위해 일반적 그래프에서는 정확한 추론 알고리즘 보다는 근사적 추론 알고리즘이 필요하다. 주로 다음과 같이 두 종류의 근사 추론 알고리즘이 사용된다:

몬테 카를로 방법은 치우침이 없는 대신 계산 시간이 언제 끝날지 알 수 없다는 단점이 있다. 변분 방법은 이에 비해 상당히 빠르지만 치우침이 있어 에러를 포함하며, 계산 시간을 늘리더라도 에러가 줄지 않는 단점이 있다. 파라미터 추정 과정에서 추론이 많은 회수 반복되기 때문에, 조건부 무작위장의 효율적인 학습을 위해서는 변분 방법이 더욱 선호된다.

## 파라미터 학습 방법

### 트리 구조에서의 학습
만약 트리 기반 조건부 무작위장이라면, 파라미터 .

만약 동등하게 독립적으로 분포된 학습 데이터 :

여기서 는 정규화 상수이다.

과적합을 피하기 위해 정칙화를 실시해 줄 수 있으며, 이 때 :

여기서 는 자유매개변수로 가중치가 클수록 얼마나 페널티를 줄 것인지 결정한다.

유클리드 노름 대신에 :

유클리드 노름을 이용한 가능도 함수에 편미분을 하여 기울기를 구하면 다음과 같다:

앞에서 세운 가능도 함수와 기울기 식을 이용해 가능도 함수를 극대화 시키는

### 일반 그래프에서의 학습
만약 조건부 무작위장이 일반적 그래프일 경우, 최대 가능도 학습으로는 를 구하기 쉽지 않다. 이 문제를 다루기 위해서는 근사적 추론 방법을 이용하거나, 혹은 최대 가능도 방법 외에 다른 학습 기준을 선택해야 한다.

## 예제
시퀀스 모델링은 보통 연쇄 그래프(: 방향성이 있거나 없는 간선을 모두 가질 수 있으며 방향성 순환이 없는 그래프)를 이용해 모델링된다. 관측된 변수들의 벡터 를 입력 시퀀스의 각 입력에 대한 레이블로써 해석할 수 있는 간편함이 있으며,이 외에도 이러한 구조를 사용함으로써 다음과 같은 작업들을 효율적으로 처리할 수 있는 장점이 있다:

의 값에 대한 확률을 결정한다.

선형 체인 조건부 무작위장은 개념적으로 보다 단순한 은닉 마르코프 모델과 응용되는 문제가 비슷하다. 단, 입력, 출력 시퀀스의 분포에 대한 가정을 어느 정도 완화하였다. 은닉 마르코프 모델은 상태 전이와 방출을 모델링하기 위해 고정된 확률을 사용하는 자질 함수만을 갖는 조건부 무작위장으로 생각될 수 있다. 반면, 조건부 무작위장은 은닉 마르코프 모델의 일반화된 모델로 생각될 수 있으며, 고정된 전이 확률 대신에 일련의 숨겨진 상태들의 조직에 따라 달라지는 임의의 함수를 입력 시퀀스에 맞추어 사용한다.

은닉 마르코프 모델과는 대조적으로 주목할 점은, 조건부 무작위장은 임의의 개수의 자질 함수를 포함할 수 있으며, 이 자질 함수는 추론 중 어느 시점에서라도 전체 입력 시퀀스 를 조사할 수 있고, 자질 함수의 범위는 확률적으로 해석될 필요가 없다.

## 소프트웨어
아래는 일반적인 조건부 무작위장 도구로 알려진 목록이다.

아래는 조건부 무작위장과 관련된 도구로 알려진 목록이다.