본문 바로가기

프로그래밍/머신러닝18

딥러닝 알아보기(인공지능, 머신러닝, 딥러닝의 관계)_파이썬으로 머신러닝 배우기 딥러닝 살펴보기 먼저 인공지능, 머신러닝, 딥러닝의 차이를 알아보자. 인공지능은? 사람이 갖는 지능을 흉내내는 인공적인 지능을 의미한다. 머신러닝은? 데이터를 이용해 기계를 학습시키는 방법을 의미한다. 딥러닝은? 머신러닝의 한 종류로 인공신경망을 이용하는 방법을 의미한다. 딥러닝에도 다양한 알고리즘이 존재하는데 1)-4) 까지가 주로 사용된다. 1) 합성곱 신경망(Convolutional Neural Network, CNN) 영상처리, 신호처리 2) 순환 신경망(Recurrent Neural Network, RNN) 자연언어 처리 3) 심층 신뢰 신경망(Deep Belief Network, DBN) 학습 데이터가 적을 때 4) 심층 Q-네트워크(Deep Q-Networks) 강화학습 1. 데이터 유형 머.. 2021. 5. 31.
비지도학습(AgglomerativeClustering)_파이썬으로 머신러닝 배우기 1. AgglomerativeClustering이란? 병합균집을 의미한다. 즉, 가장 가까운 것끼리 합치는 것을 의미한다. ward : 분산을 가장 작게 하는 방법 average : 평균 거리를 가장 짧게 하는 방법 2. Iris 데이터를 사용해보기 import numpy as np from sklearn.cluster import AgglomerativeClustering from sklearn import datasets from sklearn import metrics from sklearn.metrics.cluster import homogeneity_score,completeness_score,v_measure_score iris = datasets.load_iris() X = iris.data.. 2021. 5. 26.
비지도학습(DBSCAN)_파이썬으로 머신러닝 배우기 1. DBSCAN(Density-Based Spatial Clustering of Applications Noise) 공간 밀집도를 기반으로 코어 포인트, 보드 포인트를 정한다. K-Means 클러스터링 방법은 단순하고 강력한 방법이지만 클러스터의 모양이 원형이 아닌 경우에는 잘 동작하지 않으며 클러스터의 갯수를 사용자가 지정해주어야 한다. DBSCAN은 데이터가 밀집한 정도 즉 밀도를 이용하여 클러스터의 형태에 구애받지 않으며 클러스터의 갯수를 사용자가 지정할 필요가 없다. 2. Iris 데이터를 DBSCAN으로 군집화하기 아래는 거리가 0.5 10개의 데이터가 있으면 군집화시키는 코드이다. import numpy as np from sklearn.cluster import DBSCAN from skl.. 2021. 5. 24.
비지도학습(K-mean)_파이썬으로 머신러닝 배우기 비지도학습의 평가 방법 1) completemcess 2) homogeneity 3) The V-measure(1과2의 평균) 1. K-평균 사용 방법 1) 임의로 두 개를 선택한다. 2) 각 자료들은 가까운 두 그룹으로 배당한다. 3) 각 군집내의 자료들의 평균을 계산한다. 중심이 평균값이다. 4) 최대 반복수까지 또는 평균이 수렴할 때까지 반복한다. 특징 1) 반드시 군집수를 결정해야한다. 2) 초기값이 중요하다(초기값이 서로 떨어진 것). 3) 이상한 자료에 민감하다. 2. Iris(붖꽃 데이터)로 K-Mean 사용해보기 from sklearn.cluster import KMeans from sklearn import datasets iris = datasets.load_iris() X = iris.. 2021. 5. 20.
iris 분류하기(K-NN모델)_파이썬으로 머신러닝 배우기 머신러닝의 학습 종류는 지도학습 비지도학습 강화학습 이렇게 3가지가 있다. 그 중 K-NN모델을 활용해 지도학습하는 방법을 살펴보자! 1. Confusion Matrix(평가 방법) 2. Confusion Matrix(평가 방법)의 Presicion(정확도), Recall(재현율), F1_scroe(점수) F1_score : 정확도와 재현율을 균등하게 반영 3. 다양한 데이터 수집 UCI 에서 제공하는 다양한 데이터 archive.ics.uci.edu/ml/datasets.php UCI Machine Learning Repository: Data Sets archive.ics.uci.edu Kaggle에서 제공하는 빅데이터 www.kaggle.com/datasets Find Open Datasets an.. 2021. 5. 10.
인공신경망(neural_network)_파이썬으로 머신러닝 배우기 1. 인간 뇌의 특징 인간의 뇌는 100억개의 뉴런과 각 뉴런을 연결하는 6조 개의 시냅스의 결합체라고 한다. 인간의 뇌는 매우 복잡하며, 비선형적이고, 병렬적으로 정보를 처리한다. 2. 인공신경망의 특징 인공신경망은 입력신호, 가중치, 출력신호로 이루어진다. 뉴런은 입력신호에 가중치를 부여함으로써 출력신호를 만들어낸다. 3. neural_network를 활용해보기 손실, 계수, 바이어스, 반복, 출력, 손실, 층수도 나타내보자! 4. Teachable Machine에서 조절 가능한 인자 5. 인자 살펴보기 hidden_layer_sizes = (j,j), max_iter = k, learning_rate_init = i, random_state = 0, tol = 0.01 6. 수학 점수로 총점 예상하.. 2021. 5. 5.
결정 트리(Decision Tree)_파이썬으로 머신러닝 배우기 결정 트리(Decision Tree) 1. 결정 트리(Decision Tree)알아보기 결정 트리는 데이터를 분석하여 이들 사이에 존재하는 패턴을 예측 가능한 규칙들의 조합으로 나타내며, 그 모양이 ‘나무’와 같다고 해서 의사결정나무라 불린다. 질문을 던져서 대상을 좁혀나가는 ‘스무고개’ 놀이와 비슷하다고 볼 수 있다. 결정 트리(Decision Tree)는 분류와 회귀에 사용된다. 분류 기준이 변수 값이 된다. 성별 = 남자, 여자 안경 = 썼다, 안썻다 일처리 = 천천히, 빠르게 등등이 있고 아래 그림처럼 분류 기준에 따라 나누어진다. 2. 정보 획득 이론 정보 획득 이론이란 같은 성질의 것은 증가시키고 다른 성질의 것은 줄이는 것을 의미한다. 엔트로피가 크면 이질성이 크다는 것을 의미하는데 엔트로피.. 2021. 5. 3.
k-근접 모델(KNeighborsRegressor)_파이썬으로 머신러닝 배우기 파이썬으로 머신러닝 배우기 K-NN(nearest neighbor) 모델 K근접모델 1. K-NN알고리즘이란? K-NN알고리즘은 지도 학습 알고리즘 이다. 가장 가까운 이웃끼리 범주화 하는 것을 의미한다. 2. K-NN모델 테스트 import matplotlib.pyplot as plot import numpy as np import math x = np.random.rand(100,1) x = x * 10 - 5 y = np.array([math.sin(i) for i in x]) y = y + np.random.randn(100) from sklearn.neighbors import KNeighborsRegressor model = KNeighborsRegressor() model.fit(x, y) .. 2021. 4. 29.
그레이디언트 부스팅(GradientBoostingRegressor)_파이썬으로 머신러닝 배우기 그레이디언트 부스팅 모듈 사용해보기! 1. 그레이디언트 부스팅이란? 이전 트리의 오차를 보완하는 방법 (랜덤 포레스트를 개선한 방법이다!) 특징 강력한 가지치기 트리의 깊이가 깊지 않다. 무작위성이 없다. 매개 변수 조절이 힘들다. 2. 인자 결정 n_estimator : 트리의 수 max_depth : 트리의 깊이 max_features : 나누는 수 Learning rate : 학습률 랜덤 포레스트에서는 트리의 수가 가장 중요한 인자이고 그레이디언트 부스팅은 트리의 수와 학습률 두 가지가 중요한 인자이다. 3. 그레디언트 부스팅 실제로 사용해보기! x, y 를 랜덤 데이터로 만들어주고 그레디언트 부스팅 모듈을 사용해 예측해보자! import matplotlib.pyplot as plot import .. 2021. 4. 26.
랜덤 포레스트(RandomForestRegressor)_파이썬으로 머신러닝 배우기 앙상블(emsemble) 랜덤 포레스트(Random forest) 모델 1. 랜덤 포레스트(Random forest)란? 의사결정 트리를 랜덤하게 나온 것을 투표하여 결정하는 것이다. 분류, 회귀에 주로 사용된다. Bagging Features 속성이 10개라고 10개 다 선정하는 것이 아니라 10을 제곱근 한 수 만큼 선정한다. 2. 분류 기준 엔트로피 이론 어떤 기준으로 가장 먼저 분류하면 좋을까?에 대해 고민할 때 보통 엔트로피 이론을 적용한다. 3. 랜덤 포레스트 인자 결정 n_estimator = 트리의 수 max_depth = 트리의 깊이 max_features = 나누는 수 n_estimator 는 클 수록 좋다! 트리를 많이 만들어 볼수록 좋다. (경우의 수가 많아진다.) max_featu.. 2021. 4. 26.