반응형 휴리스틱알고리즘4 [PyGAD / DEAP] Python으로 Genetic Algorithm 시작하기: 유전 알고리즘 패키지 사용법과 하이퍼파라미터 완전 정리 안녕하세요.“기억하고자 하는 모든 것”을 담아내는 “리멤버미” 입니다. 유전 알고리즘(Genetic Algorithm, GA)은 경우의 수가 많고, 미분 기반 최적화가 어려운 문제를 풀 때 자주 쓰이는 대표적인 휴리스틱 최적화 기법입니다.특히 설계 변수 조합이 많거나, 해 공간이 복잡한 문제에서 꽤 유용하게 활용됩니다.이번 글에서는 유전 알고리즘 이론 자체보다, Python에서 어떤 패키지를 쓰면 좋은지, 그리고 주요 하이퍼파라미터는 어떤 의미를 가지는지 중심으로 가볍게 정리해보겠습니다.어떤 Python 패키지를 쓰면 좋을까?유전 알고리즘을 Python에서 구현할 때 많이 쓰이는 패키지는 대표적으로 PyGAD와 DEAP입니다.PyGADPyGAD는 유전 알고리즘을 비교적 간단하게 실행할 수 있는 패키지입니.. 2026. 4. 7. [최적화/AI] 유전 알고리즘(Genetic Algorithm)이란? 선택·교차·돌연변이로 이해하는 핵심 원리 안녕하세요.“기억하고자 하는 모든 것”을 담아내는 “리멤버미” 입니다. 최적화 문제를 다루다 보면, 해를 한 번에 정확히 계산해서 찾기 어려운 경우가 많습니다.특히 변수 조합이 너무 많거나, 함수가 매끄럽지 않거나, 미분이 어렵거나, 정수 조건과 제약조건이 함께 얽혀 있으면 전통적인 방법만으로는 풀기 까다로운 경우가 많습니다. 이런 상황에서 자주 등장하는 접근이 바로 유전 알고리즘(Genetic Algorithm, GA) 입니다. MathWorks는 GA를 확률적(stochastic) 이고 개체군 기반(population-based) 인 알고리즘으로 설명하며, 연속 변수뿐 아니라 정수 제약이 있는 문제와 비매끄러운 문제에도 적용할 수 있다고 설명합니다. 핵심만 먼저 말하면, 유전 알고리즘은 좋은 해를 가.. 2026. 4. 7. [simanneal / scipy_dual_annealing] Python으로 Simulated Annealing 시작하기: SA 패키지 사용법과 하이퍼파라미터 완전 정리 안녕하세요.“기억하고자 하는 모든 것”을 담아내는 리멤버미입니다. 지난 글에서 SA(Simulated Annealing) 알고리즘 자체의 개념을 정리했다면, 이번에는 조금 더 실무적인 관점에서 Python에서 SA를 어떻게 써야 하는지, 그리고 하이퍼파라미터는 어떤 의미를 가지는지 정리해보겠습니다.Python에서 SA를 다룰 때 많이 언급되는 축은 크게 두 가지입니다.하나는 조합 최적화나 이산 상태 탐색에 직관적인 simanneal이고, 다른 하나는 SciPy가 제공하는 연속 변수용 전역 최적화 함수 scipy.optimize.dual_annealing입니다. simanneal은 PyPI 기준으로 Simulated Annealing 전용 패키지이며, 최신 공개 릴리스는 0.5.0입니다. 반면 dual_a.. 2026. 4. 7. [인공지능/최적화/AI] 휴리스틱 알고리즘 SA(Simulated Annealing)란 무엇인가? 국소해를 넘어서 더 좋은 해를 찾는 방법 안녕하세요.“기억하고자 하는 모든 것”을 담아내는 “리멤버미” 입니다. 최적화 문제를 풀다 보면 자주 부딪히는 벽이 있습니다.바로 지금 당장은 좋아 보이지만 전체적으로는 최선이 아닌 해, 즉 local minimum(국소 최솟값) 입니다.이럴 때 자주 등장하는 대표적인 휴리스틱 알고리즘이 바로 SA, Simulated Annealing 입니다.SA는 금속을 천천히 식히며 더 안정적인 상태로 가는 과정에서 아이디어를 가져온 확률적 최적화 기법으로, 1983년 Kirkpatrick, Gelatt, Vecchi에 의해 대표적인 메타휴리스틱으로 정리된 방법입니다. 핵심은 초반에는 비교적 과감하게 탐색하고, 후반에는 점점 안정적으로 수렴하는 데 있습니다.SA를 한 문장으로 설명하면“지금보다 나쁜 선택도 가끔은 받.. 2026. 4. 7. 이전 1 다음 반응형