이차 프로그래밍 및 올가미


11

올가미 회귀를 수행하려고하는데 다음과 같은 형식이 있습니다.

에서 최소화( Y - X w ) ' ( Y - X w ) + λw(Y−Xw)′(Y−Xw)+λ|w|1

주어지면 2 차 프로그래밍의 도움으로 다음과 같은 형식으로 최적의 를 찾는 것이 좋습니다 .wλw

따라 에서 를 최소화1xX≤B.12x′Qx+c′xAx≤b.

이제 항이 제약 조건 로 변환되어야 한다는 것을 알고 있습니다 . 그러나 나는 어떻게 든 첫 번째 방정식의 첫 번째 항을 두 번째 항의 첫 번째 항으로 옮길 수있는 방법을 보지 못합니다. 나는 인터넷에서 그것에 대해 많이 찾을 수 없었으므로 여기에서 물어보기로 결정했습니다.A x ≤ bλAx≤b

답변:


10

표준 형식에서 를 ' x '변수 로 사용하고 있음을 명심 하고 ( Y − X w ) ′ ( Y − X w )를 확장 하고 w ' 에서 항을 수집하십시오wx(Y−Xw)′(Y−Xw) 및 w ' 및 w 및 상수.w′[something]ww′w

상수를 무시할 수있는 이유를 설명하십시오.

와 w 항을 결합 할 수있는 이유를 설명하십시오 .w′w


BananaCode 지금까지 어떤 경로를 따라 선도 파악함에 따라, 당신도 쓸 수 와 C = - 2 X ' Y 또는 더 간단하게, 당신은 그냥 쓸 수 Q = X ' X를 하고 C = - X ' Y (사람 F ( X ) 와 K의 F ( X는 ) 모든 동일한 argmin가 K > 0 ).Q=2X′Xc=−2X′Y Q=X′Xc=−X′Yf(x)kf(x)k>0


x_가 f (x)의 최소값이면 x_ + c는 f (x) + c의 최소값이므로 상수 c는 무시해도되므로 상수는 무시할 수 있습니다. 어디에 문제가 있었는지 보여주기 위해 질문을 편집하겠습니다.
— spurra

BananaCode 설명에 몇 가지 결함이 있습니다. " 의 최소값 "이 " f ( x ) 가 최소화 되는 인수"라는 것을 의미하는 경우 " x * 는 f 의 argmin 입니다 "와 같이 말합니다 . 그러나 당신의 결론은 잘못되었습니다. 당신이 추가하면 C를 에 F , 당신은 추가하지 않는 C를 argmin에. f(x)f(x)x∗argminfcfc
— Glen_b-복지 주 모니카

내가 쓴 곳보기 내 대답에 w ? 무엇뭔가지금 사이가 w ' 와 w 질문의 하단에는 ?? w′[something]ww′w
— Glen_b-복지 주 모니카

예, 나는 가 f 의 a r g m i n 임을 의미했습니다 . 내 결론이 틀린 예를 들어 주시겠습니까? [ S 입출력 m 전자 t의 H I N g는 ] 은 IS Q의 I 폼려고 매트릭스. 나는 확장하면 승 ' ( X ' X w - X ' Y ) 내가 얻을 w ' X ' X w - w ' X 'x∗argminf[something]Qw′(X′Xw−X′Y) . 첫 번째 부분은의 형태로 표현 것이다 Q의 그러나 나는 두 번째 임기를 제거 얻을 수없는, 매트릭스 - 승 ' X ' Y . w′X′Xw−w′X′YQ−w′X′Y
— spurra

1
@ AD.Net 제약 조건은 대부분 다른 답변에서 다룹니다.
— Glen_b-복지국 모니카

11

구속 조건 변환을 해결하는 방법을 추가하고 싶었습니다. 내가 생각했던 것처럼 간단하지 않기 때문에 2 차 프로그래밍에 유용한 형태로. A w ≤ s ↔ ∑ | 와 같은 실제 행렬 A 를 찾을 수 없습니다. w 전 | ≤ 이야 .∑|wi|≤sAAw≤s↔∑|wi|≤s

I이 사용되는 방법은 소자 분리 하였다 벡터 w 에 w + I를 하고 승 - I , 그래서 승 내가 = 승 + I를 - 승 - I . 경우 승 내가 ≥ 0 , 당신이 승 + 전 = 승 전 및 승 - 전 = 0 , 그렇지 않으면 당신은 승 - 전 = | w 전 | 그리고 wwiwwi+wi−wi=wi+−wi−wi≥0wi+=wiwi−=0wi−=|wi|입니다. 또는 더 수학적 용어로w + i =| w전| +wIwi+=0 와w − i =| w전| -wIwi+=|wi|+wi2두w - 내가 하고w + i가 음수가 아닌 숫자입니다. 숫자를 나누는 아이디어는 이제| w전| =w + i +w − i , 절대 값을 효과적으로 제거합니다.wi−=|wi|−wi2.wi−wi+|wi|=wi++wi−

최적화하는 기능은 다음과 같습니다. 에, 피사체 w + I를 +w - I ≤S,12(w+−w−)TQ(w+−w−)+cT(w+−w−)wi++wi−≤s,wi+,wi−≥0

여기서 와 C는 Glen_b하여 상술 한 바와 같이 주어진Qc

이것은 사용 가능한 형태로 변환되어야합니다. 즉, 하나의 벡터가 필요합니다. 이것은 다음과 같은 방식으로 수행됩니다.

12[w+w−]T[Q−Q−QQ][w+w−]+[cT−cT][w+w−]

에 따라

[IDID−I2D][w+w−]≤[sD02D]

여기서 은 IS D 차원 단위 행렬 S D D 값만 이루어진 차원 벡터 S 및 0 D 2 * D 차원 제로 벡터. 상반기 보장 | w 전 | = w + i + w − i ≤ s , 두 번째 w + i , w − i ≥ 0 이제 2 차 프로그래밍을 사용하여 검색 할 수있는 유용한 형식입니다.IDDsDDs0D2∗D|wi|=wi++wi−≤swi+,wi−≥0 와 w - , 주어 의 . 일단 완료되면 s에 대한 최적의 매개 변수는 w = w + − w − 입니다.w+w−ssw=w+−w−

소스 및 추가 정보 : 절대 값을 포함하는 선형 구속 조건으로 2 차 프로그래밍 문제 해결


우리는 최적의 발견했다고 가정 차원 벡터 ( 승 + , 승 - ) . 무엇을 보장 승 + 및 W는 - 어떤 벡터의 긍정적 인 부분과 부정적인 부분 실제로 w는 , 즉 자신의 공 항목의 위치가 일치? 2D(w+,w−)w+w−w0
— Myath

최종 표현의 행렬과 벡터는 더 간단하고 실제로 더 정확할 수 있습니다. [Id Id] [w + w−] '≤ Sd 대신 간단히 [1 1 .... 1] [w + w-]'≤ s를 넣을 수 있습니다. 이것은 문자 그대로 ∑ | wi | = ∑ (wi + + wi−) ≤ s.
— Marko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.