출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] '분류 전체보기' 카테고리의 글 목록 :: 하나둘셋넷
728x90

특정 세대의 대장균 찾기

출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/301650

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

데이터 준비

-- 데이터베이스 생성 --
create database if not exists programmers_test
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

-- 테이블 생성 --
CREATE TABLE IF NOT EXISTS ECOLI_DATA(
	ID int not null,
    PARENT_ID int,
    SIZE_OF_COLONY int not null,
    DIFFERENTIATION_DATE date not null,
    GENOTYPE int not null
);

-- 데이터 삽입 --
INSERT INTO ECOLI_DATA VALUES (1,NULL,10,'2019/01/01',5);
INSERT INTO ECOLI_DATA VALUES (2,NULL,2,'2019/01/01',3);
INSERT INTO ECOLI_DATA VALUES (3,1,100,'2020/01/01',4);
INSERT INTO ECOLI_DATA VALUES (4,2,16,'2020/01/01',4);
INSERT INTO ECOLI_DATA VALUES (5,2,17,'2020/01/01',6);
INSERT INTO ECOLI_DATA VALUES (6,4,101,'2021/01/01',22);
INSERT INTO ECOLI_DATA VALUES (7,3,101,'2022/01/01',23);
INSERT INTO ECOLI_DATA VALUES (8,6,1,'2022/01/01',27);

 

풀이

SELECT `origin`.ID
FROM ECOLI_DATA `origin`
WHERE `origin`.PARENT_ID IN -- 2세대 ID를 찾는다, 부모 ID가 1세대 ID인 데이터
(SELECT first.ID FROM -- 1세대 ID를 찾는다.
(
WITH parent_gen as -- 0세대 ID를 찾는다.
(SELECT ID FROM ECOLI_DATA
WHERE PARENT_ID IS NULL)
SELECT `first_gen`.`ID` 
FROM ECOLI_DATA `first_gen`
WHERE `first_gen`.PARENT_ID IN -- 부모 ID가 0세대 ID인 데이터는 1세대 데이터
	( SELECT * FROM parent_gen)  
) `first`
)
ORDER BY `origin`.ID ASC;

 

728x90
728x90

대장균의 크기에 따라 분류하기 1

출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/299307

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

데이터 준비

-- 데이터베이스 생성 --
create database if not exists programmers_test
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

-- 테이블 생성 --
CREATE TABLE ECOLI_DATA(
	id int not null,
    parent_id int,
    size_of_colony int not null,
    differentiation_date date not null,
    genotype int not null
);

-- 데이터 삽입 --
insert into ECOLI_DATA VALUES ('1', NULL,'17','2019/01/01','5');
insert into ECOLI_DATA VALUES ('2', NULL,'150','2019/01/01','3');
insert into ECOLI_DATA VALUES ('3','1','4000','2020/01/01','4');

 

풀이

SELECT ED.id as `ID`,
	CASE WHEN size_of_colony <= 100 THEN 'LOW'
		WHEN size_of_colony > 100 and size_of_colony <= 1000 then 'MEDIUM'
                WHEN size_of_colony > 1000 then 'HIGH'
	ELSE 'ETC' END as `SIZE`
FROM ECOLI_DATA ED
ORDER BY ED.id asc;
728x90
728x90

대장균의 크기에 따라 분류하기 2

출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/301649

 

데이터 준비

-- 데이터베이스 생성 --

create database if not exists programmers_test
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

-- 테이블 생성 --
create table ECOLI_DATA(
	id integer not null,
    parent_id int,
    size_of_colony int not null,
    differentiation_date date,
    genotype int
);

-- 데이터 삽입 --
INSERT INTO ECOLI_DATA values ('1',NULL,'10','2019/01/01','5');
INSERT INTO ECOLI_DATA values ('2',NULL,'2','2019/01/01','3');
INSERT INTO ECOLI_DATA values ('3','1','100','2020/01/01','4');
INSERT INTO ECOLI_DATA values ('4','2','16','2020/01/01','4');
INSERT INTO ECOLI_DATA values ('5','2','17','2020/01/01','6');
INSERT INTO ECOLI_DATA values ('6','4','101','2021/01/01','22');
INSERT INTO ECOLI_DATA values ('7','6','101','2022/01/01','23');
INSERT INTO ECOLI_DATA values ('8','6','1','2022/01/01','27');

 

문제풀이

SELECT Percent_ED.id as ID,
		CASE 
        		WHEN Percent_ED.size_rank <= 0.25 THEN 'CRITICAL'
            		WHEN (Percent_ED.size_rank > 0.25) and (Percent_ED.size_rank<=0.5) THEN 'HIGH'
            		WHEN (Percent_ED.size_rank > 0.5) and (Percent_ED.size_rank<=0.75) THEN 'MEDIUM'
		ELSE 'LOW' END AS COLONY_NAME
FROM 
(SELECT id,
		Percent_RANK() over (order by size_of_colony desc) as 'size_rank'
FROM ECOLI_DATA) as `Percent_ED`
order by Percent_ED.id;
728x90
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

+ Recent posts