일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- css
- ㅐㄱ이
- 20492번
- jquery
- error
- 개인정보수집유효기간
- 22938번
- 스파르타코딩클럽
- useState
- MongoDB
- 장고이미지처리
- SEF2022
- 프로그래머스입문
- React
- html
- 참가후기
- 반응형
- sql
- 네이버커넥트재단
- 스파르타
- 파이썬무료강의
- 파이썬
- 코딩기초트레이닝
- django multi image
- 무료강의
- GIT
- 프로그래머스
- python
- 프론트엔드
- 장고 다중이미지
- Today
- Total
코딩,해볼까
05.20 - 05.21 머신러닝 강의 정리 본문
1주차
🦾 머신러닝이란?
복잡한 문제를 기계에게 풀이할 수 있도록 한 것이 출발.
학자들이 정한 문제를 해결하는 정해진 절차, 공식화한 형태.
🦾 딥러닝이란?
머신러닝의 작은 분류 중 하나
🦾 머신러닝의 종류
1. 문제를 풀 때 해답을 내는 방법
- 회귀(regression) : 연속적인 값을 구하고 싶어요.
ex) 사진으로 사람의 나이를 구하기 (1살 2살...20살...50살...) - 분류(classification) : 비연속적인 값을 구하고 싶어요.
1. 이진 분류 : 둘 중 하나를 구할 때 ex) 시험 문제 이수 여부 출력 : fail, pass (중간에 어떤 값이 없다.)
2. 다중 분류 (Multi-class/label classification) ex) 시험 성적 출력 : A, B, C, D, F) : 불연속적인 문제(비연속적인 문제) 에서 분류를 하는 것
여기서 잠깐! 회귀랑 다중 분류 뭐가 달라? 👀
어떤 문제들은 회귀로도, 다중 분류로도 문제를 풀 수가 있다고 한다.
1. 회귀 풀이
회귀로 문제를 풀면 나이를 float 형태로 출력받는다.
2. 다중 풀이
클래스로 문제를 풀면 나이를 범위로 쪼개어서 2, 4, 8 등의 클래스로 출력받을 수 있다.
문제를 정의할 때 입력값, 출력값을 미리 정리한 후에 출력값에 따라서 문제에 접근하는 것이 편하다.
2. 머신러닝에서 학습하는 방법
- 지도학습 : 정답값을 가진 경우에 정답을 알려주어 학습을 시킨다. 라벨링, 레이블링, 어노테이션
- 비지도학습 : 정답값을 가지고 있지 않은 상태에서 니가 알아서 학습해봐 라고 한다.
- 강화학습 : 게임, 실시간 처리에 많이 사용된다. ex) 알파고
3. 선형 회귀
맨 처음 과학자들에게 풀리지 않는 문제들은 모두 선형으로 설명할 수 있다는 가정을 하며 시작되었다. 가설은 사람이 정해주고 학습과 풀이를 기계한테 시키는 것이다.
네개의 데이터(점) 을 임의의 직선(한 개로 이 그래프를 표현할 수 있다. ( = 선형 회귀 = 가설 / 점을 잇는 것은 아니다.) 이 과정을 통해 선과 점의 거리를 최대한 같게 만들어 주는 것이 목표이다.
4. 경사하강법
그래프를 따라 내려가면서 cost를 계산하며 작은 쪽으로 이동한다.
Learning rate (점이 한번에 움직이는 거리) 를 잘 조절하여 학습하는 것이 중요하다.
너무 크게 해버리면 Overshooting되어 튕겨나와 무한대를 그릴수도 있으므로 값을 잘 바꿔가며 학습해야한다.
가장 아래쪽을 찾아 학습하는 것이 목표이다.
하지만 이 그래프가 반듯한 U자를 그리지 않는다. 가장 아래를 찾아 그래프가 업다운을 반복하다보면 수렁에 빠질 때가 있다.(local minimum) 이것을 찾고, 빠져나가는 것이 어렵고 많은 실험을 거치게 된다.
5. 데이터셋 분할
아래 3가지의 set들은 따로따로 작업한다.
Training = 교과서 = 학습
Validation = 모의고사 = 성능 검증, 튜닝
Testing = 수능
2주차
1. 논리 회귀란? Logistic function ( = Sigmoid function)
선형 회귀로 풀기 어려운 문제가 등장!
어떤 문제에서 출력값을 0 또는 1로 출력하는 이진 클래스(Binary class)로 나타낼 수 있을 때, 이진 논리 회귀(Binary logistic regression) 를 사용한다. 그래프로 나타내봐도 왼쪽(선형 회귀) 보다는 오른쪽(논리 회귀) 이 훨씬 좋다.
로지스틱 함수의 결과값은 항상 0~1 사이의 값이 된다.
딥러닝에서는 직선이 아닌 S 커브 형태의 곡선을 띄는 이 함수를 시그모이드(sigmoid) 라 한다.
2. 다항 논리 회귀 Multinomial logistic regression
- One-hot encoding : 다항 논리 회귀 문제를 풀 때, 결과값을 가장 예쁘게 표현해주는 방법. 라벨의 값을 전부 더하면 1(100%) 이 된다.
- Softmax 함수와 손실함수 : 모델에서 나온 결과를 모두 더하면 1이 되도록 만들어주는 함수
- Keras에서 다항 논리 회귀 : categorical_crossentropy 손실 함수를 사용한다. 로직은 동일하다.
3. 다양한 머신러닝 모델
- Support vector machine (SVM)
- k-Nearest neighbors (KNN)
- Decision tree (의사결정나무)
- Random forest
4. 머신러닝 전처리
- 데이터 정제 작업. 필요없는 데이터는 지우고, 필요한 데이터만 사용한다.
- null 또는 숫자가 아닌 행을 삭제한다.
- 정규화(Normalization) : 데이터를 0~1 사이의 범위를 가지도록 만든다. 0<1
- 표준화(Standardization) : 데이터를 정규분포표로 바꾼다. 데이터의 평균은 0, 표준편차는 1이 된다.
'Back > TIL' 카테고리의 다른 글
05.23. [리치메이커_project. 2] 챌린지 게시물 작업 (1) (0) | 2023.05.23 |
---|---|
05.22. [리치메이커_project. 1] 프로젝트 S.A. / 간단한 로고와 html의 nav바, footer 작업 (0) | 2023.05.23 |
05.19. 팀원들과 알고리즘 풀이 / 백준 / 별 찍기 강아지 세금 소수 찾기 (4) | 2023.05.19 |
05.18. 팀원들과 알고리즘 풀이 / 백준 / 별찍기 윤년 고양이 백발백준 (2) | 2023.05.18 |
05.13. [술술술_project. 6] MyPage Javascript 작업 (2) (0) | 2023.05.13 |