[생활코딩] Machine learning 회고

MinWoo Park·2021년 2월 18일
0

Retrospect

목록 보기
5/11
post-thumbnail

생활코딩 Machine learning 강좌를 완료하였습니다.
회고를 통해 앞으로의 어떤 태도로 무엇을 학습할지 고민하는 시간을 갖도록 하겠습니다.


해당 강좌를 선택한 이유❓

생활코딩이 무언갈 처음 배울 때 길잡이 역할에 큰 도움이 되었음을 경험했기에 해당 강좌를 통해 머신러닝에 입문하게 되었습니다.


무엇을 배웠나 ✍️

  • 머신러닝의 전반적인 개념
  • 머신러닝에서 사용되는 용어
  • 머신러닝의 분류
  • 표에 대한 개념

머신러닝(Machine Learning)

  • 인공지능을 구현하는 기술
  • 기계를 학습시켜서 인간의 판단을 위임하기 위해 고안된 기술
  • ex) 전염병의 양성판정, 자동번역, 자율주행...

모델(Model)

  • 머신러닝을 만든 사람들이 판단력을 지칭할 때 사용하는 용어

학습(Learning)

  • 모델(판단력)을 만드는 과정을 학습이라고 함

표(Table, Data set)

  • 으로 이루어진 데이터의 모임
  • 표를 테이블(Tabel) 혹은 데이터 셋(data set)이라고 표현하기도 함

독립변수, 종속변수

  • 독립변수란 원인이 되는 열
  • 종속변수란 결과가 되는 열
  • ex)

‘온도가 20도일 때 레모네이드 40잔이 팔렸다.’

여기서 원인은 온도 20도이고 결과는 판매량 40잔입니다.
원인은 결과와 상관없이 일어나는 사건
(판매량 때문에 온도가 달라질리가 없음)

즉, 결과에 영향을 받지 않는 독립적인 사건

하지만 결과는 원인에 종속되어서 발생한 사건입니다.

그래서 원인은 독립적이기 때문에 ‘독립변수’,
결과는 원인에 종속되어 있기 때문에 ‘종속변수'라고 합니다.

표를 만났을 때, 제일 먼저 떠올려야 하는 개념


상관관계, 인과관계

  • 한쪽의 값이 바뀌었을 때, 다른 쪽의 값도 바뀐다면, 두 개의 특성을 ‘서로 상관이 있다’고 추측할 수 있고, 이런 관계를 ‘상관관계’라고 함.

  • 각 열이 원인과 결과의 관계일 때 인과관계가 있다고 합니다.

  • 모든 인과관계는 상관관계입니다. 하지만, 모든 상관관계가 인과관계인 것은 아님
    특성들 사이의 관계를 파악하는 것은 매우 어렵고, 조심스럽게 접근해야 하는 작업입니다.


  • 온도와 판매량이 같이 변하고 있기 때문에, 온도와 판매량은 서로 상관관계가 있다고 볼 수 있음

  • 위의 사실을 종합하면 ‘온도’는 ‘원인’이고, ‘판매량’은 ‘결과’라고 할 수 있음

머신러닝의 분류

  • 지도학습(supervised learning)
  • 비지도학습(unsupervised learning)
  • 강화학습(reinforcement learning)

지도학습(supervised learning)

  • 데이터로 컴퓨터를 학습시켜서 모델을 만드는 방식
  • 원인인 독립변수와 결과인 종속변수가 필요함
  • 분류, 회귀라는 방법이 있음

비지도학습(unsupervised learning)

  • 무엇인가에 대해서 관찰을 통해 새로운 의미나 관계를 밝혀내는 방식
    즉, 데이터들의 성격을 파악하는 것이 목적
  • 독립변수와 종속변수의 구분이 중요하지 않으며 데이터만 있으면 됨
  • 군집화, 변환, 연관이라는 방법이 있음

강화학습(reinforcement learning)

  • 더 좋은 보상을 받기 위해 기계 스스로 수련하게 하는 방식
  • 현실에서 게임-게이머의 관계로 예시

게임의 실력을 키워가는 과정

  1. 우선 게임은 게이머에게 현재의 상태를 보여줍니다. 캐릭터는 어디에 있고, 장애물은 어디에 있는지 알려줍니다.
  2. 동시에 현재의 점수도 알려줍니다. 게이머는 이 값이 높아지는 것이 상이고, 장애물에 부딪히는 것이 벌입니다.
  3. 관찰의 결과에 따라서 어떤 상태에서 어떻게 행동해야 더 많은 상을 받고, 더 적은 벌을 받을 수 있는지를 알게 됩니다.
  4. 즉, 판단력이 강화된 것입니다.
  5. 판단에 따라서 행동을 합니다.
  6. 그 행동은 게임에 변화를 주게 됩니다.
  • 강화학습에서 사용하는 용어로 변경 시
    • 게이머 ➡️ 에이전트(agent)
    • 게임화면 ➡️ 상태(state)
    • 게이머의 조작 ➡️ 행동(action)
    • 상과 벌 ➡️ 보상(reward)
    • 게이머의 판단력 ➡️ 정책(policy)

분류(classification)

  • 어떤 문제에서 예측하고 싶은 결과가 범주(categorical)일 때 사용
  • 여기서 범주란 문자를 뜻함

회귀(regression)

  • 어떤 문제에서 예측하고 싶은 결과가 양적(quantitaive)일 때 사용
  • 여기서 양적이란 숫자를 뜻함

군집화(clustering)


군집화는 서로 가까운 관측치를 찾아주는 머신러닝의 기법이라는 것을 알 수 있습니다.
좌표상에서 가깝다는 것은 데이터가 서로 비슷하다는 의미와 같습니다.

  • 비슷한 을 그룹핑하는 것
  • 군집화와 분류를 비교한다면,
    군집화는 어떤 대상들을 구분해서 그룹을 만드는 것이고,
    분류는 어떤 대상이 어떤 그룹에 속하는지를 판단하는 것

변환(transform)

  • 데이터를 새롭게 표현하여 사람이나 다른 머신러닝 알고리즘이 원래 데이터보다 쉽게 해석할 수 있도록 만드는 알고리즘

연관 규칙 학습(association rule learning)

  • 비슷한 을 그룹핑 하는 것
  • ex) 장바구니 분석, 음악 추천, 검색어 추천...

앞으로의 계획 🏃‍♂️

수업 중 가슴에 와닿는 말씀이 있었습니다.

"꿈이 있는 사람이 몽상가가 아니라,
혁명가가 될 수 있는 시대가
바야흐로 오고 있는 것입니다.

꿈을 꿉시다.

계획을 세워봅시다.

우리 수업이 추구하는 궁극의 목적은
여러분이 머신러닝이라는 도구를 이용할 궁리를
시작하도록 하는 것입니다."

수업이 끝난 시점 스스로에게 질문 하였습니다.
"나는 지금 머신러닝이라는 도구를 이용할 궁리를 하고 있는가?"

저는 "그렇다." 라고 자신있게 답합니다.

이번 수업이 추구하는 궁극적인 목적을 달성했으니 제가 꿈 꾸는 일을 현실화할 수 있도록 생활코딩에서 제공하는 텐서플로우(Tensor flow)강의를 통해 꿈에 한 발짝 더 다가가려 합니다.


수료증

profile
물음표를 느낌표로 바꾸는 순간을 사랑하는 개발자입니다.

0개의 댓글