Machine Learning 6

[머신러닝#4] 지도학습 - 의사결정 나무(Decision Tree)

계속해서 지도학습의 알고리즘에 공부해보겠습니다. 지난시간에는 로지스틱 회귀를 이용해 binary값을 예측하는 모델을 만들어보았습니다. [머신러닝#3] 지도 학습 - 로지스틱 회귀(Logistic Regression) 이번 시간에 이야기해볼 지도 학습 머신러닝 모델은 로지스틱 회귀입니다. 로지스틱 회귀 로지스틱 회귀 모델은 분류에 사용될 수 있는 회귀 알고리즘입니다. 어떤 상황을 가정해 봅시다. 만약 just-data.tistory.com 오늘은 또 다른 지도학습의 대표적인 알고리즘인 결정트리에 대해 알아보겠습니다. 의사결정 나무(Decision Tree) 의사결정나무란 학습 데이터를 분석하여 데이터에 내재되어 있는 패턴을 통해, 한번에 하나씩의 설명변수를 사용하여 분류와 회귀가 가능한 규칙들의 집합을 생..

Machine Learning 2023.07.06

[머신러닝 기본#2] 경사 하강법

저번 포스팅에서 분류에 대한 전반적인 시스템에 대해 알아보았습니다. 이번 글에서는 모델 학습 방법 중 경사하강법을 이용한 학습 방법에 대해 알아보도록 하겠습니다. 지난 포스팅에서 살펴봤던 KNN, SVM 등은 거리 기반 알고리즘으로 최적의 파라미터를 찾기 위해 GridSearch를 해야 한다는 특징이 있습니다. 하지만 이번에 알아볼 학습 방법은 데이터에 맞게 가중치를 갱신하는 방식으로 모델 최적화를 하게 됩니다. 먼저 해결해야할 상황에 대해 정의하고 시작하겠습니다. 아래와 같이 데이터가 분포되어 있습니다. 이때, 이 데이터셋을 가장 잘 설명할 수 있는 직선을 찾는 문제입니다. 즉, 아래의 식에서 $ \theta $를 찾는 선형 회귀 문제입니다. 이 문제를 크게 두 가지 방식으로 직선의 가중치를 찾아보도록..

Machine Learning 2023.06.30

[머신러닝 기본#1] 분류

이번 포스팅을 원래 가장 먼저 다루었어야 했는데 이제야 올리게 되었습니다. 지도 학습은 크게 회귀와 분류로 나눌 수 있습니다. 이때 대부분의 내용은 비슷하지만 학습 결과를 확인하는 과정 등 조금씩 다른 몇몇 부분이 존재합니다. 그래서 이번 포스팅에서는 분류 시스템에 집중적으로 다루어보도록 하겠습니다. 전체적인 과정과 결과를 해석하는 법을 알고 나면 이후 다른 모델을 적용하실 때 더 수월할 것입니다. 데이터 불러오기 아주 유명한 분류 데이터인 MNIST를 사용하도록 하겠습니다. from sklearn.datasets import fetch_openml mnist = fetch_openml("mnist_784", version = 1, as_frame = False) X, y = mnist["data"], ..

Machine Learning 2023.06.29

[머신러닝#3] 지도 학습 - 로지스틱 회귀(Logistic Regression)

이번 시간에 이야기해볼 지도 학습 머신러닝 모델은 로지스틱 회귀입니다. 로지스틱 회귀 로지스틱 회귀 모델은 분류에 사용될 수 있는 회귀 알고리즘입니다. 어떤 상황을 가정해 봅시다. 만약 종속변수의 값이 0과 1로만 이루어져 있는 이진분류 상황에서 회귀분석을 쓸 수 있을까? 일반적인 회귀분석으로는 No! 입니다. 만일 데이터를 넣어서 모델을 실행시키면 위와 같은 결과가 나올 것입니다. 따라서 분류의 목적에 맞게 회귀 모델을 변형시켜 줄 필요성이 있습니다. 여러분은 어떤 방식이 떠오르시나요?? ※ 간단한 답이니 잠시 멈추고 생각해 보세요. 답이 떠오르시지 않으셔도 됩니다^^ 답은 간단합니다. 회귀분석 값을 시그모이드 함수로 감싸주는 것입니다. 시그모이드 함수는 딥러닝의 활성화 함수로 다들 잘 알고 계시겠지만..

Machine Learning 2023.06.29

[머신러닝#2] 지도 학습 - KNN

저번 포스팅에서 설명드렸던것처럼 머신러닝에는 다양한 알고리즘이 존재합니다. https://just-data.tistory.com/10 이번 포스팅에서는 그중 KNN에 대해서 알아보겠습니다. KNN KNN은 특정 자료의 분류기준을 정할 때, 주변 k개의 데이터가 속하는 클래스들 중에서 가장 많은 클래스로 특정자료를 분류하는 방식을 의미합니다. 위의 사진처럼 새로운 데이터 ? 가 속하는 클래스를 결정하기 위해 가장 가까운 k개의 데이터(k=5) 클래스들 중 다수투표(major voting) 방식에 의해 최다 출현 클래스로 할당하게 됩니다. 따라서 다음과 같은 특징들이 존재합니다. lazy learner training data로부터 수학적 모형인 판별 함수를 학습하지 않습니다. instance-based l..

Machine Learning 2023.05.11

[머신러닝#1] 머신러닝 개요

산업이 발달하기 시작하면서 대부분의 기술들이 인간의 편의를 줄이기 위해 발전되었습니다. 그중 하나가 머신러닝이라고 할 수 있는데요. 예를 한번 들어봅시다. 우리가 흔히 아는 '스팸 메일'의 같은 경우, 지금은 자동으로 스팸메일을 잘 분류해 주지만 초기에는 아마 다음과 같은 방법으로 분류했을 겁니다. 스팸 메일에서 자주 등장하는 단어 파악 Ex. 신용카드, 무료, 펀드 등 해당 단어가 등장하는 메일을 프로그램이 발견했을때, 그 메일을 스팸으로 분류 충분한 성능이 나올 때까지 1단계와 2단계를 반복 초반에는 위의 방법이 잘 통할수 있지만 시간이 지날수록 등장하는 단어의 규칙, 방법 등이 다양해지면서 수작업으로 규칙을 모두 정의하는 것은 매우 힘들어졌을 겁니다(또한 비용도 많이 들어가죠.). 따라서 스팸과 같..

Machine Learning 2023.05.10