프로그래밍 공부 90

머신러닝 알고리즘들

1. Linear Regression x 값이 증가할 때, y값도 증가하는 알고리즘 ex) 키와 몸무게 2. Logistic Regression binary classfication을 예측하는 알고리즘(0인지 1인지를 예측) x가 감소할수록 0에 한없이 가까워 지고 증가할수록 1에 한없이 가까워 짐 딥러닝의 Activation(활성화 함수) 중 시그로이드 함수로 사용됨 3. Decision Tree 스무고개 같은 느낌 활용 범주가 넓음 4. Random Forest 트리가 엄청 많은 것으로, Decision Tree의 단점(Overfitting)을 보완할 수 있음 비교적 좋은 예측 능력을 가지고 있음 앙상블 모델의 베이스 5. Kmeans Clustering Unsupervised Learning Seg..

인공지능 2021.08.31

Tensorflow 연습 - 숫자 인식

# 순차적인 신경망을 구성할 때 사용할 수 있는 함수 from tensorflow.keras.models import Sequential # 레이어 도구 중 Dense(전결합층, 각 층이 바로 앞의 층과 연결되어 있는 것)과 Activation(활성화 함수)를 가져옴 from tensorflow.keras.layers import Dense, Activation # 다중 분류를 하기 위한 원-핫 인코딩을 구현할 수 있는 함수 from tensorflow.keras.utils import to_categorical # 딥러닝 모델을 연습할 수 있는 데이터셋 from tensorflow.keras.datasets import mnist # 수학 계산 라이브러리 import numpy as np # 그래프 라..

인공지능 2021.08.29

Numpy

np.array(): 배열 만들기 ex) narray = np.array([1, 3, 5, 7, 9]) darray = np.array(([1, 3, 5, 7, 9], [2, 4, 5, 6, 7]]) # 2차원 배열 narray.shape: 배열 모습 ex) 위 배열의에서 narray.shape 하면 (5,)가 출력 darray.shape => (2, 5) darray.reshape(5, 2): 형태 바꾸기 가로 2, 세로 5인 행렬을 가로 5, 세로 2로 바꿈 darray => ([[1, 3], [5, 7], [9, 2], [4, 5], [6, 7]]) darray.reshpae(10, ): 가로로 10개인 형태로 바꿈 np.zeros(): 모든 원소를 0으로 바꿈 ex) zero = np.zeros(..

Python 2021.08.29

딥러닝 기술

1. 합성곱 신경망(CNN, Convolutional Neural Network) 이미지 인식 인공지능을 만들 때, 많이 사용 시각 세포의 작동 원리를 본떠서 만든 것으로, 이미지를 영역별로 추출하여 학습 부분의 특징을 찾아낸다. 2. 순환 신경망(재귀 신경망, RNN, Recursive Neural Network) 하나의 신경망을 계속적으로 반복해서 학습 가중치의 변화가 한 방향으로 이동하는 것이 아니라, 다시 자기자신에게 돌아옴 사용처: 연속 데이터에 대한 결과를 예측하거나 분류할 때, 전후 관계에 대한 패턴을 학습 예) 주식 데이터, 번역 순서가 있는 data set을 학습시키기에 적합한 기법 3. 생성 신경망 새로운 무엇인가를 만들어내는 기술 인공지능에게 어떠한 새를 그려달라고 하면 조건에 맞는 ..

인공지능 2021.08.29

딥러닝 체험

텐서플로우 플레이그라운드 https://playground.tensorflow.org/ Tensorflow — Neural Network Playground Tinker with a real neural network right here in your browser. playground.tensorflow.org Epoch: 전체 데이터를 사용하여 인공 신경망이 학습한 횟수 에포크가 늘 수록 오차(loss)가 0에 가까워질 것이다. Test loss: 검증 데이터를 신경망에 넣었을 때 오차값 Training loss: 훈련 데이터에 대한 오차값 Learning rate: 경사 하강법과 관련된 용어로, 각각의 뉴런을 연결하는 가중치 값을 수정할 때 한 번에 얼마만큼 수정할지를 결정 Activation: 활..

인공지능 2021.08.29

인공 신경망의 학습 원리

인공 신경망의 오차 구하는 법 1. 이진 분류 문제 예측 값과 결과 값이 동일하다면 오차 0, 그렇지 않다면 오차값이 발생하도록 하여 계산 2. 다중 분류 문제 A, B, C로 분류해야 할 때, 정답은 A인데 A일 확률 30%, B일 확률 60%, C일 확률 10%이라면 B에서의 오찻값 300, C에서의 오차값 50 과 같이 준다. 3. 특정한 값 예측(회귀 문제) 정답값과 예측 값의 차이를 구한 후, 이 값들을 모두 더하면 인공지능의 오차값이 된다. 오차값을 계산한 후, 다음 번에는 오차값이 줄어들도록 인공지능을 학습시킨다. 여러 번 학습시켜 이 값을 줄이는 것이 핵심 오차 줄이는 법 1. 경사 하강법 기울기를 보고 기울기가 줄어드는 쪽으로 가중치 값을 이동 가중치에 따라 신호 세기가 바뀌고, 그에 따..

인공지능 2021.08.29

인공 신경망의 신호 전달 원리

신호를 전달할 때 사용하는 가중치와 편향 신호를 받는 뉴런은 여러 뉴런에서 신호를 전달받는다. 이 때, 단순하게 신호를 전달하는게 아니라 신호의 세기를 바꾸어서 전달한다. 뒤쪽에서 전달되는 신호 세기는 앞쪽 뉴런에서 전달된 신호의 값에 가중치(weight)를 곱하고 편향(bius)를 더해서 다음으로 전달한다. 가중치: 심층 신경망의 각 뉴런과 뉴런을 연결하는 선에 서로 다른 값들이 있다. 편향: 각 층에 하나의 값으로 존재한다. (인공 신경망이 학습) = (가중치와 편향 값을 각 데이터에 맞게끔 조정해 나간다.) 들어오는 신호 세기를 조절하는 활성화 함수 활성화 함수: 여러 뉴런에서 들어오는 신호의 세기를 특정한 값으로 바꾸기 위한 함수 레이어와 레이어 사이에 위치 여러 뉴런에서 특정한 뉴런으로 들어가는..

인공지능 2021.08.29

딥러닝과 인공 신경망

딥러닝: 사람의 뇌에서 이루어지는 원리를 이용하여 인공지능을 만드는 방식 인공 신경망(ANN, Artificial Neural Network): 인공적으로 만들어진 신경망 인공 신경망에서는 각각의 층(레이어, Layer)라는 개념을 사용하여 뉴런이 다른 뉴런과 연결되었다. 인공 신경망에서 사용하는 레이어 입력층: 데이터를 넣어줄 때 사용 은닉층: 신호가 변환되는 층 출력층: 결괏값을 출력하는 층, 출력층에 어떠한 값이 전달되었냐에 따라 예측 값이 결정 심층 신경망(DNN, Deep Neural Network): 레이어가 깊은 여러 층으로 구성된 인공 신경망 딥러닝: 심층 신경망이 학습하는 과정 인공 신경망의 재료 정보의 양이 많을 수록 / feature가 많을 수록 더 뛰어난 성능의 인공지능을 만들 수 ..

인공지능 2021.08.29

머신러닝이란?

머신러닝 정의: 인공지능을 만드는 기법 중 하나, 데이터와 데이터로 인해 나타나는 결과를 이용해 기계가 스스로 학습하는 방식 => 기계가 스스로 데이터와 결과 사이의 관계를 찾아낸다. 딥러닝 머신러닝 기법 중 하나 머신러닝의 종류 1. 지도 학습(supervise learning) 정답이 있는 데이터(레이블)를 이용하여 학습시킴 사례1) 분류 - 지도 학습은 레이블 개수에 따라 분류 가능하다. - 이진분류(binary classification): 두 가지로 분류할 수 있는 분류 ex) 맞는지 아닌지 - 다중 분류: 두 가지가 아닌 경우 ex) 과일의 종류 사레2) 회귀 - 연속적인 값을 예측하는 것 ex) 주식 예측, 성적 예측, 집값 예측 ex) 미국 보스톤의 집값을 예측하는 데 사용할 수 있는 데이..

인공지능 2021.08.28