출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] 하나둘셋넷 :: 하나둘셋넷
728x90
도전 도서 - 그로스 해킹


https://www.yes24.com/Product/Goods/98154431

 

[전자책]그로스 해킹 - 예스24

그로스 해킹에 대한 실용적인 지침서!성장하는 서비스를 만들기 위해서는 필요한 데이터를 정의하고, 수집하고, 분석 환경을 구축하고, 실험하고, 서비스에 반영하는 일련의 과정이 잘 갖춰져

www.yes24.com

 

인상 깊었던 구절 - 아이디에이션과 데이터분석, 브레인스토밍

 

출처 - 그로스 해킹

 

아이디에이션이라는 개념을 브레인 스토밍과 비교하며, 설명한 내용이 기억에 남았다.
기존에 아이디에이션이라는 개념을 몰랐는데 어떤 프로젝트를 진행한다면, 이 책에서의 내용을 기억하면 좋을 거라 생각이 들었다.
단순한 브레인스토밍이 갖는 약점을 배울 수 있는 기회이기도 했다.
앞으로 어떤 일을 진행한다면 세세한 기록들을 남겨 처음에 수립된 아이디어를 검토하고 발전시켜야겠다는 다짐을 했다.

 

 

실제 겪어본 사례 : p-value 수치 해석

 

p-value 수치해석의 경우, DACON에서 진행한 데이터분석 경진대회에 참여했을 때와

실제 데이터분석을 할 때, 자격증을 공부할 때 많이 활용한 경험이 있다.

p-value 값 0.05를 기준으로 귀무가설을 기각할지 말 것인지 판단하는 간단한 수준의 이해도를 가지고 있다.

책에서 p-value에 대한 설명이 적혀 있어서 이해도를 높이는 데에 도움이 되었다.

 

업무에서 활용해보고 싶은 지식 - A/B 테스트

 

책을 읽으며 A/B 테스트를 업무에서 활용해보고 싶다는 생각을 했다.

A/B 테스트를 수업에서 준 데이터를 바탕으로 수행한 경험은 있다.

당시, A/B 테스트 계산기 사이트를 활용하여 세부적인 수치들을 조절하였다.

이 책에서 A/B 테스트에 대한 설명과 활용할 수 있는 사이트를 더 알려주었기 때문에,

지식을 좀 더 발전시킨다면 실제로 업무에서 활용하고 싶다는욕심이 들었다.

 

 

 

 

 

챌린지 개인 회고

 

데이터리안에서 진행한 "데이터넥스트레벨챌린지"에 참여함으로써,

좋은 책을 읽고 그로스해킹과 데이터 분석에 대한 관점을 넓힐 수 있었다.

혼자 이 책을 읽으려고 시도했다면 책을 끝까지 읽기 힘들었겠지만,

이 기회를 통해 블로그에 글도 남기며 책을 깊게 읽어볼 수 있었다.

또한, 다른 사람들이 도전하는 모습을 보는 것도 큰 동기부여가 되었다.

 

다음에 또 이러한 챌린지가 열리면 도전할 생각이다.

728x90
728x90

도전 도서 - 그로스 해킹

https://www.yes24.com/Product/Goods/98154431

 

[전자책]그로스 해킹 - 예스24

그로스 해킹에 대한 실용적인 지침서!성장하는 서비스를 만들기 위해서는 필요한 데이터를 정의하고, 수집하고, 분석 환경을 구축하고, 실험하고, 서비스에 반영하는 일련의 과정이 잘 갖춰져

www.yes24.com

 

인상 깊었던 구절 - "생존자 편향"에 속지 말 것!

 

출처 : 그로스해킹

"생존자 편향(Survivorship Bias)"의 사례가 이번 주 독서에서 인상 깊었습니다.

 

잘못된 분석의 사례로서,
전쟁에서 살아남은 비행기가 어떤 부분을 많이 공격 받았는지에 중점을 두고 부위별 장갑 두께를 고민한 것을 들어주었습니다.

 

통계학자 아브라함 발드는 살아남은 비행기가 많이 공격받은 부분이 아닌,

공격을 적게 많은 엔진과 조종석을 집중적으로 보강해야 한다는 의견을 제시했습니다.

 

잘못된 분석 사례를 이해하기 쉽게 설명해주어 기억에 뚜렷하게 남았습니다.
데이터를 올바르게 분석하기 위해서는 보다 큰 시야를 가질 필요성을 느꼈습니다.

 

 

실제 겪어본 사례 - 지나침은 오히려 상황을 안좋게 만든다

 

출처 : 그로스 해킹

 

지나친 개입의 경우, 과거 카카오 게임이 활발했을 때 많이 경험해봤습니다.
처음에는 애니팡을 시작으로 하여, 다양한 게임들이 추가되는 모습을 보였습니다.
게임 초대/알림 메시지 기능을 활용하여 기존 유저를 통해 신규 유저를 끌어들이는 효과가 처음에는 좋게 보였습니다.
시간이 흐름에 따라, 이러한 게임 초대/알림에 피로감을 느끼는 사람들이 늘어났고 이 기능에 대한 부정적 인식이 늘어났던 것으로 기억합니다.

이러한 현상으로 인해 어느 순간부터 카카오가 붙어 있는 게임은 앱스토어 순위에서 보이지 않게 되었습니다.

 

업무에 활용해보고 싶은 지식 - 인게이지먼트

 

출처 : 그로스 해킹

 

"약식으로 보는 리텐션 지표, 인게이지먼트" 내용은 실제 업무에서 활용하고 싶은 마음이 들었습니다.
인게이지먼트 지표는 DAU(Daily Active User)를 MAU(Monthly Active User)로 나누어 계산합니다.
단순히, 페이지 조회수의 증감만 볼 때의 한계점을 간단하고 빠르게 보완해줄 수 있는 방법이라 적절히 활용한다면 유용할 거라는 생각을 했습니다.

728x90
728x90

도전 도서 - 그로스 해킹

https://www.yes24.com/Product/Goods/98154431

 

[전자책]그로스 해킹 - 예스24

그로스 해킹에 대한 실용적인 지침서!성장하는 서비스를 만들기 위해서는 필요한 데이터를 정의하고, 수집하고, 분석 환경을 구축하고, 실험하고, 서비스에 반영하는 일련의 과정이 잘 갖춰져

www.yes24.com

 

참여 동기

 

 6개월 동안 부트캠프 교육을 들었고, 실무 경험을 쌓고 있지만 지금까지 배운 Python, SQL 능력을 어떻게 활용할 지 고민이 있었습니다.

 데이터리안에서 진행하는 "2024 데이터 넥스트레벨 챌린지"에 참여하며 책을 읽고 다양한 사람들의 이야기를 들으면 도움이 될 것 같아 참여하게 되었습니다.

 

인상 깊었던 구절

인상 깊었던 부분, 출처 : 그로스 해킹

 

하나의 이벤트 발생 이전에 여러 채널들을 거칠 수 있는데, 

이때 이들의 기여도를 계산하는 방법에 대한 다양한 모델들을 배울 수 있어서 흥미로웠습니다.

처음에 접근한 채널, 직전에 접근한 채널에 대한 관심만 있는 상태였는데 보다 생각을 넓힐 수 있었습니다.

 

관련 경험

 

DACON에서 진행한 이커머스 고객 데이터 분석 경진대회에 참여하여 Cohort 분석 기법을 통한 Retention 분석을 해본 경험이 있습니다.

Retention 분석에 깊이 있는 지식이 있는 상태가 아니라 "특정 월의 경우 고객들의 재방문율이 높게 유지되는 특성을 보이며, 어떤 월의 경우에는 유난히 재방문율이 낮은 특성을 보인다."는 결론을 기반으로 분석 방향성을 정했습니다.

이 책을 읽은 상태에서 해당 경진대회에 참여했다면, 재방문율 수치의 높고 낮음에 대한 기준선을 좀 더 고민했을 거라 생각이 들었습니다.

 

실행활 또는 업무에서 어떻게 활용??

 

Python, SQL 능력을 통해 데이터 전처리, 관리, 시각화에는 어려움이 없지만 근본적으로 어떤 관점에서 데이터 분석을 해야하는 것인지에 고민이 있습니다.

책에서 전환율(Conversion Rate)에 대해 다룬 내용이 흥미로웠습니다.

이커머스에서도 상품의 특성에 따라 전환율의 차이가 많이 나기 때문에 각각에 맞게 적절한 기준을 세워야 함을 배웠습니다.

내가 하는 업무에서는 어떤 이벤트가 중요한 것인지 고민하고 이에 적절한 전환율 값은 얼마인지를 고민해보려 합니다.

728x90
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

[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "1단원 실습"

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

 

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

 

www.metacodes.co.kr

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

드디어 1단원 이론 수업을 마치고, 코딩 실습을 하게 되었습니다.

실습을 하면서 이론 때 배워둔 내용을 더 확실하게! 이해하는 게 목표에요

인공지능 혹은 코딩 관련 분야에 관심을 갖고 계신다면 "이론 공부 and 코딩 실습" 루틴으로 공부를 하는 게 좋을 거 같아요

 

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

 

실습 환경 - Colab

코딩 실습은 Colab 환경에서 진행되었습니다.

Colab은 구글에서 제공하는 온라인 코딩 환경입니다.

Python 언어를 Jupyter 환경에서 제공하여 마크다운 셀을 통해 편리하게 필기할 수 있다는 장점을 갖습니다.

다만, 세션 유지 시간이 정해져 있어서 이 부분을 염두에 둘 필요가 존재합니다.

 

드라이브 연결

구글 드라이브와 Colab을 연결하는 코드입니다.

해당 코드를 입력하면 연결을 할 것인지 묻는 창이 나오며 동의를 클릭하면 연결이 완료됩니다.

ls 명령어를 통해 현재 디렉토리의 파일을 확인할 수 있습니다.

cd 명령어를 통해 디렉토리의 위치를 변경할 수 있습니다.

 

학습 데이터와 평가 데이터로 나누기

sklearn을 통하여 데이터를 학습용과 평가용으로 나누었습니다.

test_size를 통해 학습용과 평가용의 비중을 어떻게 할 지 설정합니다. 이 경우에는 90:10 비율로 설정했습니다.

random_state를 통해서는 seed 값을 고정하여 항상 동일한 데이터가 추출되도록 합니다.

나눈 데이터는 X_train, X_test, y_train, y_test 변수에 할당됩니다.

 

경사하강법

경사 하강법을 활용하여 학습을 진행하는 모습입니다.

loss 변수에 MSE 손실함수 식을 할당했고, numpy의 mean 함수를 활용했습니다.

Gradient 계산을 위한 편미분 값도 dw, db 변수에 할당했고, 아래 줄에서는 w와 b 변수가 업데이트가 됩니다.

lr은 learning_rate입니다.

weights와 bias 값은 리스트에 append 되고 최종적으로는 w, b, w_list, b_list, loss_list의 5개의 변수가 반환됩니다.

 

LinearRegression 모델 활용, 최소 제곱법(Least Squares Method)

sklearn 라이브러리의 LinearRegression 모델을 활용하여 모델을 학습하는 코드입니다.

해당 모듈은 경사하강법 대신에 최소 제곱법을 사용해 모델을 학습합니다.

reshape 메서드를 통해 데이터를 알맞은 형태로 변형하였습니다.

y_pred에 예측값을 저장하고, 이를 통해 train_loss 값을 계산했습니다.

predict() 메서드는 x를 통해 예측을 수행하는 것으로, x 인자만 필요하고 y 인자는 필요로 하지 않습니다.

 

SGDRegressor

마지막으로 SGDRegressor를 통한 모델 학습입니다.

tol 값을 설정하면 loss 값이 특정 값에 도달하였을 때 학습이 중단되게 할 수 있습니다.

경사하강법, LinearRegerssion, SGDRegressor를 통해 모델을 학습하는 방법을 배웠습니다.

train_loss = np.mean((y_train-y_pred)**2)

코드를 통하여 MSE 값을 비교하며 어떤 모델이 가장 학습이 잘 되는지 확인할 수 있습니다.

확인 결과는 LinearRegression을 통해 최소제곱법을 사용했을 때가 가장 높은 성능을 보였습니다.

728x90
728x90

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

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

 

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

 

www.metacodes.co.kr

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

요즘 날씨가 변덕이 심해서, 나갈 때 항상 작은 우산을 휴대해서 나가고 있네요

다들 몸조리 잘하시길 바랄게요!!

공부하려면 컨디션을 잘 관리하는 것도 필수적이라 느끼고 있어요

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

 

Validation Data

하나의 데이터셋을 받는다면, 이를 Train, Valid, Test Data로 나눕니다.

데이터셋을 나누는 목적은 Overfitting Issue를 막기 위함입니다.

Valid Data와 Test Data는 둘다 학습된 모델의 성능을 평가할 때 사용되기 때문에 헷갈릴 수 있습니다.

이 둘의 차이는 학습 과정에 참여하는 지의 여부입니다.

Valid Data는 학습 중간에 검증용으로 사용하며, 모델의 적절한 파라미터를 찾을 때 활용됩니다.

Test Data는 최종 학습이 완료된 모델의 성능을 평가할 때 사용합니다.

 

LOOCV and K-fold cross validation

하나의 데이터셋에 대해서만 검증을 할 경우에는, 보편적으로 높은 성능을 나타내는 모델을 찾는 데에 어려움을 겪을 수 있습니다.

이를 위해 사용하는 것이 LOOCV 방법입니다.

모든 데이터 샘플에 대하여 검증을 하는 것이 목적이며, 이 경우에는 계산 비용이 매우 큰 단점을 갖습니다.

이를 보완하기 위해 고안된 방법이 K-fold cross validation입니다.

K개의 파트로 데이터를 나누어 학습, 검증을 진행하여 적절한 계산 비용 내에서 높은 성능의 모델을 찾는 것이 목적입니다.

 

Regularization

모델의 파라미터 숫자가 많아지면, 모델의 복잡도가 커지게 됩니다.

모델의 복잡도가 커진다면 Bias Error는 줄어들지만, 과적합이 발생하는 문제가 생깁니다.

따라서, 정규화를 통해 중요한 파라미터만 선택하고 모델의 복잡도를 줄입니다.

정규화의 종류에는 Ridge 회귀와 Lasso 회귀가 존재합니다.

 

Ridge Regression

Ride Regression은 제곱합을 활용합니다.

빨간색 원은 $\beta $ 값이 존재할  MSE 값을 표현하고, 중심에서 멀어질수록 Error가 커집니다.

빨간색 원과 파란색 원이 만난 지점이 MSE 값을 최소로 하는 지점입니다.

$\lambda $ 값을 조절하여 $\beta $를 남길 지 버릴지 선택합니다.

 

Lasso Regression

Lasso Regression에 대한 개념입니다.

Lasso Regression은 계수값이 0에 가까운지 여부를 확인하기 위해 정규화 식에 절댓값을 사용하며, 이는 Ridge Regression이 계수의 제곱을 사용하는 것과 차이점을 갖습니다.

Lasso Regression은 절댓값을 사용하므로, 마름모 형태를 보입니다.

빨간색 원과 맞닿은 지점에서 $\beta_{1}$은 값이 존재하지 않기 때문에, 적절한 $\lambda $ 값을 선택함으로써, $\beta_{1}$이 0에 가깝게 되도록 합니다.

 

파라미터 간소화

Lasso가 파라미터 갯수를 줄이는 데에 더 효과적인 모습을 보입니다.

파라미터 갯수를 줄이는 방법에는 $\lambda $ 값을 키우는 것과 지수 값을 낮추는 방법이 존재합니다.

$\lambda $ 값을 키우면 $\beta_{i}$ 값은 그만큼 작아지게 됩나다.

지수를 줄이는 경우, 마름모 그림이 더욱 움푹 패인 형태가 되어 $\beta_{i}$ 값을 최소로 하는 지점과 원이 맞닿게 됩니다.

 

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

글 읽어주셔서 감사합니다

 

728x90
728x90

[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "Bias and variance Trade-off"

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

 

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

 

www.metacodes.co.kr

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

머신러닝을 공부함에 있어서 코딩으로 넘어가기 전에 기초 이론을 다지는 이 부분이 쉽게 않게 느껴지네요.

통계학과나 수학과 분들이 부러워지는 순간이었어요

그래도 힘내서 끝까지 완주해보겠습니다!

 

Training Data vs Test Data

데이터를 받게 된다면 하나의 데이터셋을 통째로 받게 됩니다.

이 데이터셋에 대해 일정 퍼센티지에 따라서 학습용으로 사용할 데이터와 평가용으로 사용할 데이터로 나눕니다.

데이터를 나누는 과정에서는 랜덤 샘플링 과정을 수행합니다.

보통 학습용으로 80%를 정하고 20%를 평가 데이터로 할당합니다.

 

모델의 복잡도

모델의 복잡도는 선형에서 비선형으로 갈수록 더 올라갑니다.

선형 함수는 단순히 기울기와 절편으로 이루어져 있고, 차수가 올라갈수록 파라미터가 하나씩 증가하는 것을 생각해보면 당연합니다.

모델이 복잡해질수록 학습 데이터를 잘 학습한다는 장점을 갖습니다.

대신, 모델이 복잡한데 데이터가 모자르다면 충분한 학습이 이루어지 지지 않는 Under-fitting 현상이 발생하기 때문에 무조건 좋은 것은 아닙니다.

 

편향과 분산 - (1)

편향과 분산은 모두 알고리즘이 가지고 있는 에러의 종류로서 이들을 합친 것이 MSE 값입니다.

평균에 대한 분배 법칙을 따라서 해당 수식을 전개하는 과정입니다.

$\theta  $는 우리가 모르는 어떤 특정값을 말합니다. 따라서 정해진 값이기 때문에 랜덤성, 평균이 없습니다.

따라서 수식에서 3번째 항은 그대로 나온 모습을 보입니다.

 

편향과 분산 - (2)

편향은 실제값과 예측값의 차이를 말합니다.

이는 학습 데이터에 대한 정확도라고 이해할 수도 있습니다.

분산은 예측값의 범위를 말합니다. 따라서 분산이 크다면 첫 번째 예측값과 두 번째 예측값이 크게 달라지게 됩니다.

분산이 적다면 여러 번 추정을 하더라도 비슷한 값을 가지게 될 것이다.

 

편향과 분산 - (3)

편향은 정답과 예측값의 차이를 말합니다.

이 그림에서는 빨간색 점을 정답, 파란색 점은 예측으로 표현했습니다.

Low Variance 상태를 보면 파란색 점들이 뭉쳐 있는 모습을 보이고, Low Bias일 때는 빨간색 점과 파란색 점과의 거리가 좁은 모습을 보입니다.

즉 Variance는 정답 여부를 떠나서, 얼마나 일정한 값을 도출하는가를 말합니다.

 

편향과 분산 - (3)

그래프에서 X축의 좌측은 선형 모델, 우측은 비선형 모델에 해당합니다.

모델의 복잡도가 낮을수록, 즉 선형 모델에 가까울수록 편향값은 커지지만 Variance 값은 작은 모습을 보입니다.

모델이 단순하기 때문에 에러가 발생하더라도 일정한 모습을 보이고, 이로 인해 Variance 값이 작습니다.

대신 선형 모델에서는 파라미터가 적기 때문에 편향값은 커집니다.

똑같은 데이터셋이 들어올 때 모델의 복잡도가 커지면, Under-fitting이 발생하고 이는 편향에 영향을 주며, 분산은 반대로 Over-fitting이 발생합니다.

 

 

728x90
728x90

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

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

 

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

 

www.metacodes.co.kr

안녕하세요 4기부터 활동을 한 서포터즈 5기 송주영입니다.

우리나라 날씨가 갈수록 변덕스러워 지는 것 같아요ㅠ

이럴수록 다를 몸조리 잘 하시길 바랍니다.

이번 수업에서도 머신러닝에 대해 수학적 개념을 배우며, 기초를 다질 수 있었어요!

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

 

Gradient Descent 경사하강법

경사 하강법이란, 손실 함수를 0에 가깝게 하는 지점을 찾는 것입니다.

이를 위하여 미분을 반복적으로 진행하게 됩니다.

미분을 했을 때 양수 값이 나온다면, 이를 줄이기 위해 반대 방향으로 업데이트를 수행합니다.

이러한 과정 epoch 만큼 반복하고, 이 epoch는 사람이 설정하는 하이퍼 파라미터입니다.

 

학습률(learning rate)

학습률은 계산된 미분값 얼마나 반영할 지 결정하는 개념입니다.

학습률 또한 사람이 설정하는 하이퍼 파라미터에 해당합니다.

학습률을 도입하는 이유는 미분을 했을 때, 값이 크게 변화한다면 최저점을 찾기 힘들 수 있기 때문입니다.

최저점에 천천히 도달하게 하고 싶다는 학습률을 낮게 설정합니다.

 

학습률 스케줄러

학습률은 일반적으로 큰 값에서 작은 값으로 변화시킵니다.

Cosine annealing 특정 횟수마다 학습률을 최대에서 최저까지 변화시키는 과정을 수행합니다.

변화 과정은 cosine 함수와 비슷한 모습을 보입니다.

Cosine annealing 기법을 통해 global 지점이 아닌, local 지점에서 parameter를 찾는 경우를 방지합니다.

 

Advanced Gradient Descent

단순 Gradient Descent 보다 개선된 방법이다.

확률적 경사 하강법이란, 전체 데이터셋을 활용하여 계산을 수행하면 그 비용이 크기 때문에 1개의 데이터로 업데이트를 진행하고, 이를 n번 반복하는 방법을 말합니다.

이렇게 한 경우 특정 샘플이 전체를 대변하기 어렵다는 문제를 갖습니다.

이때 학습 속도와 정확도를 모두 조절할 수 있도록 하는 것이 배치(batch)의 개념입니다.

 

Advanced Gradient Descent - Adam

경사 하강법 중에는 Adam이라는 방법이 존재하며, A는 adaptive를 말합니다.

적응적 학습률 알고리즘으로, AdaGrad와 Momentum을 융합한 기법입니다.

AdaGrad는 변수별로 학습률이 달라지게 하는 알고리즘입니다.

Momentum은 학습률의 진행 방향에 관성이라는 개념을 추가하여 보다 Local Mininum에 빠지는 것을 방지합니다.

 

Momentum, Local optimal, Global optimal

하이퍼 파라미터 조정의 최종 목표는 손실함수를 최소화시키는 것입니다.

그림에서 좌측의 볼록한 부분이 Local Optimal, 우측의 볼록한 부분이 Global Optimal에 해당합니다.

위에서 말한 Momentum을 그림으로 이해하면, 그래프가 볼록한 지점을 지나 상승 지점을 이동할 때, 좀 더 많이 움직이게 하여 넓은 지점을 탐색하고 Global Optimal을 찾는 것을 유도합니다.

하이퍼 파라미터 설정에 있어서, 손실 함수의 최저점이 Local인지 항상 확인할 필요가 있습니다.

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

+ Recent posts