베이지안 네트워크에서 신경 네트워크로 : 다변량 회귀를 다중 출력 네트워크로 전치하는 방법


20

나는 베이지안 계층 선형 모델 (여기서 그것을 설명하는 네트워크)을 다루고 있습니다.

문제를 설명하는 그래픽 모델

는 슈퍼마켓에서 관찰 된 제품의 일일 판매량을 나타냅니다.Y

는 가격, 프로모션, 요일, 날씨, 휴일을 포함하여 알려진 회귀 행렬입니다.X

는 각 제품의 알려지지 않은 잠재 재고 수준으로, 가장 많은 문제를 유발하고, 이진 변수로 구성된 벡터를 고려합니다. 각 제품마다 1 개가품절됨을 나타내므로 제품을 사용할 수 없습니다. 이론적으로 알 수없는 경우에도 각 제품에 대해 HMM을 통해 추정 했으므로 X라고알려진 것으로 간주됩니다. 적절한 형식을 위해 음영 처리하기로 결정했습니다.S1

는 고려 된 혼합 효과가 제품 가격, 판촉 및 재고 부족 인 단일 제품에 대한 혼합 효과 매개 변수입니다.η

는 고정 회귀 계수의 벡터이고, b 1 b 2 는 혼합 효과 계수의 벡터입니다. 한 그룹은브랜드를 나타내고 다른그룹은맛을나타냅니다(실제로는 많은 그룹이 있지만 여기서는 명확성을 위해 2 개만보고합니다).βb1b2

, Σ b 1 Σ b 2 는 혼합 효과에 대한 하이퍼 파라미터입니다.ΣηΣb1Σb2

카운트 데이터를 가지고 있기 때문에 각 제품 판매를 회귀 변수에 대한 Poisson 분포 조건부로 취급한다고 가정 해 봅시다 (일부 제품의 경우 선형 근사가 유지되고 다른 제품의 경우 0 팽창 모델이 더 낫습니다). 그런 경우 나는 제품 대해 가질 것입니다 ( 이것은 베이지안 모델 자체에 관심이있는 사람을위한 것입니다. 관심이 없거나 사소하지 않은 것으로 판명되면 질문으로 건너 뛰십시오 ) :Y

ΣηIW(α0,γ0)

Σb1IW(α1,γ1)

, α 0 , γ 0 , α 1 , γ 1 , α 2 , γ 2 알려져 있습니다.Σb2IW(α2,γ2)α0,γ0,α1,γ1,α2,γ2

ηN(0,Ση)

b1N(0,Σb1)

b2N(0,Σb2)

, Σ β 알려져있다.βN(0,Σβ)Σβ

,λtijk=βXti+ηiXppsti+b1jZtj+b2kZtk

YtijkPoi(exp(λtijk))

, j 1 , , m 1 , k 1 , , m 2i1,,Nj1,,m1k1,,m2

2 개 그룹에 대한 혼합 행렬의 효과는 X의 P는 P가 s의 가격, 증진 및 간주 stockout 생성물을 나타낸다. I W 는 역위 샤트 분포를 나타내며, 일반적으로 정규 다변량 사전의 공분산 행렬에 사용됩니다. 그러나 여기서는 중요하지 않습니다. 가능한 Z i 의 예는모든 가격의 행렬이거나 Z i = X i 라고 말할 수도있습니다. 혼합 효과 분산 공분산 행렬에 대한 선행 사항과 관련하여 항목 사이의 상관 관계를 유지하려고하면 σ i j 가 양수ZiXppsi나는나는나는=엑스나는σ나는j j 는 동일한 브랜드 또는 동일한 맛의 제품입니다. 나는j

이 모델의 직관은 주어진 제품의 판매가 가격, 가용성 여부에 따라 다르지만 다른 모든 제품의 가격과 다른 모든 제품의 재고량에 달려 있다는 것입니다. 모든 계수에 대해 동일한 모델 (읽기 : 동일한 회귀 곡선)을 원하지 않기 때문에 매개 변수 공유를 통해 데이터에있는 일부 그룹을 활용하는 혼합 효과를 도입했습니다.

내 질문은 :

  1. 이 모델을 신경망 아키텍처로 바꾸는 방법이 있습니까? 베이지안 네트워크, 마르코프 랜덤 필드, 베이지안 계층 모델 및 신경망 사이의 관계를 찾는 많은 질문이 있다는 것을 알고 있지만 베이지안 계층 모델에서 신경망으로가는 것을 찾지 못했습니다. 신경망에 대해 질문합니다. 높은 차원의 문제 (340 제품이 있다고 생각), MCMC를 통한 매개 변수 추정에는 몇 주가 걸립니다 (runJags에서 병렬 체인을 실행하는 20 개의 제품에 대해서만 시도했으며 며칠이 걸렸습니다) . 그러나 나는 무작위로 가고 싶지 않고 블랙 박스처럼 신경망에 데이터를 제공합니다. 네트워크의 의존성 / 독립 구조를 이용하고 싶습니다.

여기에 신경망을 스케치했습니다. 보시다시피 , 상단의 회귀 분석기 ( S i 는 각각 제품 i 의 가격과 재고를 나타냄 )는 제품 별 (여기서 가격과 재고를 고려) 숨겨진 레이어에 입력됩니다 . 나는에스나는나는(파란색과 검은 색 가장자리는 특별한 의미가 없으며 그림을 더 명확하게하기위한 것입니다). 또한 Y 2Y 3과 높은 상관 관계가있을 수 있습니다와이1와이2와이완전히 다른 제품 일 수 있지만 (오렌지 주스 2 개와 레드 와인에 대해 생각) 신경망에서는이 정보를 사용하지 않습니다. 그룹화 정보가 가중치 초기화에 사용되는지 또는 문제에 맞게 네트워크를 사용자 정의 할 수 있는지 궁금합니다.

신경망의 꼭두각시 예

편집, 내 생각 :

가능한 초기화?

내 생각은 다음과 같습니다. 이전과 마찬가지로 Y 2 는 상관 된 제품이지만 Y 3 은 완전히 다른 제품 입니다. 이것을 선험적으로 알고 나는 두 가지 일을합니다.와이1와이2와이

  1. 숨겨진 계층의 일부 뉴런을 내가 가진 그룹에 미리 할당합니다.이 경우에는 2 개의 그룹 {( ), ( Y 3 )}이 있습니다.와이1,와이2와이
  2. 입력과 할당 된 노드 (굵은 가장자리) 사이에 높은 가중치를 초기화하고 물론 데이터의 나머지 '무작위'를 캡처하기 위해 다른 숨겨진 노드를 작성합니다.

당신의 도움에 미리 감사드립니다


@Tomasso Guerrini 여기 가능하다 당신을위한 답 : stats.stackexchange.com/questions/4498/...
안톤 다닐 로프

@AntonDanilov 덕분에 불행히도 받아 들여진 대답은 '신경망에 "그래프"가 있지만 일반적으로 의존성 정보를 인코딩하지 않으며 노드는 임의의 변수를 나타내지 않습니다 "라고 말합니다. : /
Tommaso Guerrini

1
Stan 을 사용해 보셨습니까 , 아니면 문제에 적합하지 않습니까? Hamiltonian Monte Carlo는 Gibbs 샘플링보다 훨씬 빠르며 수백 (또는 수천)의 변수로 확장 할 수 있습니다.
lacerbi

1
Stan 사용자 메일 링리스트에 같은 질문을 해 보셨습니까 ? 일반적으로 모델이 작동하도록 기술적 측면에서 매우 유용합니다. 예를 들어, 더 나은 매개 변수화를 사용하면 사례의 문제를 해결할 수 있습니다. ( 해밀턴 몬테 카를로 는 Gibbs 샘플링보다 훨씬 빠르게 혼합해야합니다 .)
lacerbi

1
아마 그 메일 링리스트를 스팸으로 분류했다고 말하는 것이 낫습니다.. 정말 Luigi 감사합니다 .. 나는 마감일이 있기 때문에 더 이상 문제를 파헤칠 시간이없는 상황에 처해 있습니다. STAN은 훌륭한 도구 인 것처럼 보이지만 학습 곡선은 실제로 놀라운 성능을 실현하기에는 다소 가파르다 (현재로서는 wrt JAGS의 속도 향상을 실현했다)
Tommaso Guerrini

답변:


1

기록을 위해, 나는 이것을 대답으로 보지 않고 단지 긴 의견이라고 생각합니다! 금속 막대를 통한 열 흐름을 모델링하는 데 사용되는 PDE (열 방정식)를 사용하여 옵션 가격을 모델링 할 수도 있습니다. 내가 아는 사람은 옵션 가격 책정과 열 흐름 자체 사이의 연결을 제안하려고 시도한 적이 없습니다. Danilov의 링크에서 인용 한 내용도 마찬가지입니다. 베이지안 그래프와 신경망은 그래프의 언어를 사용하여 서로 다른 내부 조각 사이의 관계를 표현합니다. 그러나 베이지안 그래프는 입력 변수의 상관 구조에 대해 알려주고 신경망의 그래프는 입력 변수에서 예측 함수를 작성하는 방법을 알려줍니다. 이것들은 매우 다릅니다.
DL에서 사용되는 다양한 방법은 가장 중요한 변수를 '선택'하려고 시도하지만 이는 경험적인 문제입니다. 또한 전체 변수 세트 또는 나머지 변수의 상관 관계 구조에 대해서는 알려주지 않습니다. 그것은 생존 변수가 prediciton에 가장 좋을 것이라고 제안합니다. 예를 들어 신경망을 보면 독일 신용 데이터 세트로 연결됩니다. 독일 신용 데이터 세트는 2000 데이터 포인트와 5 개의 종속 변수를 올바르게 기억합니다. 시행 착오를 통해 숨겨진 레이어가 1 개이고 변수 중 2 개만 사용하는 그물은 예측에 가장 좋은 결과를 제공한다는 것을 알 수 있습니다. 그러나 이것은 모든 모델을 구축하고 독립적 인 테스트 세트에서 테스트해야만 발견 할 수 있습니다.


다른 데이터에서 동일한 모델의 응용 프로그램과 비교할 수는 없습니다. 여기에서 데이터는 동일하고 모델은 다른 방식이 아닙니다. 또한 신경망을 사용하여 변수의 상관 구조를 추론하려고 시도하지 않습니다. 이는 베이지안 후부 추론을 통해 이미 잘 수행됩니다. 그래프는 단지 계층 적 모델에서 어떤 일이 발생 하는지를 보여주기위한 것이므로 '그래프의 언어'를 이해하지 못합니다 (그래서 제목으로 오해했을 수도 있지만 눈에 띄는 것이 필요합니다 : D)
Tommaso Guerrini

그리고 아마도 나는 당신의 질문을 이해하지 못합니다. 여전히 요점은 두 그래프 구조에서 가장자리가 생성되는 방식이 서로 관련이 없다는 것입니다. 주어진 모서리와 무게로 신경망을 정의 할 수는 있지만, 그러한 그물이 정확하거나 유용 할 것이라고 생각할 이유가 없습니다. 신경망을 만드는 핵심은 데이터가 '올바른'가중치를 결정할 수 있도록 역전 파와 유사한 것을 사용하는 것입니다.
meh

"그래프는 단지 계층 적 모델에서 어떤 일이 발생 하는지를 보여주기위한 것입니다." 우리는 어떤 경우에는 공분산 구조를 정의하고 모델은 사후 해석이 매우 잘 이해되는 반면, 다른 경우에는 그라데이션 하강이 작업을 수행하고 해석 할 수는 없지만 일반적으로 (내 경우와 같이) 우수한 성능을 얻는다는 데 동의합니다. 내 질문은 : 예측 성능을 잃지 않으면 서 해석 성을 유지하는 방법이 있습니까? 이것이 내가 스택에 이것을 요청한 이유이며 편집에서 그 아이디어를 제안하는 이유입니다. 아이디어를 찾고 있습니다. 나는 그것이 당신에게 분명하기를 바랍니다.
Tommaso Guerrini

하나는 부정적인 것을 증명할 수 없으므로 베이지안 네트워크의 그래프와 신경망의 그래프 사이에 연관성이 없다고 결론적으로 말할 수는 없습니다. 나는 그러한 연결에 대한 지식이 없으며 어떤 연결에 대해서도 회의적이라고 말할 수 있습니다. 베이지안 네트워크의 그래프 구조를 사용하여 신경 네트워크에 대한 그래프 구조를 제공 할 수 있지만 신경 네트워크 관점에서 볼 때 이것은 합리적이지 않습니다. 나는 현재 세부 사항 밖으로 작업에 시간이 있지만, 사고 실험으로 독립 변수가 모든 statisitically이었다 데이터 세트 상상하지 않습니다
MEH

와이=엑스나는+나는나는=에이×σ1(엑스나는)σ나는대략 0입니다. 그러나 그들은 좋은 모델의 일부가되어야합니다.
meh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.