이차 프로그래밍 및 올가미


11

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

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

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

따라 에서 를 최소화1xXB.12xQx+cxAxb.

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

답변:


10

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

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

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


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


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

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

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

예, 나는 fa 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 'xargminf[something]Qw(XXwXY) . 첫 번째 부분은의 형태로 표현 것이다 Q의 그러나 나는 두 번째 임기를 제거 얻을 수없는, 매트릭스 - ' X ' Y . wXXwwXYQwXY
spurra

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

11

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

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

최적화하는 기능은 다음과 같습니다. 에, 피사체 w + I를 +w - IS,12(w+w)TQ(w+w)+cT(w+w)wi++wis,wi+,wi0

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

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

12[w+w]T[QQQQ][w+w]+[cTcT][w+w]

에 따라

[IDIDI2D][w+w][sD02D]

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

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


우리는 최적의 발견했다고 가정 차원 벡터 ( + , - ) . 무엇을 보장 +W는 - 어떤 벡터의 긍정적 인 부분과 부정적인 부분 실제로 w는 , 즉 자신의 항목의 위치가 일치? 2D(w+,w)w+ww0
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.