Giter VIP home page Giter VIP logo

optimization's Introduction

Algorithms for Optimization

  • ๊ฒฝ๊ธฐ๋Œ€ํ•™๊ต ์ตœํ˜„์ง‘ ๊ต์ˆ˜๋‹˜์˜ 2020๋…„๋„ 2ํ•™๊ธฐ "์ตœ์ ํ™” ๋ฐฉ๋ฒ• ๋ฐ ์‹ค์Šต" ๊ฐ•์˜ ์ •๋ฆฌ

    • Algorithms for Optimization (Mykel J.Kochenderfer and Tim A.Wheeler) ๊ต์žฌ ๊ธฐ๋ฐ˜
  • ์ตœ์ ํ™”์— ๊ด€ํ•œ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ

    • ๋‚˜๋ฆ„ ์—ด์‹ฌํžˆ ๋“ค์—ˆ์ง€๋งŒ ์–ด๋ ค์› ๋‹ค.
    • ํ”ผ์ƒ์ ์œผ๋กœ๋งŒ ์ดํ•ดํ•ด์„œ ๋‚˜์ค‘์— ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ํ•„์š” ์žˆ์Œ.

์ˆ˜์—…์—์„œ ๋Š๋‚€ ์ 

  • hyper parameter์˜ ์ค‘์š”์„ฑ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    • 2019๋…„๋„ ๊ฒจ์šธ๋ฐฉํ•™๋•Œ ์ฐธ์—ฌํ•œ kaggle "ํƒ€์ดํƒ€๋‹‰ ์ƒ์กด์ž ์˜ˆ์ธก"ํ”„๋กœ์ ํŠธ์—์„œ, RMSE ์ˆ˜์น˜๋ฅผ ๋‚ฎ์ถ”๊ธฐ ์œ„ํ•ด ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ๋ฐค์ƒˆ๋„๋ก ์กฐ์ •ํ•ด ํŒ€์› ์ค‘์—์„œ ๊ฐ€์žฅ ๋‚ฎ์€ RMSE ๊ฒฝํ—˜ํ–ˆ๋‹ค.
    • ํ†ต๊ณ„ ๊ธฐ์ดˆ๊ณผ๋ชฉ์ธ ํšŒ๊ท€๋ถ„์„๋„ ๋ฐฐ์šฐ์ง€ ์•Š์•„์„œ RMSE๋ผ๋Š” ๊ฐœ๋…๋„ ๋ชจ๋ฅด๊ณ , ์•„๋Š”๊ฒŒ ๊ฑฐ์˜ ์—†๋Š” ๋น„์ „๊ณต์ž ์ƒํƒœ์˜€๋‹ค.
    • ๊ด€๋ จ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚œํ›„, ๋‹ค๋ฅธ ์กฐ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋“ค์œผ๋ฉด์„œ grid-search๋ฅผ ์ด์šฉํ•ด์„œ ์ตœ์ ์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ ๋‚˜์„œ ๋น„ํšจ์œจ์ ์ธ ์ผ์„ ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
    • ๋‚˜๋Š” ๋ฐค ์ƒˆ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์กฐ์ •ํ–ˆ๋Š”๋ฐ ๋‹ค๋ฅธ ์กฐ๋“ค์€ grid-search ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ๊ฐ€์žฅ ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ์•˜๊ณ  ๋ชจ๋ธ๋ง์— ๋” ์‹ ๊ฒฝ์„ ์จ์„œ ์šฐ๋ฆฌ ์กฐ ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋„์ถœํ–ˆ๊ณ , ์ง€๊ตฌ์˜ ๊ณก๋ฉด๊นŒ์ง€ ๊ณ„์‚ฐ์„ ํ•˜๋Š” ๋ชจํ˜•์„ ์„ค๊ณ„ํ–ˆ๋‹ค. (๋‚˜์ค‘์— ์•Œ์•˜์ง€๋งŒ ์ƒ์œ„ ์ปค๋„์„ ๋ณด๊ณ  ๋”ฐ๋ผํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚˜๋Š” ์ด ๋•Œ ์ƒ์œ„ ์ปค๋„์„ ๋ณด๋Š” ๋ฒ•์„ ์•„์˜ˆ ๋ชฐ๋ž๊ณ  ๊ทธ๋Ÿฐ๊ฒŒ ์žˆ๋Š” ์ค„๋„ ๋ชฐ๋ž๋‹ค.)
    • ํ•˜์ง€๋งŒ ์ด ์ˆ˜์—…์„ ํ†ตํ•ด ์ง์ ‘ hyper parameter๋ฅผ ์กฐ์ •ํ•˜๋ฉฐ ๋ชจํ˜•์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€ ํŒŒ์•…ํ–ˆ๋˜ ๊ฒฝํ—˜์ด ์ ˆ๋Œ€ ํ—›๋œ ๊ฒฝํ—˜์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ์ฝ”๋“œ ํ•œ ์ค„์—๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ์ด๋ก ์  ๋ฐฐ๊ฒฝ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.

    • 20๋…„๋„ 1ํ•™๊ธฐ ๋Œ€์™ธํ™œ๋™์—์„œ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ณ  ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ, tf.keras.optimizers.Adam ์ด๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด Adam์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ ์ด ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ Adam์ด ๋‚˜์˜ค๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •๊ณผ ๊ตฌ์ฒด์ ์ธ ์ˆ˜์‹ ๋“ฑ์„ ๋ฐฐ์šฐ๋ฉฐ ํ•œ ์ค„์งœ๋ฆฌ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„๋œ๋‹ค๊ณ  ํ•ด์„œ ๊ด€๋ จ ์ด๋ก  ๊ณต๋ถ€๋„ ์†Œํ™€ํžˆ ํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๋‹ค.
    • ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ฝ”๋“œ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๋‹ค.
      • "์ดํ•ด"๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ”๋“œ๋ฅผ "๊ตฌํ˜„"ํ•˜์ž~
  • ์ตœ์ ํ™”๋Š” ์–ด๋ ต๋‹ค~!

๋ชฉ์ฐจ

  1. Introduction
  2. ๋„ํ•จ์ˆ˜(Derivate), ๊ฒฝ์‚ฌ๋„(Gradient)
  3. ๊ตฌ๊ฐ„๋ถ„ํ• ๋ฒ• (Bracketing)
  4. ๊ตฌ๊ฐ„ ๋ถ„ํ• ๋ฒ•๊ณผ ๊ฒฝ์‚ฌ๋ฒ•(Local Descent)
  5. ๊ฒฝ์‚ฌ๋ฒ•
  6. ๊ฒฝ์‚ฌ๋ฒ•2
  7. sympy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ์‹ค์Šต
  8. ์ผ์ฐจ ๋ฏธ๋ถ„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•๋“ค
  9. ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• (Gradient Descent)
  10. ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•2 (Gradient Descent)
  11. ์ด์ฐจ๋ฏธ๋ถ„ ๊ทผ์‚ฌ๋ฒ•
  12. ํ™•๋ฅ ์ ์ธ ๋ฐฉ๋ฒ•๋“ค (Stochastic Methods)
  13. ์œ ์ „์ž ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Genetic Algorithm)
  14. Surrogate Models

optimization's People

Contributors

ggoyounghee avatar

Watchers

 avatar

Forkers

youngheeggo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.