출처: 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

문자열 관련 함수 

LPAD()
- 지정한 길이의 문자열이 되도록 지정한 문자를 채워 반환
SELECT LPAD('대한민국', 10, '*'); >> ******대한민국
   
LTRIM()
- 왼쪽에 있는 공백을 없앤 문자열 반환
SELECT CONCAT('[', LTRIM('   대한민국   '), ']'); >> [대한민국     ]
   
RTRIM()
- LTRIM()과 반대 기늠
 
   
TRIM()
- 양쪽에 있는 공백을 없앤 문자열 반환
SELECT CONCAT('[', TRIM('    대한민국    '), ']');  >> [대한민국]

 

728x90
728x90

문자열 관련 함수

 

LENGTH - 문자열 바이트 수 반환

SELECT vacation_id, emp_id, begin_date, reason,
                   LENGH(reason) As reason_len

    FROM vacation;

 

CHAR_LENGTH - 글자수 반환

SELECT vacaction_id, emp_id, begin_date, reason
    FROM vacation;

 

CONCAT - 연결해주기

SELECT CONCAT('ABC', 'DEF, 'HIF', 'KLMN');

 

응용

SELECT vacation_id, emp_id, begin_date, CONCAT(reason, '(', duration, '일간)')
            AS reason
    FROM vacation;

 

구분자를 넣어서 붙이기

SELECT CONCAT_WS( ',' , 'ABC', 'DEF' ,'HIJ',  'KLMN' );

 

응용

SELECT vacation_id, emp_id, CONCAT_WS( ', ' , begin_data, end_date. reason,
                duration) As info
    FROM vacation;

 

 

ELT() - 나열된 값 중에서 지정한 위치의 값 변환

SELECT emp_name, emp_id, gender, dept_id, hire_date, salary,
             ELT(NTILE(3) OVER(ORDER BY salary DESC), '상', '중', '하') AS grp
        FROM employee
        WHERE retire_date IS NULL AND salary IS NOT NULL;

 

FIELD

- 나열된 값 중에서 지정한 값이 있는 위치 반환, 없으면 0 반환

SELECT emp_name, emp_id, dept_id, hire_date, salary
            FROM employee
            WHERE dept_id IN ('MKT', 'SYS', 'HRD')
            ORDER BY FIELD(dept_id, 'MKT', 'HRD', 'SYS');

: 'MKT'는 1, 'HRD'는 2, 'SYS'는 3으로 간주

 

 

728x90

+ Recent posts