출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] '분류' 태그의 글 목록 :: 하나둘셋넷
728x90

[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "Logistic Regression"

메타코드M (metacodes.co.kr)

 

머신러닝 입문 부트캠프ㅣKAIST AI 박사과정

 

www.metacodes.co.kr

안녕하세요 메타코드 서포터즈 5기로 활동하고 있는 송주영입니다.

날씨가 습해서 아침에 출발할 때는 항상 손선풍기를 챙기게 되네요ㅠ

이번 글을 마지막으로 서포터즈 5기 활동을 마무리하게 되었습니다.

저는 서포터즈 6기로도 지원할 예정이니, 또 좋은 뵙고 싶습니다

강의 리뷰 시작하겠습니다!!

 

복습 Regression vsv Classification

회귀와 분류에 대한 복습입니다.

두 모델 모두 입력값으로는 연속값, 이산값을 취할 수 있습니다.

두 모델은 출력값에서 차이를 갖게 되는데, 회귀 모델은 연속값을 출력값으로 갖고 분류 모델은 이산값을 출력값으로 갖습니다.

분류 모델은 이진 분류인지, 다중 분류인지에 따라 시그모이드 함수를 포함할지, 소프트맥스 함수를 포함할지 정합니다.

 

Sigmoid Function

시그모이드 함수는 입력이 없을 때는 출력값이 0.5입니다.

입력이 들어오게 된다면, 그 값은 0 혹은 1에 가까운 값이 됩니다.

완벽하게 0 혹은 1로 분류되는 것이 아니기 때문에 완만한 곡선 형태를 보입니다.

이진 분류에서는 시그모이드 함수 개념을 사용합니다.

 

오즈, 로짓 변환(logit)

오즈는 성공 확률이 실패 확률에 비해 몇 배나 더 높은지 나타내는 개념입니다.

수식으로는 $ \frac{p(y=1|x)}{1-p(y=1|x)} = \frac{p(y=1|x)}{p(y=0|x)} $와 같이 표현할 수 있습니다.

성공 확률 + 실패 확률 = 1이므로, 실패 확률 = 1 - 성공확률로 표현 가능합니다.

로짓 변환은 오즈에 로그를 취한 것으로, 오즈 수식 앞에 log가 붙은 것을 확인할 수 있습니다.

 

로지스틱 함수

로지스틱 함수는 로짓 변환의 역함수로 해석 가능합니다.

역함수의 개념은 y = x를 기준으로 대칭인 함수입니다.

계산 과정에서, $ (log\frac{p}{1-p})^{-1} = e^{\frac{p}{1-p}} $에 따라 식을 전개했습니다.

좌항에 p에 대한 식을 모아서 정리하고 연산을 수행하여 p에 대한 식을 구했습니다.

 

로지스틱 회귀

로지스틱 회귀는 로지스틱 함수를 활용하여 값을 예측합니다.

로지스틱 함수를 사용하므로 연속적인 값(=실수값)을 반환합니다.

입력값이 양수인지, 음수인지에 따라 값이 1과 0으로 분류됩니다.

이러한 값의 분류는 $ e^{-w^{T}X} $ 항을 생각하면 쉽게 이해할 수 있습니다.

 

Bayes' Theorem

베이즈 정리에는 사후 확률, 우도 확률, 사전 확률 개념이 있습니다.

사후 확률이란, 식을 보면 X에 대하여 w가 일어날 확률로 해석하면 데이터가 주어졌을 때 가설에 대한 확률 분포를 말합니다.

우도 확률은 데이터가 어느 쪽으로 쏠려있는 지를 보는 개념입니다,

사전 확률은 이미 알고 있는 확률로 일반적으로 사용하는 확률 개념입니다.

728x90
728x90

[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "기초수학 ~ 최소제곱법"

메타코드M (metacodes.co.kr)

 

머신러닝 입문 부트캠프ㅣKAIST AI 박사과정

 

www.metacodes.co.kr

안녕하세요 메타코드 서포터즈 5기 송주영입니다.

인공지능을 코드로 먼저 접해서 이해도가 높지 않은 상태였는데, 이러한 강의를 찾게 되어서 만족스럽네요ㅎ

이 강의를 끝까지 수강하고 이론과 코딩 역량을 발전시키자는 계획을 세웠어요

 

강의 리뷰 시작하겠습니다!

 

이진분류, 다중분류

이진 분류와 다중 분류 문제에서 사용하는 시그모이드와 소프트 맥스 함수입니다.

시그모이드 함수의 경우 0.5를 기준으로 하여 이 값보다 높으면 1, 작으면 0으로 클래스를 두 가지로 분류합니다.

소프트맥스 함수는 다중 분류 문제를 위한 함수로, 시그마가 사용된 모습을 보입니다.

각각의 클래스에 대한 확률값을 반환합니다.

 

로그 함수

로그 함수는 지수 함수와 y = x 선을 기준으로 대칭이 되는 모습을 보입니다.

지수 함수와 역함수의 관계임을 의미합니다.

로그 함수의 밑이 e 일 때는 $log_{e}$로 표현하기 보다는 $ln$으로 표현합니다.

표현은 자연로그라고 합니다.

 

선형 회귀

선형 회귀는 단순 선형 회귀, 다중 선형 회귀, 다항 회귀로 구분됩니다.

피처의 종류가 1개이면 단순 선형 회기입니다.

피쳐의 종류가 여러 개이면 다중 선형 회귀입니다.

독립 변수의 차수를 높이면 다항 회귀에 해당하고 수식에서 보면 x의 차수가 다름을 확인할 수 있습니다.

 

최적의 파라미터

Parameter란 모델이 데이터로부터 학습한 가중치를 말합니다.

최적이라는 표현은 데이터를 가장 잘 표현한다는 의미이며 이는 실제값과 예측값과의 차이가 적다는 것을 의미합니다.

즉, 손실이 가장 적게 일어나야 합니다.

정리하면 최적의 파라미터란 손실 함수값이 최소가 되는 경우의 모델 파라미터를 말합니다.

 

파라미터

Parameter의 종류에는 모델이 학습한 Parameter(=weight)와 사람이 설정하는 Hypeparameter가 있습니다.

Weight는 모델이 데이터로부터 직접 학습한 것으로 사람이 직접 개입하여 변경시키는 못합니다.

Hyperparameter에는 학습률, 배치 크기 등이 존재하며 이들의 적절한 값을 찾아 모델의 설명력을 높여야 합니다.

각각의 개념은 뒤의 강의에서 학습할 예정입니다.

 

회귀식 계산

$ {a}^*$는 기울기, $ {b}^*$는 절편에 해당한다.

표를 기준으로 먼저 $\overline{x}$와 $\overline{y}$를 계산한다.

계산된 기울기와 절편값을 활용하여 예측값을 구한다.

공부 시간이 8시간일 때는 일치함을 확인할 수 있다.

 

산출된 식에 대해서 엑셀을 활용하여 결과값을 계산해보고, 실제값과의 차이를 계산해보니 흥미로웠습니다.

그동안 단순하게 코드를 입력하여 나온 결과값들을 사용하다가, 이번에는 직접 계산을 해보니 이해도를 높일 수 있었습니다.

 

읽어주셔서 감사합니다!!

 

728x90
728x90

[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "강좌 소개 ~ 기초 수학"

메타코드M (metacodes.co.kr)

 

머신러닝 입문 부트캠프ㅣKAIST AI 박사과정

 

www.metacodes.co.kr

안녕하세요 메타코드 서포터즈 5기로 활동하고 있는 송주영입니다.

SQL과 Python을 연결한 데이터 분석 강의를 마치고 이번에는 머신러닝 입문 강의를 시작했습니다.

인공지능을 배울 때는 기초가 중요하다고 생각해서 만약에 이 분야에 관심이 있으시다면 이러한 입문 강의를 들어보시길 추천드려요!!

강의 리뷰 시작하겠습니다

 

강의목차

인공지능 학습에는 크게 지도 학습과 비지도 학습이 있습니다.

지도 학습은 다시 회귀와 분류 모델로 분류할 수 있습니다.

회귀 모델은 하나의 값을 예측하는 것으로, 입력된 값에 대해 연속형 값을 예측합니다.

분류 모델은 입력된 데이터를 이산형 데이터로 분류합니다.

 

회귀 모델, 분류 모델

회귀 모델과 분류 모델에 대한 보다 자세한 설명입니다.

회귀 모델과 분류 모델 모두 연속값, 이산값을 입력값으로 가질 수 있습니다.

회귀 모델은 출력값이 연속값, 분류 모델은 출력값이 이산값이라는 차이를 갖습니다.

분류의 경우 이진 분류이냐 다중 분류이냐에 따라 사용하는 함수가 각각 시그모이드 함수, 소프트맥스 함수로 나뉩니다.

 

용어 정리 - Feature, Label

데이터는 Feature와 Label로 구성됩니다.

Feature는 데이터의 특징으로 예시를 보면 혈압, 몸무게, 나이 등이 해당합니다.

라벨은 각 데이터에 대한 예측값을 의미합니다. 질병 예측으로 생각해보면, O와 X가 될 수 있습니다.

Feature와 Label은 독립 변수와 종속 변수로도 표현할 수 있습니다.

 

용어 정리 - 입출력, 모델

Input은 모델에 입력되는 값으로 데이터의 Feature 부분입니다.

Output은 모델로부터의 출력값으로 예측 결과를 말합니다.

모델에는 선형 회귀 모델과 비선형 회귀 모델이 있습니다.

비선형 회귀 모델식을 보면 선형 결합식으로 표현이 불가능함을 보입니다.

 

미분, 최솟값

미분은 함수에서 해당 지점의 순간 변화율을 의미합니다.

손실함수는 $(y- \hat{y})^2$ 형태로 표현될 수 있습니다.

손실함수에서 손실값을 최소로 하는 것이 목표입니다.

미분의 성질을 활용한다면 손실함수에서의 최솟값을 구할 수 있습니다.

 

자연상수 e

자연 상수를 이해하기 위하여 1원이 1년 뒤에 + 1원의 성장을 한다는 예시를 보여주셨습니다.

성장 구간을 쪼개지 않았을 때는 최종적으로 2원이 되고, 성장 구간을 한 번 쪼갠다면 2.25원이 됨을 볼 수 있습니다.

마찬가지의 과정을 무한히 수행한다면 값이 2.718에 수렴합니다.

수학에서 중요한 무리수 중 하나이므로 값과 값의 의미를 잘 이해해두어야 합니다.

 

이상으로, 강의 리뷰 마치겠습니다.

이번 수업에서는 인공지능 코딩에 앞서 기초 개념을 다지는 단계였습니다.

인공지능에 대한 깊은 이해를 위해서는 수학이 필수적임을 느낄 수 있는 수업이었습니다.

 

읽어주셔서 감사합니다!!

 

 

 

728x90
728x90

분류 - LogisticRegression

 

1. 라이브러리 불러오기

import pandas as 

impot numpy as np

import maplotlib.pyplot as plt

import seaborn as sns

 

2. 데이터 불러오기

data = pd.read_csv('데이터.csv')

 

3. 학습용 평가용 데이터

from sklearn.model_selectoin import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state=2023)

 

4. 모델링

# 1단계 : 불러오기

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import confision_matrix, classification_report

# 2단계: 선언하기

model = LogisticRegression()

# 3단계 : 학습하기

model.fit(x_train, y_train)

 

학습 되었을 떄 출력

# 4단계 : 예측하기

y_pred = model.predict(x_test)

# 5단계 평가하기

print(confusion_maxtrix(y_test, y_pred))

print(classification_report(y_test, y_pred))

평가 데이터 출력 모습

 

필기

수업시간 필기 1

 

필기 2

수업시간 필기 2

 

728x90

+ Recent posts