로지스틱 회귀 분석을위한 행렬 표기법


15

선형 회귀 (제곱 손실)에서 행렬을 사용하면 목표에 대해 매우 간결한 표기법이 있습니다.

minimize  ‖Ax−b‖2

여기서 A 는 데이터 행렬이고 x 는 계수이고 b 는 반응입니다.

로지스틱 회귀 목표에 대해 유사한 행렬 표기법이 있습니까? 내가 본 모든 표기법은 모든 데이터 포인트 ( \ sum _ {\ text data} \ text {L} _ \ text {logistic} (y, \ beta ^ Tx) 와 같은 합계를 제거 할 수 없습니다 ∑dataLlogistic(y,βTx).


편집 : joceratops와 AdamO의 큰 답변에 감사드립니다. 그들의 대답은 선형 회귀가 더 간결한 표기법을 갖는 또 다른 이유를 이해하는 데 도움이되었습니다. 정사각형과 합 또는 e ^ \ top e 를 캡슐화하는 규범의 정의 때문 e⊤e입니다. 그러나 로지스틱 손실에는 그러한 정의가 없으므로 표기법이 조금 더 복잡해집니다.

답변:


18

선형 회귀 분석에서 를 추정하기위한 MLE (Maximity Likelihood Estimation) 솔루션 에는 다음과 같은 닫힌 형태 솔루션이 있습니다 (A는 전체 열 순위를 갖는 행렬이라고 가정).x

x^lin=argminx‖Ax−b‖22=(ATA)−1ATb

이것은 " 목표 함수, 를 최소화 하는 를 찾으십시오"라고 읽습니다 . 이런 식으로 선형 회귀 목적 함수를 표현할 때 좋은 점은 모든 것을 행렬 표기법으로 유지하고 을 손으로 해결할 수 있다는 것 입니다. Alex R.이 언급했듯이 실제로 는 계산적으로 비효율적이고 가 전체 순위 기준을 충족하지 않기 때문에 직접 고려 하지 않는 경우가 많습니다. 대신에, 우리는 Moore-Penrose pseudoinverse로 돌린다 . 의사 역수에 대한 계산 계산의 세부 사항에는 Cholesky 분해 또는 특이 값 분해가 포함될 수 있습니다.x‖Ax−b‖22X 린 ( T ) - 1x^lin(ATA)−1A

또는 로지스틱 회귀 분석에서 계수를 추정하기위한 MLE 솔루션은 다음과 같습니다.

x^log=argminx∑i=1Ny(i)log⁡(1+e−xTa(i))+(1−y(i))log⁡(1+exTa(i))

어디서 (각 데이터 샘플이 행 단위로 저장되어 있다고 가정) :

x 는 회귀 계수를 나타내는 벡터입니다.

a(i) I t H 는 데이터 행렬 의 샘플 / 행을 나타내는 벡터입니다ithA

y(i) { 0 , 1 } i t h i t h 에서 스칼라 및 라벨에 대응하는 샘플{0,1}ithith

N 은 데이터 매트릭스 의 데이터 샘플 수 / 행 수입니다 .A

다시 이것은 " 목표 함수를 최소화하는 찾기"로 읽습니다 .x

원한다면 한 단계 더 나아가 다음과 같이 행렬 표기법으로 를 나타낼 수 있습니다.x^log

x^log=argminx[1(1−y(1))⋮⋮1(1−y(N))][log⁡(1+e−xTa(1))...log⁡(1+e−xTa(N))log⁡(1+exTa(1))...log⁡(1+exTa(N))]

그러나 당신은 이것을함으로써 아무것도 얻지 못합니다. 로지스틱 회귀에는 닫힌 형식 솔루션이 없으며 선형 회귀와 행렬 표기법으로 표시하는 것과 같은 이점을 얻지 못합니다. 그라디언트 디센트 및 Newton-Raphson 방법과 같은 추정 기술 을 해결하기 위해 사용됩니다. 이러한 기법 중 일부 (예 : Newton-Raphson)를 사용하여 는 근사치이며 행렬 표기법으로 표시됩니다 ( Alex R에서 제공하는 링크 참조 ).x^logx^log


큰. 감사. 우리가 푸는 것과 같은 것이없는 이유는 행렬 표기법을 만들고 합계 기호를 피하기 위해 그 단계를 더 거치지 않는 이유라고 생각합니다. A⊤Ax=A⊤b
— Haitao Du

한 걸음 더 나아갈 수 있다는 이점이 있습니다. 행렬 곱셈으로 코드를 단순화하면 모든 데이터를 합한 루프를위한 matlab과 같은 많은 플랫폼에서 행렬 연산보다 속도가 훨씬 느립니다.
— Haitao Du

5
@ hxd1011 : 작은 의견 : 행렬 방정식으로 줄이는 것이 항상 현명한 것은 아닙니다. 의 경우 , 실제로 역행렬을 찾고 시도해서는 안 , 오히려 훨씬 더 빠르고 수치 적으로 안정 될 것 촐레 분해 그런 짓을. 로지스틱 회귀의 경우 실제로 행렬 계산을 사용하는 여러 가지 반복 구조가 있습니다. 훌륭한 검토를 위해 여기를 참조하십시오 : research.microsoft.com/en-us/um/people/minka/papers/logreg/…ATAx=ATbATA
— Alex R.

1
@AlexR. 대단히 감사합니다. 정규 방정식을 사용하면 행렬 조건 수가 제곱이된다는 것을 알았습니다. 그리고 QR이나 Cholesky가 훨씬 나을 것입니다. 귀하의 링크는 훌륭합니다. 숫자 방법을 사용한 그러한 검토는 항상 내가 원하는 것입니다.
— Haitao Du

15

@joceratops answer은 추정 가능성의 최대 최적화 문제에 중점을 둡니다. 이것은 실제로 여러 유형의 문제를 처리 할 수있는 유연한 접근 방식입니다. 선형 및 로지스틱 회귀 모형을 포함한 대부분의 모형을 추정하기 위해 모멘트 추정 방법을 기반으로하는 또 다른 일반적인 접근 방식이 있습니다.

선형 회귀 추정기는 추정 방정식의 근간으로 공식화 할 수도 있습니다.

0=XT(Y−Xβ)

이와 관련하여 는 평균 잔차 0을 검색하는 값으로 간주됩니다.이 해석을 위해 기본 확률 모델에 의존 할 필요는 없습니다. 그러나 정상적인 가능성에 대한 점수 방정식을 도출하는 것은 흥미 롭습니다. 실제로 위에 표시된 형식을 그대로 사용한다는 것을 알 수 있습니다. 선형 모형 (예 : 선형 또는 로지스틱 회귀)에 대한 정규 지수 계열의 가능성을 최대화하는 것은 점수 방정식에 대한 해를 얻는 것과 같습니다.β

0=∑i=1nSi(α,β)=∂∂βlog⁡L(β,α,X,Y)=XT(Y−g(Xβ))

여기서 는 값을 예상했습니다 . GLM 추정에서 는 링크 함수의 역수라고합니다. 정규 우도 방정식에서 은 항등 함수이고, 로지스틱 회귀에서는 은 로짓 함수입니다. 보다 일반적인 접근 방식은 모델 오 사양을 허용하는 하는 것입니다.Yig(Xiβ)gg−1g−10=∑i=1nY−g(Xiβ)

또한 정규 지수 계열의 경우 를 평균-분산 관계라고합니다. 실제로 로지스틱 회귀 분석의 경우 평균 분산 관계는 평균 가 의한 분산과 관련이있는 평균 분산 관계입니다 . 이것은 모델이 잘못 지정된 GLM을 0 평균 피어슨 잔차를 제공하는 것으로 해석하는 것을 나타냅니다. 이것은 또한 비례하지 않는 기능적 평균 미분과 평균-분산 관계를 허용하는 일반화를 제안합니다.∂g(Xβ)∂β=V(g(Xβ))p=g(Xβ)var(Yi)=pi(1−pi)

일반화 추정 방정식 방법은 다음과 같은 방법으로 선형 모델을 지정합니다 :

0=∂g(Xβ)∂βV−1(Y−g(Xβ))

사용하면 의해 주어진 (평균)를 기반으로하는 분산 행렬입니다 . 이러한 추정 방법은 GLM과 같이 링크 함수와 평균 분산 관계를 선택할 수 있습니다.Vg(Xβ)

로지스틱 회귀 분석에서 는 역 로짓이고 는 로 주어집니다 . Newton-Raphson이 얻은이 추정 방정식에 대한 해 는 로지스틱 회귀에서 얻은 를 산출합니다 . 그러나 유사한 프레임 워크에서 다소 광범위한 모델 클래스를 추정 할 수 있습니다. 예를 들어, 회귀 계수가 승산 비가 아닌 상대 위험 이되도록 링크 함수를 선형 예측 변수 의 로그 로 사용할 수 있습니다 . 잘 설명 된 OR을 RR로 해석하는 데 따르는 함정을 감안할 때, 왜 누군가가 더 이상 로지스틱 회귀 모델에 적합한 지 묻게되었습니다.gViig(Xiβ)(1−g(Xβ))β


1
+1 좋은 답변입니다. 파생 상품에 대한 근본 발견으로 공식화하면 정말 새롭습니다. 두 번째 방정식은 정말 간결합니다.
— Haitao Du
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.