본문 바로가기

분류 전체보기

(24)
8. 차원 축소 차원의 저주: 훈련 샘플이 너무 많은 특성을 가지고 있어 이가 훈련을 느리게 하고 좋은 솔루션을 찾는 것을 막는 현상-> 특성 수를 줄여서 이와 같은 문제 해결 가능(차원 축소) 차원 축소- 일부 정보의 유실 가능- 그래프 표현/군집화 등 데이터 시각화에 유리- 훈련 속도 증가 8-1) 차원의 저주 - 고차원 공간에서 샘플링 시 특정 점이 일정 범주에 공간 안에 있을 확률 극도로 낮아짐- 다차원 공간으로 확장할수록 같은 단위 공간 안에 있는 두 점 사이의 거리 멀어짐- 고차원 데이터셋은 매우 희박함 (대부분의 훈련 세트가 서로 멀리 떨어져 있음) -> 따라서, 예측 시 예측 결과가 불안정함-> 훈련 세트의 차원이 클수록 과대적합 위험 8-2) 차원 축소를 위한 접근법 8-2-1) 투영모든 훈련 샘..
6. 결정 트리 / 7. 앙상블 6. 결정 트리- 분류와 회귀, 다중 출력까지 가능한 다목적 머신러닝 알고리즘- 복잡한 데이터셋도 학습 가능 (랜덤포레스트의 기본 구성 요소) 6-1 결정 트리 학습과 시각화- Iris 데이터셋을 결정 트리 알고리즘에 피팅해본 예from sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifieriris = load_iris(as_frame=True)X_iris = iris.data[["petal length (cm)", "petal width (cm)"]].valuesy_iris = iris.targettree_clf = DecisionTreeClassifier(max_depth=2, random_state=42)tre..
5. SVM 서포트 벡터 머신 (SVM)- 선형이나 비선형 분류, 회귀, 특이치 탐지에 사용할 수 있는 다목적 머신러닝 모델- 중소규모 비선형 데이터셋 분류 작업에 좋음- 매우 큰 데이터셋으로 확장 어려움 5-1) 선형 SVM 분류- 두 클래스를 나눌 뿐만 아니라 최외곽 샘플 바깥쪽에 샘플이 추가되어도 분류 결과에 크게 영향을 미치지 않는 결정 경계를 찾는 것이 중요함- 클래스 사이 가장 폭이 넓은 도로를 찾는 것을 라지 마진 분류라고 함- 도로 경계에 위치한 샘플: 서포트 벡터 * SVM은 스케일에 매우 민감함. 왼쪽 그래프의 X1 스케일이 X0에 비해 커서 다음과 같이 결정 경계를 정하는 문제가 생길 수 있음-> StandardScaler 사용하면 해결 가능 5-1-1) 소프트 마진 분류 하드 마진 분류- ..
9. 비지도 학습 - 군집: 비슷한 샘플을 클러스터로 모으는 것- 이상치: 정상 데이터의 특징을 학습하여 이를 비정상 샘플을 감지하는 데에 사용하는 것- 밀도 추정: 데이터셋 생성 과정의 확률밀도함수(PDF) 를 추정하는 것 1) 군집- 왼쪽처럼 label이 있는 것이 분류, 오른쪽처럼 label이 없는 상태로 비슷한 샘플을 클러스터로 묶는 것이 분류 - 고객 분류, 데이터 분석, 차원축소 기법, 특성 공학, 이상치 탐지 등등에 활용 1-1) K-Meansfrom sklearn.cluster import KMeansfrom sklearn.datasets import make_blobs# 추가 코드 - make_blobs()의 정확한 인수는 중요하지 않습니다.blob_centers = np.array([[ 0.2, 2...
4.1~4.3 4. 모델 훈련 (1) 선형 회귀- 닫힌 형태 방정식(closed form equation) 을 사용하여 훈련 세트에 대해 최적의(손실 함수를 최소화하는) 파라미터를 찾는 방법- 경사 하강법 (Gradient descent)를 통해 모델 파라미터를 점진적으로 바꾸면서 Cost를 최소화하는 파라미터로 수렴하도록 하는 방식 (2) 다항 회귀 - 비선형, 선형 회귀에 비해 오버피팅되기 쉬움- 오버피팅 감지, 규제 기법 소개 (3) 분류 - 로지스틱 회귀 / 소프트맥스 회귀  4.1 선형 회귀- 일반적으로 입력 특성의 가중치 합과 편향을 더해 예측값을 결정함- y^: 예측값- n: 특성의 수- x^i: i번째 특성값-  θ^j : j 번째 모델의 파라미터 * 선형 회귀의 벡터 표현- h^ θ(x) : 모델 파라..
2.5 ~3.7 2.5 데이터 준비 데이터 준비를 함수로 자동화 이유- 어떤 데이터셋에 대해서도 데이터 변환을 손쉽게 반복할 수 있음- 향후 프로젝트에 재사용 가능한 변환 라이브러리를 점진적으로 구축할 수 있음- 실제 시스템에서 알고리즘에 새 데이터를 주입하기 전에 이 함수를 사용해 변환할 수 있음- 여러 가지 데이터 변환을 쉽게 시도 및 어떤 조합이 가장 좋은지 확인하는데 편리 2.5.1 데이터 정제1. 해당 구역 제거2. 전체 특성 삭제3. 결측치를 어떤 값으로 대체함 (imputing) : 주로 0, 1, 평균 housing.dropna(subset=["total_bedrooms"], inplace=True)    # 옵션 1 housing.drop("total_bedrooms", axis=1)           ..
1-4~2-4 1-4) 머신러닝 시스템의 종류 - 훈련 지도 방식에 따른 분류 [지도학습]- 지도 학습(supervised learning)에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답이 포함- 분류, 회귀가 전형적인 지도 학습 작업 [비지도학습]- 훈련 데이터에 label이 없음. 모델 스스로 학습- 클러스터링, 시각화와 차원 축소, 특성추출(차원축소), 연관 규칙 분석, 이상치 탐지 [준지도학습]- 지도학습 + 비지도학습- 다수의 레이블 없는 샘플과 소수의 레이블 있는 샘플로 데이터셋 구성 [자가 지도 학습]- 레이블 없는 데이터셋에서 레이블 생성- ex) 이미지 랜덤 마스킹 후 복원 등 [강화 학습]- 에이전트가 액션에 따른 보상을 최대로 만드는 방법으로 훈련시키는 것 - 배치 학습과..
HCI-Korea 2025 Paper / Demo Demo 1 Demo 2