[MIT] 데이터 사이언스 기초

eenimeeniminim0·2023년 2월 6일
0

계산 모델(Computation Model)

  • 이제까지 일어났던 무언가를 이해하거나 매일 보는 현상들을 설명하는 모델
  • 아직 일어나지 않은 미래를 예측할 수 있게 해주는 모델
  • 예) 날씨 변화 모델 : 천 년동안 날씨가 어떻게 변했는지에 대한 모델과 미래에 어떻게 될 지 예측하는 모델을 만들 수 있음
  • 최적화모델, 통계적 모델, 시뮬레이션 모델이 있는데 그중 최적화 모델에 대해 학습

최적화 모델(Optimization Model)

  • 제한 조건을 가지며 목적 함수를 최대화 또는 최소화하는 모델
  • 제한조건이란(없을 수도 있음) 반드시 지켜야 하는 조건(ex)1000달러 이상 쓸수 없음)
  • 냅색(배낭) 문제
    • 제한 조건 : 냅색 안에 들어갈 수 있는 양
    • 도둑이 가장 값비싼 물건을 훔쳐야 하는 최적화 문제
    • 연속 냅색 문제
      • 일부분만 가져갈 수 있는 문제-금괴가 아닌 금모래로 가져갈 수 있는 경우
      • 금괴가 있는 경우 금가루로 변형 할 수 있다는 가정 하에 문제를 풀음
      • 탐욕 알고리즘으로도 풀 수 있고, 풀기 쉬운편
    • 0/1 냅색 문제
      • 금괴를 가져가거나 아예 못가겨가는 경우
      • 한번 결정하면 그 결정이 다음 결정에 영향을 미침

최적화 문제를 푸는 방법

  • 무차별 대입 알고리즘(Brute force algorithm)
    • 모든 경우의 수를 고려해 승자를 택한 것
    • 그러나 실용적이지 않음
  • 탐욕 알고리즘(Greedy algorithm)
    • While kanpsack not full put "best" available item in kanpsack
    • 여러 경우 중 하나를 결정할 때 그 순간 best라고 생각되는 것을 선택해 나가는 방식
    • 가장 좋은 것(best)의 의미는 정의에 따라 달라짐
    • 탐욕 알고리즘은 좋은 해를 구할수는 있어도 최적 해를 구할수는 없음
    • 단 메트로이드 조건을 만족하면 항상 최적의 해를 구할 수 있음

파이썬 람다(lambda) 표현식

  • 익명(=이름이 없는)의 함수를 만들 때 사용
  • (lambda 식별자 배열 : 원하는 식)
  • 이 파라미터들로 표현된 식을 계산하고 결과를 반환하는 함수를 만듬
  • def를 쓰는 대신에 인라인 함수로 정의

출처 : https://www.edwith.org/ds201/lecture/33888

profile
데이터와 사회과학 사이를 여행하는 히치하이커를 위한 안내서

0개의 댓글