[최적화] Introduction to Optimization - Introduction

2020. 9. 25. 16:35·연구 Research/최적화 Optimization

 

# 참고 교재 : Introduction to Optimization (4th edition, Wiley, Chong&Zak)

# 참고 수업 : 전자전기공학과 대학원 수업 Introduction to Optimization

 


책의 구성

PART1 definitions, notations, and relations from linear algebra, geometry, calculus
PART2 unconstrained optimization problem, various iterative optimization algorithm, least-squares optimization problem
PART3 constrained optimization 중에서 linear programming problem(simplex method, dual linear programming, nonsimplex algorithm)
PART4 nonlinear constrained optimization, multiobjective optimization

키워드를 기억해놨다가, 나중에 정리할 때 이 키워드 중심으로 정리하고자 합니다.

 

이 책의 목적은 학생들에게 최적화 이론과 방법에 대해서 소개하고, 최신 연구에 대해 적용해보는 데에 있다고 합니다. (예를 들면 feedforward neural network에 대해서 다루는 장이 있다.)

 

# 이 책과 강의에서 다루지 못한 것은 convex optimization인데, Stanford University의 Stephen Boyd 교수님이 강의를 하셨다고 해서 일단 링크를 저장!

youtu.be/McLq1hEq3UY

 


Introduction

최적화를 할 때는 주로 최대, 최소값을 구하는 문제에 직면합니다. 이차방정식 수준은 쉽게 최대, 최소를 구할 수 있고, 이차방정식에 더 나아가서 3차, 4차, 5차방정식이 되더라도 미분을 이용해서 일차미분이 0이 되는 지점의 값들을 비교함으로써 구할 수 있습니다.

 

이러한 최적화 문제는 더 확장되면 x,y에 대한 이차방정식까지 확장됩니다. 즉, (x,y)쌍은 벡터라고 볼 수 있습니다. x에 대한 이차방정식은 스칼라 값을 구하는 수준이고, 이제는 벡터 값을 구하는 것으로 확장됩니다.

 

최적화 문제는 주로 real-valued scalar에 대해서 다룹니다. 최적화문제에서는 minimize 문제가 기본적인 형태이며, 최대룰 구하려면 minimize -f(x) (=maximize f(x))로 나타낼 수 있습니다. 우리가 구하고자 하는 벡터 x는 decision variable, search parameter, optimization parameter라고 할 수 있습니다.

 

수업에서 다루지는 않지만 최적화 문제에서 matrix를 구하는 문제도 있습니다. matrix를 구하는 문제의 예시가 위의 그림에 나와있습니다.

 

 

최적화문제는 scalar에서 vector, matrix, sequence, waveform까지 확장될 수 있습니다.

 

 

<최적화 문제의 예시>

Markov decision process는 sequential decision problem에 대한 문제이고 Brachisto chrone problem은 질량이 굴러내려갈 때 그 시간을 최소화하는 길을 찾아내는 문제입니다. 즉, 함수를 최적화하는 문제이다.

(Brachisto chrone problem을 설명한 좋은 글이 있어서 링크 첨부 : suhak.tistory.com/617)

 

 

 

<최적화 문제에서 다루는 범위>

integer로 한정한다면, countably infinite set을 다루는 것이고, real value로 한정하면 uncountably infinite set을 다루는 것입니다.

예시로는 detection문제는 countable set에서 적절한 답을 찾아내는 문제이고, estimation은 무수히 많은 값들 중에서 답을 찾아내는 문제입니다. 특정 sample을 통해 mean을 추정하는 것처럼 말입니다.

 

discrete optimization과 continuous optimization에 대해서 잠깐 언급했는데, continuous는 미분 가능하므로 비교적 간단하지만 discrete는 data의 dimension이 매우 클 경우에 구하기 어렵다고 합니다.

continuous와 discrete를 모두 고려하는 mixed optimization 문제도 있습니다.

 

 

optimization에는 single-objective optimization과 multiple-objective optimization으로 나눌 수 있고,

mutiple-objective 문제일 때는 single solution이 아니라 여러 개의 solution이 존재할 수 있습니다.

 

 


p.s. 혹시라도 잘못된 내용이 있다면 알려주시면 감사하겠습니다! 저는 수업을 듣고, 책을 읽으면서 공부하는 내용을 정리하는 학생이라, 다소 부정확한 내용을 적을 수도 있습니다.

'연구 Research > 최적화 Optimization' 카테고리의 다른 글

[최적화] Gradient를 계산하는 방법  (0) 2025.01.07
[Optimization] Linear subspace, Affine subspace  (0) 2024.10.11
'연구 Research/최적화 Optimization' 카테고리의 다른 글
  • [최적화] Gradient를 계산하는 방법
  • [Optimization] Linear subspace, Affine subspace
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability &amp; Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    논문작성
    teps
    JAX
    Python
    obsidian
    인공지능
    pytorch
    옵시디언
    텝스공부
    ChatGPT
    논문작성법
    matplotlib
    우분투
    텝스
    Numerical Analysis
    고체역학
    MATLAB
    서버
    LaTeX
    Zotero
    IEEE
    딥러닝
    수치해석
    WOX
    Linear algebra
    에러기록
    Statics
    Julia
    생산성
    Dear abby
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[최적화] Introduction to Optimization - Introduction
상단으로

티스토리툴바