본문 바로가기

티스토리챌린지6

[혼자 공부하는 머신러닝 + 딥러닝] k-평균(K-Means) 전 게시글에 이어서 사과, 파인애플, 바나나 사진을 가지고 하겠습니다.만약, 비지도 학습에서 각 과일의 평균을 구하라고 하면 구할 수 있을까요?정답은 "할 수 없습니다" 입니다.왜냐하면 어떤 사진에 어떤 과일이 있을지 모르기 때문입니다.그렇다면 어떻게 평균값을 구할 수 있을까요?   k-평균(K-Means) k-평균(K-Means) 군집 알고리즘은 평균값을 자동으로 찾아줍니다.이 평균값이 클러스터 중심에 위치하기 때문에 클러스터 중심(cluster center) 또는 센트로이드(centroid)라고 부릅니다.  k-평균 알고리즘의 작동 방식은 다음과 같습니다. 1. 무작위로 k개의 클러스터 중심을 정한다.2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다.3. 클러스터에 .. 2024. 11. 27.
[수리통계학] 1장. 확률분포 드디어 수리통계학 1장을 끝냈다.  노트에 정리하고 다시 복습하는 겸 노션에 정리하는데 조금 힘들었다.(수식 자체를 쓰기가 너무 어려워서.. GPT에다가 공식을 글로 적은 뒤에 수식을 받아서 복붙하는 방식으로..)  사실 처음에는 블로그에다가 게시를 하려 했지만 저작권이 무서웠기 때문에 따로 노션으로 적는 방식을 선택했다.  1장에서는 학교 수업 때 배운 내용들이 대부분이였다.그래서 내용도 무난무난, 문제도 무난무난했다.내용은 확률, 조건부 확률, 확률분포, 기댓값, 분산, 확률분산, 누적분포함수 내용이 주를 이뤘다. (이정도는 괜찮겠지..?)  이제 2장을 하러..! 2024. 11. 25.
[혼자 공부하는 머신러닝 + 딥러닝] 군집 알고리즘 만약 타깃을 모르는 사진을 종류별로 분류하려 한다면 어떤 머신러닝 알고리즘을 써야 할까요?바로 비지도 학습(Unsupervised learning)입니다.  한번 실습해보면서 알아보겠습니다.  데이터 준비 전과는 다르게 이번에는 과일 데이터를 사용해보겠습니다.과일 데이터는 사과, 바나나, 파인애플을 담고 있는 흑백 사진입니다.   이 배열의 첫 번째 차원(300)은 샘플의 개수, 두 번째 차원(100)은 이미지 높이, 세 번째 차원(100)은 이미지 너비입니다.즉, 이미지 크기는 100 x 100이고 각 픽셀은 넘파이 배열의 원소 하나에 대응합니다.이는 곧, 배열의 크기가 100 x 100이라는 걸 알 수 있습니다.  한번 첫 번째 이미지의 첫 번째 행을 출력해보겠습니다.  이 넘파이 배열은 흑백 사진을.. 2024. 11. 13.
[DuckDB] 0. DuckDB에 대하여 요즘 관심이 생긴 툴이 있다. 바로 DuckDB라는 것이다. 요즘 회사에서 데이터 베이스 설계를 하면서 SQL에 관심이 더 생기게 되었었는데,  마침 인프런(현재 게시글에 있음!)에 있는 강의를 들으면서 DuckDB에 대해서 알게 되었다. 단순히 찾아봤을 때 내가 자주 다루는 csv 파일이라던지 jupyter notebook이랑도 잘 연동된다고 해서 한번 공부를 해보려고 한다! 근데, 아쉬운 점이 한글판으로 나온 도서가 없다는 것이다. (못찾는 것일지도..) 그래서 공식 사이트와 각종 사이트 등을 읽으며 하나하나 공부를 해볼 예정이다!  DuckDB란?임베디드 분석 데이터베이스로, 대규모 데이터 처리를 로컬 환경에서도 빠르고 효율적으로 수행할 수 있도록 설계된 시스템SQLite와 비슷하게 작동하고, 주로.. 2024. 11. 12.
[혼자 공부하는 머신러닝 + 딥러닝] 트리의 앙상블 지금까지 다루었던 데이터를 돌아보면 전부 다 정형 데이터(Structured data)였습니다.그리고 지금까지 배운 머신러닝 알고리즘은 정형 데이터에 잘 맞는 알고리즘이였습니다.그 중에 사이킷런에서 제공하는 정형 데이터의 끝판왕인 앙상블 학습 알고리즘을 알아보겠습니다.  랜덤 포레스트(Random Forest) 랜덤 포레스트는 앙상블 학습의 대표 주자 중 하나로 안정적인 성능 덕분에 널리 사용되고 있습니다.앙상블 학습을 적용할 땐 가장 먼저 랜덤 포레스트를 시도해 보길 권합니다.  이름처럼 랜덤 포레스트는 결정 트리를 랜덤하게 만들어 결정 트리(나무)의 숲을 만드는 것입니다.그리고 각 결정 트리의 예측을 사용해 최종 예측을 만듭니다.  그럼 어떻게 숲을 구성하는지 관찰해보겠습니다.예를 들어 1,000개 .. 2024. 11. 11.
[혼자 공부하는 머신러닝 + 딥러닝] 교차 검증과 그리드 서치 테스트 세트로 일반화 성능을 올바르게 예측하려면 가능한 한 테스트 세트를 사용하지 말아야 합니다.그리고 일반화 성능을 가늠해보려면 테스트 세트에서 얻은 점수를 통해 확인할 수 있습니다. 어떻게 하면 두 가지를 지키면서 최적의 성능을 내는 하이퍼파라미터를 찾을 수 있을까요?  검증 세트(Validation Set) 테스트 세트를 사용하지 않으면 모델이 과대적합인지 과소적합인지 판단하기 어렵습니다.테스트 세트를 사용하지 않고 이를 측정하는 간단한 방법은 훈련 세트를 나누는겁니다.이를 바로 검증 세트(Validation Set)이라고 부릅니다.  방법과 비율은 다음과 같습니다.전체 데이터 중 20%를 테스트 세트로 만들고 나머지 80%를 훈련 세트로 만듭니다.그리고 훈련 세트 중에서 다시 20%를 떼어 내어 .. 2024. 11. 7.