생활코딩 - 머신러닝 야학 2기

Kay·2021년 1월 14일
0

후기

마치 커다란 공백처럼 느껴졌던 2020년이 저물고 2021년 새해가 밝았다.
새해에는 더 많은 것들을 공부해보려고 야심차게 계획만 세우던 중에 머신러닝 야학 소식을 접했다.
작심 10일이라는 문구에 홀리듯 참가 신청 버튼을 눌렀다.

머신러닝1과 텐서플로우(javascript) 수업을 수강했다.
머신러닝에 대한 흥미를 불러일으키며 머신러닝 바라보는 시각을 달리 할 수 있도록 돕는 수업들이었다.
특별한 배경지식 없어도 편안하게 들을 수 있었다.
또 수업 중간중간 미래의 자신에게 공부를 유보하고 졸업할 기회를 주시는데 그게 너무 배려깊고 상냥하게 느껴졌다.

야학 기간이 지나도 강의는 언제든 수강할 수 있으니 관심있는 분들은 꼭 한 번 들어보면 좋겠다.
https://ml.yah.ac/

교양 개념으로라도 알아두면 좋을 내용들을 간단히(?) 정리해보았다.

머신러닝이란?

기계를 학습시켜 인간의 판단을 위임하는 것

결정 = 비교 + 선택
숫자는 비교를 위한 가장 중요한 도구다.
남은 것은 선택의 문제인데, 위에서 말한 것 처럼 머신러닝은 기계를 학습시켜 인간의 판단을 위임하기 위함이다.

그렇다면 언젠가 인간의 뇌가 더이상 필요치 않게 되는 것은 아닌지 불안과 의문이 든다.
망원경이 눈의 능력을 확장시켜주는 것처럼 머신러닝은 인간의 판단능력을 더욱 확장시킨다!
망원경이 있다고 눈이 더이상 필요치 않은 것과 같다.

꿈과 궁리하는 습관

해결하고자 하는 문제가 없다면 지식은 목적없는 수단이다.

꿈과 계획은 중요하다!
머신러닝을 이용할 궁리를 시작해보자!

teachable machine 에서 모델만들기
머신러닝에 대한 지식, 원리, 수학, 코딩 없이도 머신러닝을 접해볼 수 있다.

모델 Model

모델 = 판단력 = 교훈 = 이론
모델을 만드는 과정 = 기계에 판단력을 부여 = 학습

https://ml-app.yah.ac/
teachable machine 에서 모델 만들고 업로드 해서 어플을 만들어볼 수 있다!

애플리케이션과 프로그램

먼저 단어의 뜻을 살펴보면,
애플리케이션: 응용
프로그램: 시간, 순서

부품을 응용한다 -> 애플리케이션
부품을 시간의 순서에 따라서 실행되도록 결합한다 -> 프로그램

인류가 이룬 성취의 극치!

사물 인터넷 + 머신러닝
= 사물을 뭔격으로 조정하는 것 뿐아니라 사물에 지능을 부여해 스스로 동작하도록 할 수 있음

사물 인터넷 = 코딩 + 네트워크 + 전자공학 + 기계공학
할 수 있지만 쉽지 않으니, 데이터만 가지고 할 수 있는 일을 고민해보자!

환경 (상황), 불만족(문제), 꿈(구체적인 해결)을 기술적 한계를 고려하지 않고 상상해보자!

직업의 시작

데이터 과학 ( data science )

  • 데이터를 만들고
  • 만들어진 데이터를 이용
  • 책에 비유한다면 작가

데이터 공학 ( data engineering )

  • 데이터를 다루는 도구를 만들고
  • 도구를 관리
  • 책에 비유한다면 종이와 연필을 만들고, 책을 출판하고 정리 정돈해서 도서관을 운영

데이터 과학과 공학은 정신과 육체의 관계와 비슷.
한쪽이 없으면 다른 한쪽이 존재할 수 없기 때문에 사실은 하나!

표 = data set

표는 인류가 만든 시각화 도구 중 가장 위대한 것

  • 가로
  • row
  • 개체 (instance)
  • 관측치 (observed value)
  • 기록 (record)
  • 사례 (example)
  • 경우 (case)

  • 세로
  • column
  • 특성 (feature)
  • 속성 (attribute)
  • 변수 (variable)
  • field

독립변수와 종속변수

독립변수 (Independent Variable): 원인이 되는 열
종속변수 (Dependent variable): 결과가 되는 열

독립변수는 원인
종속변수는 결과
독립변수와 종속변수의 관계를 인과관계라고 한다
인과관계는 상관관계에 포함된다

<머신러닝의 분류>

지도학습 (supervised learning)

  • 기계를 가르친다.
  • 문제와 정답이 존재
  • 데이터로 컴퓨터를 학습시켜 모델을 만드는 방식

비지도학습

  • 지도학습에 포함되지 않는 방법들
  • 기계에 대이터에 대한 통찰력을 부여하는 것
  • 정답을 알려주지 않았는데도 무언가에 대한 관찰을 통해 새로운 의미나 관계를 밝혀내는 것
  • 데이터의 성격을 파악하거나 데이터를 잘 정리정돈 하는 것에 주로 사용

강화학습

  • 학습을 통해 능력을 향상시킨다는 점에서 지도학습과 유사
  • 강화학습은 어떻게 하는 것이 더 좋은 결과를 낼 수 있는지를 스스로 느끼면서 실력 향상을 위해 노력하는 수련과 비슷
  • 경험을 통해 더 좋은 답을 찾아가는 게임실력 키우기와 유사

<지도학습>

지도학습 = 역사
원인 -> 결과

과거의 데이터로부터 학습해서 결과를 예측하는데 주로 사용

과거의 데이터를 독립변수(원인)과 종속변수(결과)로 분리
독립변수와 종속변수의 관계를 컴퓨터에게 학습시키면 컴퓨터는 그 관계를 설명할 수 있는 공식(모델)을 만들어냄.

좋은 모델이 되려면 데이터가 많을 수록, 정확할 수록 좋다!
과거에는 공식이 소수 엘리트들 만의 전유물이었지만 머신러닝의 등장으로 공식의 대중화가 이루어짐.

<회귀 VS 분류>
지도학습 회귀 regression (예측하고 싶은 것이 숫자)
지도학습 분류 classification (추측하고자 하는 결과가 이름 혹은 문자)

<비지도 학습>

  • 비지도 학습은 탐험적
  • 데이터들의 성격을 파악하는 것이 목적
  • 독립변수와 종속변수의 구분이 중요하지 않음.
  • 데이터를 정리정돈 해서 그 표에 담긴 데이터의 성격을 파악하는 것이 목적 (그룹핑)

군집화(clustering)

  • 군집화는 비슷한 관측치(행)를 그룹핑하는 것
  • 군집화 VS 분류
  • 비슷한 것들끼리 모아서 적당한 그룹을 만드는 것 -> 군집화
  • 그룹을 만들고 각각의 물건을 적당한 그룹에 위치 (어떤 그룹에 속하는지 판단) -> 분류

연관규칙학습 (Association rule learning): 장바구니 학습

  • 연관성을 파악할 수 있다면 고객이 미처 구입하지 못했지만 구입할 가능성이 매우 높은 상품을 추천해줄 수 있음.
  • 추천이 이름 뒤에 붙은 것들은 거의 다 연관규칙을 이용한 것
  • 서로 관련있는 특성(열)을 찾아주는 머신러닝 기법

변환(transform)
-> 데이터를 새롭게 표현해서, 분석가 또는 다른 머신러닝 알고리즘이 원본 데이터에 비해 쉽게 데이터를 해석할 수 있도록 만드는 과정
ex) 차원축소
-> 고차원 데이터의 특성수를 줄여서(중요하지 않은 데이터를 빼는 작업) 꼭 필요한 특징만 포함된 데이터로 표현하는 것

<강화학습>

reinforcement Learning
강화학습의 핵심은 일단 해보는 것

지도학습은 배움을 통해 실력을 키우고 강화학습은 일단 해보면서 경험을 통해 실력을 키움
그 행동의 결과가 유리하면 -> 상 불리하면 -> 벌

이 과정을 매우 많이 반복하면 더 많은 보상을 받을 수 있는 더 좋은 답을 찾아낼 수 있다!

  • 게임 실력을 키워가는 것도 강화학습과 비슷함
  • 게임 -> 환경 (environment)
  • 게이머 -> 에이전트 (agent)
  • 게임화면 -> 상태 (state)
  • 게이머의 조작 -> 행동 (action)
  • 상과 벌 -> 보상 (reward)
  • 게이머의 판단력 -> 정책 (policy)

“ 더 많은 보상을 받을 수 있는 정책을 만드는 것이 핵심 “

-끝-

profile
new blog✨ https://kay-log.tistory.com/

0개의 댓글