본문 바로가기

ML6

[ML] 9주차 - Dimensionality Reduction 11.03.2023 0. Introduction Dimension, 차원: 피쳐의 갯수 데이터의 피쳐가 많다고 해서 성능이 좋아지는 것은 아니다. 피쳐가 많으면 좋은 솔루션, 좋은 성능을 가지는 머신러닝 모델을 만드는 것이 어려워진다. 이 경우 Dimensionality Reduction, 차원 축소가 필요하다. 차원 축소를 할 경우 데이터의 손실을 최소화하면서도 차원을 의미있는 수준까지 줄여야 한다. 차원 축소는 학습시간을 줄여주는 것뿐만 아니라 데이터 비주얼라이제이션에도 굉장히 편리하다. 1. The Curse of Dimensionality, 차원의 저주 인간은 3차원에서 살고 있기 때문에 차원이 그보다 높아지면 직관적으로 이해가 힘들다. 예를들어 평면에서 랜덤 포인트를 잡아낼 때 보더라인에 0.0.. 2023. 11. 3.
[ML] 5주차 - SVM 10.22.2023 0. Support Vector Machine, SVM Support Vector Machine, SVM은 리니어, 논리니어 클래시피케이션, 리그레션, 아우터 디텍션까지도 모두 할 수 있는 강력한 만능 머신 러닝 모델이다. 특히 복잡한 작은-중간 사이즈의 데이터들을 클래시피케이션하는데 특화되어 있다. (컴플렉스한 피쳐를 가지고 있을 때) 1. Linear SVM Classification 두 개의 클래스를 가르는 디시전 바운더리는 많다. 우리는 그 중에서 가장 좋은 디시전 바운더리를 골라야 한다. 가장 좋은 디시전 바운더리란, 최대한 두 클래시피케이션과 디시전 바운더리 사이의 margin이 똑같고 최대한 넓은 디시전 바운더리이다. 두 마진을 우리는 스트릿이라고 부르는데, 스트릿 외부에.. 2023. 10. 23.
[ML] 4주차 - 트레이닝 모델 10.22.2023 0. Introduction Linear Regression은 가장 심플한 모델들 중에 하나다. 이 모델을 학습하는데에는 2가지 방법이 있다. 1. A direct closed-from equation. 다이렉트하게 코스트 펑션을 최소화하는 파라미터를 계산. 2. Gradient Descent, which is an interative optimization. 모델 파라미터를 조금씩 변경하면서 코스트 펑션을 최소화하는 파라미터를 찾아내는 기법 1. Linear Regression 리니어 리그레션은 인풋 피쳐에 대한 가중치를 가진 총합과 바이어스 텀(Bias Term)이라는 상수값으로 예측을 만드는 모델 y=f(x)라는 함수가 있을 때, 우리가 아는 것은 x, y가 포함된 데이터셋이며,.. 2023. 10. 22.
[ML] 머신러닝 3주차 - Classification 10.08.2023 1. MINIST MNIST는 기계학습의 기본적이고 유명한 7만개의 수기로 쓴 0부터 9까지의 정수 이미지 데이터셋이다. 사이킷런에서는 이 데이터셋을 다운로드 받을 수 있도록 제공하고 있다. 각 인스턴스는 하나의 행이며, 각 피쳐가 하나의 컬럼이 된다. 이 데이터셋의 경우, 하나의 이미지는 784개의 피쳐를 가지고 있다.(28*28 픽셀이기 때문) 하나의 피쳐는 각 픽셀의 intensity를 의미한다. (0-255) MINIST데이터셋은 이미 트레이닝 데이터와 테스트 데이터로 나뉘어져 있다(6만, 1만) 그리고 이미 균형잡히게 섞여져 있음. 만약 그렇지 않다면 전체 파퓰레이션 반영을 못하게 되므로 셔플이 잘 되어있어야 함. 2. Training a Binary Classifier 이제.. 2023. 10. 8.
[ML] 머신러닝 2주차 복습 정리 09.30.2023 2주차에서는 머신러닝 프로젝트가 어떻게 시작하고 흘러가서 끝나는지 전반적으로 설명을 합니다. ML 프로젝트의 파이프라인은 여기서 제공되는 것과 별반 달라지지 않습니다. 이번 주차에서는 캘리포니아 부동산 가격 데이터셋을 이용하여 모든 지역의 부동산 중간 값을 예측합니다. 1. 빅픽처 그리기 1-1. 문제 정의 모델을 만드는 것은 목적이 아니다. 그 모델을 이용해서 (현업에 있는 경우라면 회사가) 어떤 이득을 얻을지 생각해보아야 한다. 어떻게 문제를 정립할지, 어떤 알고리즘을 이용하고 어떤 퍼포먼스 메쥬어를 이용할지, 그리고 원하는 성능을 얻기 위해 얼마나 노력을 투여할지 등이 모두 '목적이 무엇인가'에 달려있다. 이 챕터에서 모델의 목표는 모델의 아웃풋이 다른 ML 시스템에 공급되는것,.. 2023. 10. 1.
[ML] 머신러닝 1주차 복습정리 09.17.2023 1. 머신러닝이란 무엇인가 머신러닝이란 컴퓨터가 데이터를 통해서 학습을 할 수 있도록 컴퓨터를 프로그래밍하는 학문이다. 그러나 하드코딩하는 프로그램이 아닌 explicitly programming 없이 컴퓨터가 스스로 학습하도록 프로그래밍 한다. 머신러닝은 T, 어떠한 태스크에대한 E, 경험으로부터 배우고 그 태스크에 대한 P, 성능은 경험과 함께 발전한다. 트레이닝에 필요한 데이터들을 트레이닝 셋이라 부르고, 각각의 트레이닝 example들은 트레이닝 인스턴스라고 부른다. 특정 성능 기준치는 정확도이다. 1-1. 스팸필터 예제 만약 스팸필터를 하드코딩하려면 스팸의 특징 및 패턴을 분류하고 그에 따른 알고리즘을 만들어야함. 성능이 좋지 않으면, 좋을 때까지 알고리즘을 새로 생각해내어야.. 2023. 9. 17.