본문 바로가기

분류 전체보기

(76)
[ML] 결정트리(Decision Tree) 한 번에 정리하기 * 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 순서 결정트리 알고리즘의 개념 개념 구조 하이퍼파라미터 튜닝 특성중요도 1. 결정트리 알고리즘의 개념 1-1. 개념 결정트리 알고리즘을 한 마디로 설명하면 스무고개 입니다. 그런데 기가막히게 예리한 질문지들을 척척 만들어내는 녀석입니다. 예를 들어 강아지, 고양이, 새 사진이 각각 100장씩 섞여있는 그룹에서 이 세 가지를 정확하게 분류하려면 어떤 질문들이 필요할까요? 일단 날개가 있는지로 새를 정확하게 분류할 수 있을 것 같습니다. 그리고 날개가 없는 강아지와 고양이는 눈동자의 모양이 날카로운지에 따라 분류할 수 있을 것입니다. 하지만 이 기준으로 강아지와 고양이를 100% 분류할 수 없기 때문..
피쳐 스케일링 (Feature Scaling) * 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 순서 표준화(Standardization) - StandardScaler 정규화(Normalization) - MinMaxScaler fit(), transform() 의 역할 log 변환 1. 표준화 (Standardization) - StandardScaler 값들이 평균으로부터 얼마나 떨어져 있는지 나타내는 방법입니다. 평균을 빼고 표준편차로 나눠주면서 가우시안 정규분포(평균=0, 분산=1)를 가진 값들로 변환하는데, 이는 단위가 서로 다른 특성들의 변화를 비교하기에 적합합니다. 예를 들어 키가 177이고 몸무게가 70인 열로 특성을 가지기 보다, 키와 몸무게가 평균보다 각각 얼만큼 큰지를 ..
[cs231n] kNN보다 나은 선형분류(Linear Classification) 지난 포스팅에서 이미지 분류 기법 중 하나인 k-NN 에 대해 공부해보았습니다. 하지만 모든 사진의 픽셀 행렬값을 연산하는 방법은 너무 비효율적이기 때문에 실무에서는 사용하지 않는다고 했고, 오늘은 그 문제점을 극복한 선형 분류(Linear Classification) 기법을 공부해보겠습니다. 순서 선형 분류의 원리 오차 함수(Loss function)의 등장 규제 (Regularization) 최적화 (Optimization) 결론 1. 선형 분류의 원리 말 그대로 선형 분류는 이미지를 선형식으로 나타낸 후 분류하는 기법입니다. 이전 포스팅에서 이미지는 픽셀별 숫자의 형태, 즉 행렬의 형태로 나타난다고 했었는데요, 이 행렬의 특성을 이용하여 가중치 w와 편향값 b를 추가하여 선형식으로 변환하는 것입니다..
[cs231n] 컴퓨터는 고양이 사진을 보고 고양이인지 알까? 순서 컴퓨터는 이미지를 어떻게 인식할까? 컴퓨터에게 이미지를 어떻게 학습시킬까? NN (Nearest Neighbor) k-NN (k-Nearest Neighbor) 결론 1. 컴퓨터는 이미지를 어떻게 인식할까? 위 사진은 강아지와 고양이 중에 어떤 사진인가요? 네!! 바로 고양이 사진입니다. 어떻게 고양이 사진이라고 생각하게 되었나요? 아마 어렸을때부터 수많은 고양이들을 봤고, 그 동물이 고양이라는 것을 학습했기 때문일 것입니다. 그렇다면 컴퓨터가 이 사진이 고양이 사진이라는 것을 알 수 있게 하려면 어떻게 해야할까요? 우리가 고양이를 학습한 것과 마찬가지로, 컴퓨터에게 수억만장의 고양이 사진을 보여주면서 고양이라고 학습시키면 될 것 같습니다. 이렇게 학습시키는 방법을 '데이터 기반 접근법(Data-D..
[cs231n] 사람이 보고 느끼는 것을 컴퓨터가 할 수 있을까? 컴퓨터 비전(Computer vision) 다음 사진을 3초간 보고난 후 떠오른 생각을 이야기해봅시다. 자!! 이제 어떤 생각이 드셨나요?? 놀람, 당황, 슬픔, 기쁨, 웃김 중에 어떤 감정이 들었나요? 아마 대부분 웃김을 선택하셨을텐데요, 그 과정에 어떤 프로세스가 있었는지 되짚어봅시다. 먼저 체중계에 올라간 사람이 생각했던 몸무게보다 훨씬 높은 숫자를 보고 당황하고 있습니다. 하지만 이는 뒤에 있는 사람이 몰래 발을 올렸기 때문인데요, 여기서 주목해야할 점은 장난을 치고 계신 분이 미국의 전 대통령 이라는 점입니다. 보통 대통령이라고 하면 근엄하고 진지한 이미지가 그려지기 때문입니다. 이런 정보를 사람이 아닌 기계도 생각할 수 있을까요? 그게 바로 '컴퓨터 비전(Computer Vision)'의 시작..
[Python] 알고 써라!! 판다스(Pandas) * 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 안녕하세요!! 지난번에는 넘파이(Numpy) 패키지에 대해서 공부했습니다. 만약 넘파이에 대해 잘 모르신다면 이전 포스팅을 먼저 읽어보고 오시는 것을 추천드립니다. 오늘은 파이썬에서 넘파이와 더불어 정말 많이 사용되는 "판다스(Pandas) 패키지"에 대해서 공부해보겠습니다. 넘파이 패키지가 1차원 배열의 처리를 도왔다면, 판다스 패키지는 2차원 이상의 데이터 처리를 돕는다고 할 수 있습니다. 역시 딱딱한 설명으로는 잘 와닿지가 않죠? 천천히 생각해봅시다. 사실 우리는 알게 모르게 판다스를 많이 사용해왔습니다. 로컬 저장소에 있는 파일을 가져올때, 가져온 데이터를 전처리 할 때(ex. 결측치 처리..
[Python] 알고 써라!! 넘파이(Numpy) * 해당 포스팅은 파이썬 머신러닝 완벽가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글 입니다. 안녕하세요!! 오늘은 파이썬 머신러닝에서 정말 많이 사용되는 패키지 중 하나인 "넘파이(Numpy) 패키지" 에 대해서 정리해보겠습니다. 보통 머신러닝 책의 도입부에서 많이 설명되는 개념이기 때문에 머신러닝 입문자 분들이라면 이미 많이 보셨을테지만, 정확한 개념을 몰라도 코드를 짜는데 아무 문제가 없기 때문에 대충 훑어보고 넘어가는 경우가 많은것 같습니다. 하지만 이쪽 분야를 공부하면 공부할수록 기본기의 중요성에 대해 깨닫게 되고, 이런 기본기가 없으면 난잡하고 불필요한 코드를 짜는데에 많은 시간을 소비하던 저의 경험을 바탕으로 기본기 공부를 시작하게 되었습니다. 처음부터 천천히 읽어보시면서 왜 ..
[ML] Logistic Regression Linear Regression 은 데이터를 가장 잘 표현하는 직선을 찾는 것이라고 했습니다. 그럼 Logistic Regresion 은 뭘까요? 데이터를 가장 잘 분류하는 직선을 찾는 것이라고 할 수 있습니다. 어떻게 그 직선을 찾을까요? 선형회귀와 같은 방법으로 cost function (손실함수, 실제 값과 예측 값과의 차이)을 정의하고, 이를 최소화하는 지점을 gradient descent 기법을 통해 찾으면 됩니다. 잠깐 복습해봅시다. 선형 회귀 (Linear Regression) 가설 함수(H(x)) = w*x + b 손실 함수(cost function) w 값에 따른 cost 값 변화 로지스틱 회귀 (Logistic Regression) 로지스틱 회귀는 시그모이드(sigmoid) 함수를 기반..