x의 값 == 문제

y의 값 == 답

 

데이터 타입이 object를 인코딩 작업

시각화를 위한 라이브러리 불러오기

 

dot path 설정법

위에 표는 max_depth 가 max이기때문에 끝까지 나옴  max_depth = 4 로 변경후 

4층으로 변경 된걸 알수있음 

 

Cross vaildation [교차검증]

 

k-fold cross-validation 동작방법

 

  • 1. 데이터 셋을 k개로 나눈다.
  • 2. 첫 번째 세트를 제외하고 나머지에 대해 모델을 학습한다. 그리고 첫 번째
  •     세트를 이용해서 평가를 수행한다.
  • 3. 2번 과정을 마지막 세트까지 반복한다.
  • 4. 각 세트에 대해 구했던 평가 결과의 평균을 구한다.

 

장/단점

  • 데이터의 여러부분을 학습하고 평가해서 일반화 성능을 측정하기 때문에 안정적이고 정확하다.
  • 모델이 훈련 데이터에 대해 얼마나 민감한지 파악가능 [정수 대역 폭이 넓으면 민감]
  • 데이터 세트 크기가 충분하지 않은 경우에도 유용하게 사용 가능하다.
  • 여러 번 학습하고 평가하는 과정을 거치기 때문에 계산량이 많아진다. 

 

'머신러닝,딥러닝' 카테고리의 다른 글

Machine Learning  (0) 2022.06.21

머신러닝(Machine learning) 이란?

기계 학습또는 머신 러닝은 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 가령, 기계 학습을 통해서 수신한 이메일이 스팸인지 아닌지를 구분할 수 있도록 훈련할 수 있다.

기계 학습의 핵심은 표현(representation)일반화(generalization)에 있다. 표현이란 데이터의 평가이며, 일반화란 아직 알 수 없는 데이터에 대한 처리이다. 이는 전산 학습 이론 분야이기도 하다. 

1959년, 아서 사무엘은 기계 학습을 “컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 실행하는 능력에 대한 연구 분야”라고 정의하였다.

 

 

🔥<<간단 정리>>🔥

  • 머신 러닝 기술은 명시적으로 프로그래밍하는 것이 아니라 데이터로부터의 학습을 통해 작업을 수행하는 방법을 컴퓨터에 가르치는 것이다.

머신러닝의 유형

  • 신경망 
    • 신경망(즉, 인공 신경망)은 사람의 뇌에서 뉴런이 작동하는 방식과 유사한 머신 러닝 유형이다. 병렬로 작동하는 여러 계층의 노드(또는 '뉴런')를 사용하여 일을 배우고 패턴을 인식하며 사람과 유사한 방식으로 의사 결정을 내리는 컴퓨터 프로그램이다. 
  • 딥러닝
    • 딥 러닝은 여러 층의 뉴런과 방대한 양의 데이터를 포함하는 '심층적인' 신경망이다. 이 고급 유형의 머신 러닝은 복잡하고 비선형적인 문제를 해결할 수 있으며 NLP(자연어 처리), 개인 디지털 도우미 및 자율 운전 자동차 등 혁신적인 AI를 담당한다. 
  • 지도 vs 자율학습 *아래에서 더 자세히 설명
    • 지도 학습 알고리즘은 올바른 정답이 포함된 데이터를 사용하여 학습이 수행된다. 데이터를 정답에 매핑하는 모델을 개발한 후 향후 처리를 위해 이러한 모델을 활용한다. 자율 학습 알고리즘은 올바른 정답이 주어지지 않은 상태로 데이터를 학습한다. 대량의 다양한 데이터 세트를 활용하여 자체적으로 개선된다. 

머신러닝의 종류 

 

1. 지도학습(Supervised Learning)

 

정답을 알려주며 학습시키는 것.

 

예를들면 고양이 사진을 주고(input data), 이 사진은 고양이(정답지- label data)야.

사자 사진을 주고, 이 사진은 사자야. 라고 알려주는 학습 방식이다.

 

따라서 기계가 정답을 잘 맞췄는지 아닌지 쉽게 알 수 있다.

 

 

지도학습에는 크게 분류(classification)과 회귀(regression)가 있다.

 

1-1) 분류(classification)

 

  • 미리 정의된 여러 클래스 레이블(답) 중 하나를 예측하는것
  • 속성(문제) 값을 입력, 클래스 값을 출력으로 하는 모델
  • 붓꽃[iris]의 세 품종 중 하나로 분류, 암 분류 등,
  • 이진분류, 다중 분류 등이 있다.

 

- 이진 분류

어떤 데이터에 대해 두 가지 중 하나로 분류할 수 있는 것.

ex) 

Q: 이 글은 스팸이야?   

A: 예 또는 아니오

 

- 다중 분류

어떤 데이터에 대해 여러 값 중 하나로 분류할 수 있는 것

ex) 

Q: 이 동물은 뭐야?  

A: 고양이 또는 사자 또는 강아지 등...

 

1-2) 회귀(regression)

 

  • 연속적인 숫자를 예측하는것
  • 속성 값을 입력, 연속적인 실수 값을 출력으로 하는 모델
  • 어떤 사람의 교육수준, 나이 , 주거지를 바탕으로 연간 소득 예측
  • 예측 값의 미묘한 차이가 크게 중요하지 않다.

 

어떤 데이터들의 특징(feature)을 토대로 값을 예측하는 것.

결과 값은 실수 값을 가질 수 있다. (그 값들은 연속성을 갖는다. 그래프를 생각하면 됨)

 

ex) 

Q: 어디 동네에 어떤 평수 아파트면 집 값이 어느정도야?

A: 어디 동네에 24평이면 얼마, 어디 동네에 32평이면 얼마, 어디 동네에 45평이면 얼마

 

2. 비지도학습(Unsupervised Learning)

 

정답을 따로 알려주지 않고(label이 없다), 비슷한 데이터들을 군집화 하는 것.

 

예를들어 고양이, 병아리, 기린, 호랑이 사진을 비지도학습 시킨다고 해보자.

각 사진이 무슨 동물인지 정답(label)을 알려주지 않았기 때문에 

이 동물이 '무엇'이라고 기계가 정의는 할 수 없지만 비슷한 단위로 군집화 해준다.

 

다리가 4개인 고양이와 호랑이를 한 분류로 묶고, 

다리가 4개지만 목이 긴 기린은 다른 분류로,

다리가 얇고 몸통이 둥그런 병아리는 또 다른 분류로 나누어 놓을 것이다.

 

실무에서는 지도학습에서의 적절한 feature를 찾아내기 위한 전처리 방법으로 비지도 학습을 쓰기도 한다.

(어떻게 분류하는 것이 좋을까?의 결과물이랄까?)

 

3. 강화학습(Reinforcement Learning)

 

상과 벌이라는 보상(reward)을 주며 상을 최대화하고 벌을 최소화 하도록 강화 학습하는 방식.

알파고가 이 방법으로 학습 되었고, 주로 게임에서 최적의 동작을 찾는데 쓰는 학습 방식이다.

 

우리들도 인생에서 강화학습을 하며 살아왔다.

 

태어나서 지금까지 우리는 이런 저런 행동들을 했고, 

내가 하는 행동에 대해 주위 사람들로부터 질책을 받거나 칭찬을 받아왔다.

이러저러한 시행착오를 겪으며 경험이 쌓이고, 내가 확실히 경험했던 것에 대해서는

옳고 그른지 판단을 할 수 있다.

 

하지만 여전히 경험해보지 못한 부분에 대해서는 칭찬(상)을 받기도 하고, 질책(벌)을 받기도 한다.

 

정확한 정답은 없지만, 이러한 반복적인 행동들을 통해 

칭찬과 벌을 받음으로써 보상의 가중치를 최대화 하는 것이 목표이다.

 

 

 

 

 

'머신러닝,딥러닝' 카테고리의 다른 글

Decision Tree  (0) 2022.06.24

+ Recent posts