Data Analysis/ML & DL 14

[ML] 선형 회귀모델

선형 회귀모델 (Linear Regression)변수들 사이의 관계를 추정하는 분석 방법관측 값을 가장 잘 나타내는 직선 혹은 곡선의 방정식을 구하는 통계적 방법독립변수(x1, x2, …값)가 종속변수(y값)에 미치는 영향 분석다중회귀 분석, 단순회귀 분석단순 선형 회귀모델 (Simple Linear Regression)Y = b + wx + 𝜖다중 선형 회귀모델 (Multiple Linear Regression)Y = b + w1x1 + w2x2 + 𝜖최소제곱법 (Least Square Estimator)회귀모델에서 SSE(제곱오차)를 최소화 시키는 모델 파라미터 b, w1, w2 …를 결정하는 방법경사하강법 (Gradient Descent)전체 배치 경사하강법 (Full Batch Gradient..

[ML] 나이브 베이즈

나이브 베이즈 (Naive Bayes)지도학습, 모델기반 분류 모형나이브 베이즈는 순수하게 분류를 위한 모델특성들 간의 독립을 가정하기 때문에 단순화시켜 처리하는 경우에 주로 사용되며 스팸메일 분류, 네트워크 침입 탐지, 비정상행위 탐지, 질병진단 등에 사용된다.나이브 베이즈 장단점장점구현이 쉽고 대부분 좋은 결과를 제공특성들 사이의 연관성을 고려하지 않아 계산이 간단하고 빠르다.적은 크기의 훈련 데이터에서도 잘 동작한다.단점특성들 간의 독립을 가정하기 때문에 종속적인 자료들의 경우 정확도가 떨어진다.분류모델 종류카테고리 나이브 베이즈 분류 모델(CategoricalNB)이진분류가우시안 나이브 베이즈 분류 모델(GausianNB)연속형 특성값우도 추정시 정규분포 사용다중 분류베르누이분포 나이브 베이즈 분..

[ML] K-최근접 이웃

K-최근접 이웃 (K-nearest Neighbors)거리를 이용해 분류(Classification) 또는 회귀(Regression)를 수행하는 알고리즘주어진 개체에 대하여 근처의 K개의 개체들의 클래스들 중에서 가장 많은 클래스로 주어진 개체의 클래스를 지정하는 방법n차원 공간에서 두 점 (X, Y) 사이의 거리는 유클리디안 거리 이용dist(X, Y) = 루트 (x1-y1)^2 + (x2- y2)^2 + … + (xk-yk)^2지도학습, 사례기반 학습예시남녀 구분(머리카락 길이, 키, 몸무게 등)토마토는 채소인지 과일인지 구분할 수 있는 변수(features)로 sweetness, crunchiness를 선정K-최근접 이웃 분류train_data, train_target, test_data, test..

[ML] 차원축소

차원축소많은 변수(feature)로 구성된 데이터 세트의 차원을 감소시켜서 새로운 데이터 시트 생성수백개 이상의 피처로 구성된 데이터 세트는 적게 구성된 세트의 학습 모델보다 예측 신뢰도가 낮다. (과대적합)3차원 이하의 차원 축소를 통해 처리 능력 향상 가능과대적합 (overfitting)머신러닝 모델 학습 시 학습 데이터셋에 지나치게 최적화할 때 발생모델을 지나치게 복잡하게 학습하여 모델 성능은 높게 나타나지만, 새로운 데이터가 주어졌을 때 정확한 예측이나 분류를 수행하지 못한다.과소적합 (underfitting)모델이 충분히 복합하지 않아서 학습 데이터의 구조나 패턴을 정확히 반영하지 못할 때 발생학습 데이터셋 모델 성능보다 새로운 데이터셋에서 모델 성능이 더 높게 나오는 상태차원축소 방법피처 선택..

[ML] 군집분석

군집분석 (Cluster Analysis)주어진 데이터 개체들을 소속 집단의 정보가 없는 상태에서 서로 유사한 것들끼리 그룹화하는 비지도 학습 방법같은 군집내의 개체들은 서로 높은 유사성을 갖고 다른 군집에 속한 개체들은 상대적으로 낮은 유사성을 갖도록 군집화가 이루어짐거리 측도는 군집화를 위한 대표적인 유사성 측도두 개체간의 거리가 가까울수록 서로 유사성이 커진다.유클리디언 거리가 가장 일반적으로 사용되는 거리 측도이다.유클리디언 계산법 = (x1-x2)^2 + (y1-y2)^2 에 루트 씌우기대표 기법계층적 군집화K-평균 군집화(K-means clustering)계층적 군집화절차병합 (agglomerative)가까운 개체끼리 군집화 시키는 방법개별 → 전체분리 (divisive)먼 개체들을 나누어 가..

[ML] 인공지능과 기계학습

지능 (intelligence) 인간이 사물을 이해하고 학습하는 능력 어떤 문제가 주어졌을 때 합리적으로 사고하여 문제를 해결하는 능력 인공지능 (Artificial Intenlligence) 인간의 인지적인 기능을 모방, 문제 해결을 위해 학습하고 이해하는 기계 인공지능의 발전 탐색의 시대(1960~1974) 초기의 AI 프로그램은 대부분 기본 탐색 알고리즘 사용 (단계별로 진행하고, 막다른 곳에 도달할 때 되돌아가는) 해당 시대에는 충분한 CPU나 메모리가 없었기 때문에 많은 정보의 데이터베이스를 만들 수 없었고, 어떻게 학습해야 하는지 알지 못했다. 지식의 시대(1980~1987) 전문가 시스템(expert system) 등장 전문가 시스템: 전문가로부터 지식을 얻어 데이터베이스 생성→ 추론 엔진→..

혼자 공부하는 머신러닝+딥러닝 / 혼공 학습단 회고

짧다면 짧고, 길다면 길었던 혼공 학습단이 끝났다. 내가 이번 혼공 학습단을 하며 가장 원했던 것은 저녁에도 공부를 하는 삶이었다. 나의 큰 인생 목표 중 하나가 죽을 때까지 공부하기인데, 생각보다 저녁에 책상에 앉아서 혼자 공부하기가 참 어렵다.. 마침 혼공 학습단을 알게 되어서 혼자 공부하는 루틴을 갖는 데 도움이 되겠다 하고 신청했다. 눈에 보이는 강제는 없지만 약간의 내 맘속에서 신경쓰이는 덩어리가 하나 있는것만으로도 자연스럽게 책상에 앉게 되었다.. 그리고 가끔씩 날라왔던 간식 기프티콘도 뿌듯함을 느끼게 해줬다. 그리고 개념을 읽고, 코드를 작성하고, 특히 마지막 정리하면서 블로그에 글 올리는 게 도움이 많이 되었다. 개념을 더 쉽게, 잘 보이게 쓰고 싶었지만 생각보다 남이 잘 이해하도록 글 쓰..

혼자 공부하는 머신러닝+딥러닝 / Chapter 07 딥러닝을 시작합니다

Chapter 07-1 인공 신경망 - 인공 신경망 (artificial neural network, ANN) 뉴런에서 영감 받은 머신러닝 알고리즘 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하고 딥러닝이라고도 한다. 케라스이 Sequential 클래스 사용 출력층(output layer): z값을 계산하고 이를 바탕으로 클래스를 예측, 신경망의 최종 값을 만든다. 뉴런(neuron): z값을 계산하는 단위, 유닛이라고 부르기도 한다. 입력층: x값이고 픽셀값 자체이기 때문에 특별한 계산을 수행하지 않는다. 밀집층(dense layer): 가장 기본이 되는 층이며 픽셀과 뉴런이 모두 연결된 선이다. 완전 연결층이라고도 부른다. - 텐서플로우 구글이 공개한 딥러닝 라이브러리 CPU와 GPU를 사용해..

혼자 공부하는 머신러닝+딥러닝 / Chapter 06 비지도 학습

Chapter 06-1 군집 알고리즘 - 비지도 학습(unsupervised learning) 타깃이 없을 때 사용하는 머신러닝 알고리즘, 사람이 가르쳐 주지 않아도 데이터에 있는 무언가를 학습한다. - 군집(clustering) 비슷한 샘플끼리 그룹으로 모으는 작업, 대표적이 비지도 학습 작업 중 하나이다. 군집 알고리즘에서 만든 그룹을 클러스터(cluster)라고 한다. - 함수 모음 subplots(): 여러 개의 그래프를 배열처럼 쌓을 수 있는 함수 mean(): 평균값을 계산하는 메서드 abs(): 절대값을 계산하는 함수 코랩 실습 화면 import numpy as np import matplotlib.pyplot as plt fruits = np.load('fruits_300.npy') pri..

혼자 공부하는 머신러닝+딥러닝 / Chapter 05 트리 알고리즘

Chapter 05-1 결정 트리 - 결정 트리(Decision Tree) 예, 아니오에 대한 질문을 이어가면서 정답을 찾아 학습하는 알고리즘 사이킷런의 DecisionTreeClassifier 클래스 사용 특성값의 스케일은 결정 트리 알고리즘에 영향을 미치지 않기 때문에 표준화 전처리를 할 필요없다. 특성 중요도(불순도를 감소하는데 기여한 정도)를 활용하면 결정 트리 모델을 특성 선택에 활용할 수 있다. 불순도: 결정 트리가 최적의 질문을 찾기 위한 기준 지니 불순도(Gini impuricity)는 1 - (음성 클래스 비율의 제곱 + 양성 클래스 비율의 제곱)으로 구한다. 지니 불순도가 0이라면 순수 노드라고 부른다. 결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이(정보 이득, informat..

728x90