728x90

<스터디 진행 방식>

시작 날짜: 2020.12.28~2021.2.28 

진행방식: 양질의 강의를 매주 일정량 듣고 주 1회간단한 레포트 형식의 내용요약 ,감상문 공유 및 상호간 피드백 

 

강의는 '모두의 딥러닝' , 'Edwith' 를 들었습니다.

 


Supervised Learning 지도학습 이란?

머신러닝에서 supervised learning이란, 이미 정해진 데이터들이 있고, 우리는 이 데이터들을 training set 또는 training data라고 합니다. 그 데이터들을 학습을 하는것이 바로 supervised learning이라고 합니다. 예를 들어서 고양이나 개의 그림을 가져다 놓고 "이건 고양이야", "이건 개야" 라고 학습을 계속 시키다가 training data가 아닌 다른 새로운 데이터를 가지고 왔을때 개인지 고양이 인지 구분 시키는 것을 말 하는것 이죠.

regression model 이란?

regression model이란, Supervised Learning에서도 어떤 값(x)이 들어 올때, 결과값(y)를 예측 하는 모델 입니다. 아래 자료도 한번 같이 보겠습니다. 왼쪽 x는 학습시간, 결과인 y는 점수를 뜻합니다. 10시간 공부했을때 90점을 획득했고, 3시간 공부했을때는 50점을 획득 한다는 의미 인 것이죠. 이런 데이터로 학습을 하여 7시간 공부했을 때는 과연 몇점을 획득 할 수 있을까? 하는것이 바로 이 regression model 입니다.

regression model data

실습 데이터

자, 첫번째 실습으로 아주 간단한 데이터를 준비해주셨더라구요. 이 데이터를 통해서 한번 Supervised Learning의 regression model을학습해보도록하겠습니다. 학습 데이터는 다음과 같습니다.

regression model data

x가 1일때 y는 1입니다. 역시, x가 3일때는 y도 3이죠.
이걸 가지고 한번 regression medel을 만들어 보도록 하겠습니다. 위 데이터를 가지고 먼저 그래프를 만들어 보도록 하겠습니다.

regression model graph

위와 같은 데이터를 Linear regression 입니다. 바로 입력값에 대비하여 출력값이 비례하는것을 말 하는것이죠. 우리 일상생활속에서 아주 흔한 케이스를 말하는 가설중 하나 입니다. 결국 이런 비례하는 선을 찾는것이 되겠죠. 이걸 우리는 수식으로 아래와 같이 나타 낼 수 있을겁니다.



출처: https://stricky.tistory.com/436 [The DataBase that i am good at] (같이 스터디 하시는 DB님 블로그!)

 

 

 


 

1. 머신러닝의 개념과 발단 등을 알아보고 그 예시들을 간단히 알아보는 시간을 가졌습니다. 

2. Supervised , Unsupervised 의 차이점을 알았습니다. 결국 기계가 data에 다가가는(?) 방식에서 차이가 있다고 느꼈습니다. (정해진데이터로 학습, 스스로 데이터 보고 학습)

3. Supervised learning 의 세가지 종류 ( regression , binary classification,  multi label classification) 차이점에 대해 배웠습니다. 이 부분은 예제와 함께(성적) 공부하니 한번에 이해가 갔습니다.

4. Linear Regression 에서 결국 가장 중요한 것은 많은 가설 중 결국 많은 데이터가 그래프에서 linear한 선들 중 어느 선에 정확하게 맞는지 보고 (수학을 이용해 데이터와 선의 거리가 가까울수록 좋는 가설) 어떤 가설이 더 좋은지 찾는 것입니다.

5. 로지스틱 회귀는 Binary classification(이진분류) 을 구하기 위한 공식. 이진 분류 목표는 특성벡터 x값으로 레이블 y가 1 or 0 (참 혹은 거짓) 인지 학습을 위함.

 

 


- 1주차 강의는 머신러닝의 전반적인 개요와 딥러닝 라이브러리인 텐서플로우의 전반적인 동작 방식에 대해 알아봤으며, 머신러닝에서 흔히 사용되는 분류 모델인 로지스틱 회귀 모델에 대해서 간단하게 공부해보았습니다.


- 선형대수학 시간에 텐서라는 것을 간단하게만 들었는데 그때는 쓸모가 없다고 생각하고 머리에 들어오지도 않던 개념이 실제로 사용되는 것을 보면서 좀더 이해가 잘 되었던 것 같습니다.


- 로지스틱 회귀는 선형적 구분이 가능한 클래스를 레이블링하는데에 뛰어난 성능을 내는 분류 모델 중 하나로, 구현이 쉽고 간단하다는 장점을 보입니다. 단, 선형적으로 구분되지 않는 클래스들에 대해서는 수렴하지 않기 때문에 분류가 어렵다는 단점또한 가지고 있죠. 이름은 회귀지만 회귀 모델이 아닌 분류 모델이라는 점이 인상 깊었습니다.


- 기본적으로는 이진분류인 로지스틱 회귀 모델을 다중 분류로 확장시키기 위해 사용되는 방법론으로는 OvR 방식이 있습니다.


- 예측이 정확할 수록 코스트가 0에 수렴하는 것을 볼 수 있는데, 이와 같은 가중치 방식을 사용하여 학습시킨다는 점이 가장 큰 특징입니다.


- 수치적 계산에 특화된 머신러닝 라이브러리인 사이킷런을 사용하여 로지스틱 회귀 모델을 훈련 시킬 수 있습니다. 기본값이 OvR이기 때문에 다중분류를 지원합니다.


- 오버피팅 문제를 해결하기 위해서는 레귤러라이제이션을 사용합니다. 레귤러라이제이션은 규제라고도 부르며, 과도한 파라미터 값을 제한하기 위해 추가적인 bias를 주입하는 개념입니다. 대표적으로 L2감쇠 등이 있습니다.

 

'AI 스터디 내용 > ML , DL' 카테고리의 다른 글

6주차 - 과적합  (0) 2021.02.26
5주차 - 역전파  (0) 2021.02.26
4주차 - AF  (0) 2021.02.26
3주차 Sigmoid  (0) 2021.02.26
2주차 - Gradient descent  (0) 2021.02.26

+ Recent posts