※이는 생활코딩 Machine learning 1을 듣고 정리한 내용입니다.
https://youtube.com/playlist?list=PLuHgQVnccGMDy5oF7G5WYxLF3NCYhB9H9
1. 오리엔테이션
머신러닝 = 기계학습
기계를 학습시켜서 인간의 판단을 위임하기 위해서 고안된 기술
2. 머신러닝이란?
결정 = 비교 + 선택
무엇이 더 좋고 무엇이 더 나쁜지를 비교할 수 있다면 선택은 기계적인 일이다
But, 비교가 쉽지 않을 때가 많음
a와 b의 대소 관계를 모르거나 비교해야 할 특징이 너무 많을 때 결정을 내리는 일은 어려움
인류는 인간의 고유한 영역으로 남아 있던 결정을 기계에게 맡기고 싶어 함
하나를 가르치면 열을 안다
-> 공부를 하면 똑같은 문제뿐만 아니라 비슷한 문제도 해결할 수 있는 총명한 사람을 두고 하는 말
이러한 총기를 기계에게 부여해서 스스로 결정할 수 있도록 할 수 있다면 얼마나 좋을까라는 꿈을 꾼 사람들에 의해서 만들어진 기술이 바로 기계학습
머신러닝은 우리의 두뇌가 가진 중요한 기능인 판단능력을 확장해서 우리의 두뇌가 더욱더 빠르고 정확하게 결정할 수 있도록 돕는 기가 막힌 도구
3. 꿈
해결하고자 하는 문제 : '습관'
-> 습관을 고치는 데에 머신러닝을 이용
내 의지만으로 습관을 이기기 힘들다
습관에 지속적인 영향을 주는 환경이 바뀌면 습관은 서서히 변한다
그런 환경을 바꾸는 것은 나의 의지이다
즉,
습관은 의지를 이긴다
의지는 환경을 이긴다
환경은 습관을 이긴다
의지로 환경을 조정해서 환경이 습관을 손봐주는 우회 전략을 구사
환경을 바꾸는 것은 쉬운 일이 아님
-> 이러한 환경을 만드는 데 머신러닝을 이용
4. 궁리하는 습관
일 = 꿈 + 능력
꿈은 능력이 있어야 현실이 될 수 있고 능력은 꿈이 없다면 현실에 존재할 이유가 없다
꿈과 능력은 나눌 수 없다
원리 수학 코딩
머신러닝은 원리를 이용해서 수학과 코딩으로 만들어진 것
언젠간 머신러닝으로 궁극의 목적을 달성하기 위해서는 수학과 코딩이 필요할 것
하지만 처음부터 필요하지는 않음
머신러닝으로 다양한 문제를 해결하다 보면 한계를 느낌
-> 그때 코딩과 수학을 공부하여도 늦지 않음
꿈만 꾸는 사람은 종종 몽상가로 치부됨
하지만 과학 기술이 발전하면서 꿈을 실현하는 방법이 쉬워짐
꿈이 있는 사람이 혁명가가 될 수 있는 시대가 오고 있음
5. Teachable machine
머신러닝을 이해하기 위해서는 꼭 수학과 코딩을 알아야 하는 것은 아니다
Teachable machine
머신러닝에 대한 지식이 없이도 머신러닝을 이용할 수 있도록 고안된 도구
기계를 학습시켜서 정확한 판단력을 갖게 한다는 점
-> 머신러닝
'판단력' 대신 '모델'을 사용
6. 모델
교훈과 이론은 판단력의 다른 이름이다
좋은 판단력은 나의 삶과 인류의 진보에 필수적인 도구
머신러닝이란 바로 이러한 판단력을 기계에게 부여하는 기술
머신러닝을 만든 사람들은 이러한 판단력을 모델이라고 부르기로 함
또 이 모델을 만드는 과정을 학습이라고 부르기로 함
모델을 잘 만들고 나면 좋은 추측을 할 수 있음
학습이 잘 돼야 좋은 모델을 만들고 모델이 좋아야 더 좋은 추측을 할 수 있음
추측이 정확해야 좋은 결정을 할 수 있음
7. 머신러닝머신
(실습 - 직접 구상?)
8. 애플리케이션과 프로그램
애플리케이션과 프로그램은 같은 것을 가리키는 다른 표현
애플리케이션 : 응용
어떤 기능을 부품으로 해서 만든 완제품
부품을 응용한 것
머신러닝의 모델이라는 부품을 응용해서 만든 소프트웨어
-> 머신러닝 애플리케이션
프로그램
과거의 음악회와 같은 곳에서 시간의 순서에 따라서 곡이 연주되는 바로 그 순서
즉 프로그램이란 말속 깊은 곳에는 시간, 순서라는 의미가 포함
생각해보면 우리가 하는 모든 일이 시간의 흐름에 따라서 순서대로 일어남
-> 즉, 시간의 순서에 따라서 동작하고 있는 것
기계가 해야 할 일을 기계가 알아들을 수 있는 방식으로 순서대로 적으면 그것이 프로그램
기계는 그것을 보고 해야 할 일을 순서대로 실행하는 것
이런 프로그램을 만드는 일을 프로그래밍
프로그램을 만드는 사람을 프로그래머
9. 모르면 마법, 알면 기술
사물인터넷 : 인터넷으로 사물을 제어한다
Internet of Things = IoT
머신러닝 마법
머신러닝을 도입하면 어떤 기능을 실행할 것인가를 장치 스스로 판단할 수 있게 됨
장치에 연결된 여러 가지 센서들을 통해서 데이터를 수집한 후에 그 데이터의 의미를 머신러닝의 모델이 판단
그 판단의 결과에 따라서 여러 가지 결정을 기계 스스로 할 수 있게 됨
사물인터넷 = 코딩 + 네트워크 + 전자공학 + 기계공학
10. 교양의 끝
11. 직업의 시작
아이디어를 현실화하기 위해서는 데이터가 필요
복잡한 현실에서 관심사만 뽑아서 단순한 데이터로 만들어야 함
현실을 데이터화할 수 있다면 복잡한 현실에서 발견하기 어려운 통찰을 단순해진 데이터로부터 찾아낼 수 있음
이를 통해서 현실을 변화시키는 일을 하는 것이 데이터 산업
데이터 산업은 데이터 과학과 데이터 공학으로 분리
데이터 과학은 데이터를 만들고 만들어진 데이터를 이용하는 일
데이터 공학은 데이터를 다루는 도구를 만들고 도구를 관리하는 일
데이터 과학이 데이터 자체를 다룬다면 데이터 공학은 데이터를 다루는 것을 도와주는 분야
구분되는 것처럼 보이지만 한쪽이 없으면 다른 한쪽이 존재할 수 없기 때문에 하나라고 할 수 있음
12. 표
아무리 복잡한 데이터라도 표 안에 속박할 수 있다면 단정하게 정리정돈 할 수 있음
여기에 머신러닝을 투입한다면 인간만이 지닐 수 있다고 여겨졌던 통찰력을 기계도 발휘할 수 있게 됨
가로 - 행(row)
세로 - 열(column)
표는 데이터들의 모임, 데이터 세트
각각의 행은 각각의 하루를 나타냄
각각의 열은 각각의 하루가 가진 속성을 나타냄
데이터 산업에서는 이 행과 열이라는 표현 대신에 조금 더 복잡하고 어려운 표현을 사용
행 - 개체, 관측치, 기록, 사례, 경우
열 - 특성, 속성, 변수, field
각각의 데이터를 행에 적고 그 데이터의 속성을 열로 구분
-> 이를 이해하는 것이 데이터 분야에 입문하는 가장 중요한 출발
13. 독립변수와 종속변수
표 속에 구속된 데이터에서 의미 있는 정보를 뽑아낼 수 있어야 함
-> 이에 능한 사람을 통찰력이 있다 함
변수 variable
표에 대한 얘기를 하면서 변수를 얘기하면 그것은 열을 의미하는 것
독립변수는 원인이 되는 열
종속변수는 그 원인으로 인해서 결과가 되는 열
원인은 결과와 상관없이 일어나는 사건
결과에 영향을 받지 않는 독립적인 사건
-> 원인은 독립적이기 때문에 독립변수
하지만 결과는 원인에 종속되어서 발생한 사건
-> 결과는 원인에 종속되어 있기 때문에 종속변수
한쪽의 값이 바뀌었을 때 다른 쪽의 값도 바뀐다면 2개의 특성은 서로 관련이 있다고 추측
-> 이때 두 개의 특성을 서로 상관이 있다고 함
-> 이러한 관계를 상관관계라고 함
각 열이 원인과 결과의 관계일 때 그 두 개의 열은 인과관계에 있다고 함
->독립변수와 종속변수의 관계를 인과관계라고 함
인과관계는 상관관계에 포함된다.
즉, 인과관계는 모든 상관관계이다.
하지만 모든 상관관계가 인과관계는 아니다.
14. 심리전
15. 머신러닝의 분류
기계학습은 지도학습, 비지도학습, 강화학습으로 이루어져 있다
지도학습은 분류, 회귀
비지도학습은 군집화, 변환, 연관
지도학습(supervised learning)
'지도'는 기계를 가르친다는 의미
데이터로 컴퓨터를 학습시켜서 모델을 만드는 방식
-> 문제와 정답을 비교하고 맞추다 보면 점점 문제를 푸는 것이 익숙해짐
-> 이후에는 비슷한 문제를 만나면 오답에 빠질 확률이 점점 낮아짐
비지도학습(unsupervised learning)
기계에게 데이터에 대한 통찰력을 부여하는 것
(통찰 : 예리한 관찰력으로 사물을 꿰뚫어 봄)
-> 무언가에 대한 관찰을 통해 새로운 의미나 관계를 밝혀내는 것
데이터의 성격을 파악하거나 데이터를 잘 정리정돈 하는 것에 사용
강화학습(reinforcement learning)
학습을 통해서 능력을 향상시킨다는 점
-> 지도학습과 비슷
지도학습이 정답을 알려주는 문제집이 있는 것이라면
강화학습은 어떻게 하는 것이 더 좋은 결과를 낼 수 있는지를 스스로 느끼면서 실력 향상을 위해 노력하는 수련
경험을 통해 더 좋은 답을 찾아가는 것
지도학습 : 정답이 있는 문제를 해결하는 것
비지도학습 : 무언가에 대한 관찰을 통해 새로운 의미나 관계를 밝혀내는 것
강화학습 : 더 좋은 보상을 받기 위해서 수련하는 것
16. 지도학습
역사와 비슷
과거의 데이터로부터 학습해서 결과를 예측하는 데 주로 사용
머신러닝의 지도학습을 이용하기 위해서는 충분히 많은 데이터를 수집해야 함
또 데이터는 원인인 독립변수와 결과인 종속변수로 이루어져 있어야 함
-> 지도학습으로 훈련시키면 컴퓨터는 모델을 만듦
지도학습을 하기 위해서는 우선 과거의 데이터가 있어야 함
그리고 그 데이터를 독립변수와 종속변수로 분리
독립변수와 종속변수의 관계를 컴퓨터에게 학습시키면 컴퓨터는 그 관계를 설명할 수 있는 공식을 만들어냄
이 공식을 머신러닝에서는 모델이라고 함
좋은 모델이 되려면 데이터가 많을수록 정확할수록 좋다
그렇게 학습시키면 아직 결과를 모르는 원인을 모델에 입력했을 때 모델이 결과를 순식간에 계산해서 알려줌
17. 회귀
regression
예측하고 싶은 종속변수가 숫자일 때 사용
18. 분류
classification
어지럽혀져 있는 대상이 있을 때 그것을 성격에 맞는 이름으로 구분해서 그룹핑하는 것이 분류 작업
이것이 지도학습인 이유
1. 과거에 만든 데이터를 통해서 배우기 때문
2. 이 데이터가 독립변수와 종속변수로 이루어져 있기 때문
추측하고자 하는 결과(종속변수)가 숫자가 아닌 이름이나 문자일 때 사용
19. 군집화
clustering
비슷한 것들을 찾아서 그룹을 만드는 것
-> 군집화 vs 분류
어떤 대상들을 구분해서 그룹을 만드는 것이 군집화
어떤 대상이 어떤 그룹에 속하는지를 판단하는 것이 분류
서로 비슷한 행을 찾아내는 것
비슷한 행을 그룹핑하는 것
20. 연관규칙학습
Association rule learning
추천
서로 관련이 있는 특성 열을 찾아주는 머신러닝 기법
관측치를 그룹핑 해주는 것 - 군집화
특성을 그룹핑 해주는 것 - 연관규칙
21. 비지도학습 정리
비지도
탐험적 - 데이터들의 성격을 파악하는 것이 목적
독립변수 종속변수의 구분이 중요하지 않음 - 데이터만 있으면 됨
지도
역사적 - 과거의 원인과 결과를 바탕으로 결과를 모르는 원인이 발생했을 때 그것은 어떠한 결과를 초래할 것인가를 추측하는 것이 목적
원인인 독립변수와 결과인 종속변수가 꼭 필요
데이터의 성격을 파악하는 것이 목적
군집화와 연관규칙만을 놓고 봤을 때 데이터의 성격을 파악하는 작업은 비슷한 것은 모으고 다른 것은 떨어뜨리는 것
-> 즉, 그룹핑을 하는 것
22. 강화학습
reinforcement learning
일단 해보는 것
-> 일단 해보면서 경험을 통해서 실력을 키워 나가는 것
게임 - 환경(environment)
게이머 - 에이전트(agent)
상태 - 상태(state)
상/벌 - 보상(reward)
판단력 - 정책(policy)
행동 - 행동(action)
-> 강화학습은 상태에 따라서 더 많은 보상을 받을 수 있는 행동을 에이전트가 할 수 있도록 하는 정책을 만드는 것이 목적
23. 머신러닝 지도
24. 수업을 마치며
'Study > AI' 카테고리의 다른 글
[AI][ML]데이터 스케일링 (0) | 2022.07.20 |
---|---|
로지스틱 회귀 (0) | 2022.06.04 |
[AI]작업 흐름 (0) | 2021.02.09 |
[AI][Deep learning]행렬의 내적(행렬 곱) (0) | 2021.02.06 |
[AI][Deep learning]오차 역전파 (0) | 2021.01.28 |