인공지능 (10) 썸네일형 리스트형 K-nn K-nn 이란? test data z가 주어지면 training data 중 가장 가까운 거리 or 가장 유사도 큰 k개의 training data를 찾고, 이 k개의 neighbor에서 majority vote를 통해 z의 label 정하는 방식 supervised learning (정답값, 즉 label이 주어짐) train 과정이 필요 없다 Memory-based learning (training data points들을 외워서 test data와의 거리 / 유사도 파악해야해서) Cheap training & Expensive testing 그렇다면 similarity나 closeness를 어떤 방식으로 판단할까?! 1) Distance-based metrics - Euclidean distance.. Unsupervised learning - PCA 배경지식을 짚고 넘어가자! - eigenvector : 방향은 변하지 않고 크기만 변하는 벡터들 - eigenvalue : 얼마만큼 크기가 변했냐 그렇다면 왜 차원 축소(dimensionality reduction)가 필요할까?! 1) 차원의 저주 (curse of dimensionality) : 데이터 차원이 커진다면 data가 sparse 해져 모델이 data를 이해하는 데 방해 된다. 따라서 data가 sparse해진다면 model의 complexity가 증가하게 된다 2) multicollinearity : 데이터 차원이 커진다면 상관관계 갖는 feature들이 생길 확률이 증가한다 -> 이렇게 data 차원이 커지면 문제가 생기므로 많은 feature가 주어졌다면 아래와 같은 것들을 하는 게 중.. Unsupervised - Clustering Unsupervised learning : label이 주어지지 않음! (y값) -> unlabeld data의 structure를 학습하는 방식으로 이루어진다 ex) clustering, dimensionality reduction Clustering -> simmilar object들을 같은 cluster로 묶는 기법 -> 그렇다면 "simmilar object"인지 어떻게 결정할까? 1) Centroid-based clustering : centroid = cluster의 center : data가 centroid로부터 얼마나 떨어졌는지 계산한다 : ex) K-means 2) Density-based clustering : high density 영역을 연결한다 : ex) DBSCAN 3) Dist.. model assessment Bias-variance tradeoff model이 too simple -> large bias(small variance) & underfitting model이 too complex -> large variance(small bias) & overfitting -> bias와 variance는 tradeoff 관계, 즉 반비례 관계이다!! 따라서 우리는 bias와 variance 사이의 good tradeoff를 나타내는 모델을 선택해야 한다 train / test / validation set splits data를 train / test / validation set으로 split 해야함 same entire set을 쓰지 않는다 validation set이 필요한 이유?! Model selec.. Decision tree Decision tree에서 어떤 걸 node로 할지 정하는 기준이 뭘까? -> 어떤 feature를 node로 사용했을 때 homogeneous group이 많이 생성되는지 * homogeneous group이란? -> 같은 label의 멤버들만 contain 하는 그룹 1. 모든 feature를 node로 설정해본 후 각 feature 경우마다 몇 개의 homogeneous group member들이 생성되는지 세보기 2. 여기서 보면 outlook을 feature로 할 때가 가장 homogeneous group 개수가 많다. 따라서 얘를 node로 하기 위의 outlook의 경우를 보면 sunny일때 N,Y가 섞여있는 impure 상태다. 따라서 트리를 확장해서 더 separate, classifi.. Soft margin classifier 앞에서 봤던 Hard margin SVM은 data들에 대해 linear한 decision boundary를 찾을 수 있는 경우에 사용가능한 방법이었다. 하지만 현실에선 대부분 linear한 decision boundary 찾기 힘든 non-linear한 case이다. -> 이때 사용하는 게 Soft margin classifier ( Soft margin SVM) Soft margin classifier -> perfectly linearly separable case가 불가능하므로 잘못 classification 된 point들(outlier)도 허용하겠다 !! -> outlier들이 margin 안에 어느정도 포함되도록 너그럽게 기준 잡음 - c가 크면 outlier를 더 많이 고려함. outlie.. SVM (Hard margin classifier) linearly non-separable 한 경우, kerneling 한다 Margin -> 목표: data points와 hyperplane 간의 space(=margin)가 크도록하는 hyperplane 찾는 것 (여러 data를 이용하여 hyperplane 찾을텐데 margin이 작으면 결과가 바뀔수도 있어 confidence가 낮음) -> 이러한 margin을 측정하는 방법? 1. functional margin 2. geometric margin : 통계학적인 distance Functional margin -> hyperplane * label -> 값이 클수록 confident한 prediction -> 값이 양수면 올바른 predeiction이라는 뜻 (+*+ / -*-) -> 아무 의미 .. Linear Models for Classification Classification에서는 Linear Regression을 directly하게 사용할 수 없다 -> Classification은 discrete한 output인 반면에 Linear Regression의 ouput은 어떤 수치값이며 연속적이라 discrete 하지 않기때문에 -> 따라서 Linear Regression function에 뭔가 조작이 필요 -> 이래서 등장한 게 Logistic Regression! Logistic Regression linear regression model을 sigmoid function에 넣은 형태 ( sigmoid는 output이 항상 0~1 사이이기에 classification을 도와준다 ) sigmoid function 선택하면 좋은 점 : g(x)를 미분취.. 이전 1 2 다음