본문 바로가기

분류 전체보기

(297)
[Optimization] 7. Dual model 안녕하세요. 이번 포스티에서는 Dual model에 대해서 배워보도록 하겠습니다. Dual model은 복잡한 LP 모델을 보다 간단한 모델로 변환하는 방법입니다. ​ Primal problem은 아직 변환하기 전의 기존 문제로 정의됩니다. Dual problem은 변환된 문제입니다. Dual variable은 다음과 같은 변환을 따릅니다. Primal problem이 min 혹은 max에 따라 부등호의 방향이 달라지며, 제약 조건의 부등호에 의해서도 결정됩니다. 위와 같은 문제를 Dual problem으로 변환해보겠습니다. Dual variable의 부등호는 위와 같이 정의됩니다. Dual problem 은 위와 같습니다. ​ Dual problem 전환 과정을 쉽게 정리해보면 위와 같은 식입니다.
[Optimization] 6. Simplex 안녕하세요. 이번 포스팅부터는 LP 최적화에 꽃이라고 할 수 있는 Simplex method에 대해서 배워보도록 하겠습니다. Simplex method 는 LP 문제를 푸는 가장 기본적인 방법입니다. ​ 위와 같은 문제가 있을 때, 기본적으로 최적의 해는 꼭지점들 중에 있다고 가정할 수 있습니다. 초기 점으로 (0,0)을 선택하고, x축이나 y축을 따라, 두번 째 점으로 이동하고 계속해서 꼭지점으로 이동하면서 최적 해를 찾아야 합니다. 이 때, 어느 방향으로 먼저 가는가에 대한 알고리즘이 바로 Simplex method 라고 할 수 있습니다. ​ Simplex method를 가장 간단하게 이해하기 위해서는 예시를 보면서 배우는 것이 가장 좋다고 생각합니다. 위와 같은 문제를 풀어야합니다. 눈으로 보기에도..
[선형대수학] 22. Singular Value Decomposition (특이값 분해) 안녕하세요. 이번 포스팅에서는 Singular Value Decomposition (SVD) : 특이값 분해에 대해서 배워보도록 하겠습니다. 특이값 분해는 이전 포스팅에서 배웠던 특이값 분해처럼 행렬을 대각화하는 방법입니다. 고유값 분해는 제약 조건으로 선형 독립을 만족하는 정방 행렬에 대해서만 분해가 가능했지만, 특이값 분해는 어떠한 행렬이든 분해할 수 있기 때문에, 더 광범위하게 사용되고 있습니다. ​ 실수 공간에서 정의된 m X n 행렬에 대해서 특이값 분해를 정의해보도록 하겠습니다. 정리는 다음과 같습니다. AAT 와 ATA 는 대칭행렬이기 때문에 항상 고유값 분해가 가능합니다. ​ 특이값 분해는 위와같이 공식만 알고 있다면, 쉽게 얻을 수 있습니다. 하지만 여기서 중요한 것은 특이값 분해의 기하..
[선형대수학] 21. Eigendecomposition (고유값 분해) 안녕하세요. 이번 포스팅에서는 지난 포스팅에 이어서 Eigendecomposition (고유값 분해)에 대해서 배워보려고 해요. ​ 고유값 분해는 정방행렬이 다음과 같은 형태로 분해 될 수 있음을 보여줍니다. 여기서 선형 독립을 만족하는 모든 정방행렬에 대해서 고유값 분해가 성립한다는 것을 알아두셔야 합니다. 모든 정방행렬에서 고유값 분해가 성립하지 않습니다!! ​ 한 번 증명을 해볼까요??
[선형대수학] 20. Eigenvalue & Eigenvector (고유값과 고유벡터) 안녕하세요. 이번 포스팅에서는 선형대수학의 꽃이라고 할 수 있는 Eigenvalue & Eigenvector (고유값과 고유벡터)에 대해서 배워보도록 해요. ​ 우선 'Eigen' 는 독일어로 고유라는 뜻을 가집니다. 고유벡터라는 것은 무엇을 의미할까요?? 벡터는 '방향'과 '크기'로 이루어지는데, 여기서 벡터의 가장 중요한 성질은 무엇일까요? 바로 '방향'입니다. 벡터와 스칼라의 차이는 바로 스칼라는 '방향'이 존재하지 않는다는 것이지요. 고유벡터는 이 벡터의 중요 성질인 방향을 변화시키지 않고 오직 크기만 변화되는 벡터를 의미합니다. 고유값은 변화되는 크기의 양을 나타내구요. 이를 수식으로 표현하면 아래와 같아요! 저번 포스팅에서 배운 선형변환 A에 대해서 방향이 바뀌지 않고, 크기만 Lambda 배..
[선형대수학] 19. Linear transformation (선형 변환) 안녕하세요. 이번 포스팅에서는 Linear transformation (선형 변환) 에 대해서 배워보도록 하겠습니다. 선형 변환은 정의하기는 쉽지만, 그 의미를 해석하는 것이 어려운 일입니다. 선형 변환을 한 마디로 설명하자면, "선형변환은 선형 결합을 보존하는, 두 벡터 공간 사이의 함수이다." 입니다. 이 때, 선형 결합이란, 두 벡터의 덧셈과 스칼라-벡터 곱을 의미합니다. 예를 들어서, 두 벡터 A=(1,2) , B=(2,3) 가 존재한다고 합시다. A+B=C=(3,5) 라는 새로운 벡터가 만들어지는 데, C를 A,B의 선형결합으로 만들어졌다고 할 수 있습니다. 또한 3A=(3,6) 또한 A의 선형 결합으로 만들어졌다고 할 수 있습니다. ​ 즉, 선형 변환은 어떤 함수 T 에 의해서 A가 P, B가..
[선형대수학] 18. Row space, Column space, Null space 안녕하세요. 이번 포스팅에서는 벡터 공간내에서 정의되는 여러가지 Space들을 정의해보고자 합니다. ​ 먼저 Row Space 와 Column Space의 정의는 매우 간단합니다. 행렬 A에 대한 Row Space 는 행렬 A의 행들의 선형 조합으로 만들 수 있는 모든 집합 : Span{행렬 A의 rows} 로 정의됩니다. 이와 반대로 행렬 A에 대한 Column Space 는 행렬 A의 열들의 선형 조합으로 만들 수 있는 모든 집합 : Span{행렬 A의 columns} 로 정의됩니다. ​ 아무래도 말보다는 직접 보여드리는 것이 이해하기 쉽겠죠?? 우선 Row Space를 찾아봤어요. 여기서 Echelon form 변환이 나오는 데 이에 대한 설명이 잘 나와있는 사이트가 있어서 공유해드려요. https..
[Machine Learning] Elastic Net 녕하세요. 이번 포스팅에서는 Elastic Net에 대해서 배워보도록 할게요. Elastic Net은 Ridge Regression 과 Lasso Regression을 알면 굉장히 쉬운 개념입니다. Elastic Net Regression 은 Residual에 Ridge 와 Lasso의 패널티항을 모두 추가한 게 전부 입니다. 대표사진 삭제 사진 설명을 입력하세요. 정말 쉽죠?? 람다들을 바꿔가면서 Cross Validation 방법을 사용해, 최적의 람다들을 찾아주시면 됩니다. 대표사진 삭제 사진 설명을 입력하세요.