최적화 및 머신 러닝


13

기계 학습에 얼마나 많은 최적화가 필요한지 알고 싶었습니다. 내가 들었던 것에서 통계는 기계 학습을하는 사람들에게 중요한 수학적 주제입니다. 기계 학습을하는 사람이 볼록 또는 비 볼록 최적화에 대해 배우는 것이 얼마나 중요합니까?


2
"머신 러닝 작업"은 모호한 개념입니다. 더 나은 ML 분석법을 개발하는 것은 하나의 해답을 의미 할 것입니다. 알려진 방법을 사용하는 ML 시스템을 개발하는 것은 완전히 다른 것입니다.
Peteris

답변:


28

내가 보는 방법은 통계 / 기계 학습이 최적화해야 할 것을 알려주고 최적화는 실제로 그렇게하는 것입니다.

예를 들어, 여기서 이고 선형 회귀를 고려하십시오 . 통계에 따르면 이것이 종종 좋은 모델이지만 최적화 문제를 해결하여 실제 추정치 를 찾습니다.Y=Xβ+εE(ε)=0Var(ε)=σ2Iβ^

β^=argminbRp||YXb||2.

의 속성은 통계를 통해 우리에게 알려져 있으므로 이것이 해결하기에 좋은 최적화 문제라는 것을 알고 있습니다. 이 경우 쉬운 최적화이지만 여전히 일반적인 원칙을 보여줍니다.β^

보다 일반적으로 많은 머신 러닝은 내가 정규화없이 이것을 작성하고 있지만 쉽게 추가 할 수 있습니다.

f^=argminfF1ni=1nL(yi,f(xi))

통계 학습 이론 (SLT)에 대한 방대한 연구는 무증상 최적인지 아닌지, 의 복잡성과 어떻게 관련되는지 와 같은 것들 의 속성을 연구했습니다 . 그러나 실제로 를 얻으려고 할 때 종종 최적화가 어려워지고 그 문제를 연구하는 사람들이 완전히 분리되어 있습니다. SVM의 역사는 여기서 좋은 예라고 생각합니다. Vapnik 및 Cortes (및 기타 여러)와 같은 SLT 직원이 SVM이 어떻게 해결하기에 적합한 최적화 문제인지 보여주었습니다. 그러나 John Platt 및 LIBSVM 저자와 같은 사람들이 실제로 이것을 가능하게 만들었습니다.FFf^

정확한 질문에 대답하기 위해 일부 최적화를 아는 것이 확실히 도움이되지만 일반적으로 아무도이 모든 분야의 전문가가 아니므로 최대한 많은 것을 배우지 만 일부 측면은 항상 당신에게 블랙 박스 일 것입니다. 선호하는 ML 알고리즘의 SLT 결과를 제대로 연구하지 않았거나 사용중인 최적화 프로그램의 내부 작동을 모르는 것 같습니다. 평생 여행입니다.



13

실제로 많은 패키지가 최적화와 대부분의 수학 세부 사항을 처리합니다. 예를 들어, TensorFlow는 신경망을 자동으로 학습하기 위해 역 전파 + 확률 적 경사 하강을 자동으로 수행 할 수 있습니다 (학습 속도 만 지정하면 됨). scikit-learn의 ML 도구는 일반적으로 최적화가 실제로 어떻게 이루어지는 지에 대해 실제로 알 필요는 없지만 일부 튜닝 매개 변수를 설정하고 나머지를 처리합니다 (예 : 옵티마이 저가 실행하는 반복 횟수). 예를 들어, scikit-learn에서 수학을 몰라도 SVM을 훈련시킬 수 있습니다. 데이터, 커널 유형을 입력하고 계속 진행하면됩니다.

그러나 기본 최적화 (예 : Boyd 및 Vandenberghe의 Convex Optimization / Bertsekas의 비선형 프로그래밍 수준)를 아는 것은 알고리즘 / 문제 설계 및 분석에 도움이 될 수 있습니다. 또는 최적화 알고리즘을 직접 구현하십시오.

교과서 최적화 방법은 종종 현대적인 환경에서 실제로 작동하기 위해 조정이 필요한 경우가 있습니다. 예를 들어 클래식 Robbins-Munroe 확률 그라디언트 디센트를 사용하지 않고 더 빠른 변형을 사용할 수 있습니다. 그럼에도 불구하고 최적화 문제에 대한 작업을 통해 통찰력을 얻을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.