확률적 경사 하강법확률적 경사 하강법(Stochastic Gradient Descent)은 점진적 학습 알고리즘 중 하나입니다. 그 전에 점진적 학습 알고리즘에 대하여 설명을 드리면, 이전에 훈련한 모델을 버리고 새로운 모델을 훈련하는 것이 아닌, 기존의 훈련한 모델은 그대로 두고, 새로운 데이터에 데한 훈련을 기존의 모델을 이용하여 학습 하는 알고리즘 입니다.그래서 본론으로 돌아오면, 확률적 경사 하강법에서 확률적이란 말은 '무작위하게' 혹은 '랜덤하게' 의 기술적인 표현입니다.그리고 경사는, 기울기를 의미합니다. 즉, 그러면 확률적 경사 하강법은 경사를 따라 내려가는 방법입니다.경사하강법의 특징은 가장 가파른 경사를 따라 원하는 지점에 도달하는것을 목표로 삼고있습니다. 다만, 가파른 경사를 내려갈때에..
로지스틱 회귀럭키백의 확률K-최근접 이웃 알고리즘은 주변 이웃을 찾아주니까 이웃의 클래스 비율을 확률이라고 출력하면 될수 있다고 생각합니다.보면 샘플 X 주위에 가장 가까운 이웃 샘플 10개를 표시했습니다. 삼각형이 5개, 사각형이 3개, 원 2개가 있습니다.이웃한 샘플의 클래스를 확률로 삼는다면 샘플 X가 사각형이 확률은 30%, 삼각형일 확률은 50%, 원인 확률은 20%입니다.Scikit-learn의 K-최근접 이웃 분류기도 이와 동일한 방식으로 Class 확률을 계산하여 제공합니다. 한번 데이터를 불러와서 해보겠습니다.데이터 준비import pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv_data')fish.head()# Species(7개의 생..
다중 회귀(Characteristic Engineering and Regulation)다중 회귀여러개의 특성을 사용한 선형 회귀(Linear Regression)를 다중 회귀(Multiple Regression)이라고 부릅니다.1개의 특성을 사용했을때, 선형 회귀 모델이 학습 하는것은 직선입니다. 2개의 특성을 사용하면 선형 회귀는 평면을 학습합니다.왼쪽 그림이 1개의 특성을 사용한 선형 회귀 모델이 학습 하는 모델, 오른쪽 그림이 2개의 특성을 사용한 선형 회귀 모델입니다.오른쪽 그림처럼 특성이 2개면 Target값과 함께 3차원 공간을 형성하고 선형 회귀 방정식은 평면이 됩니다.Target = a x 특성1 + b x 특성2 + 절편그러면 특성이 3개일 경우에는? 우리는 3차원 공간을 그리거나 상상할..
K-최근접 이웃 회귀K-최근접 이웃 회귀에 데하여 설명을 드리기 전에, 회귀에 대하여 설명을 드리겠습니다.회귀(Regression)은 지도학습 알고리즘의 종류중 하나이며, Sample을 몇개의 Class중 하나로 분류하는 문제입니다.지도학습 알고리즘중 하나인 분류와 똑같이 예측하려는 Sample에 가장 가까운 Sample K개를 선택합니다.그림에서 보여드렸듯이, 예를 들면 샘플 X의 Target값을 구하려고 합니다. 각각 이웃한 샘플의 타겟값이 100, 80, 60 이면, 이를 평균화하면, Sample X의 예측 Target값은 80이 됩니다.데이터 준비이번에는 훈련 데이터를 Numpy 배열로 바로 만들어서 변환해보겠습니다.농어의 길이를 특성, 무게를 Target으로 하겠습니다.import numpy a..
데이터 전처리란?데이터 전처리는 쉽게 말하자면 모든 인공지능 모델에 데이터를 주입하기 전에, 데이터를 넣기 좋게 가공하는 단계를 말합니다.올바른 결과를 도출하기 위하여 데이터를 사용하기 전에 데이터 전처리 과정을 거칩니다.Numpy로 Data 준비하기한번 데이터를 준비 해보겠습니다. 전에 사용했던 도미, 빙어 데이터를 준비해 보았습니다.# 생선의 길이fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0..
훈련 세트와 테스트 세트지도 학습과 비지도 학습머신러닝 알고리즘은 크게 지도 학습(Supervised Learning)과 비지도 학습(Unsupervised Learning)으로 나눌수 있습니다.지도 학습 (Supervised Learning)에서는 데이터와 정답을 입력(Input)과 타깃(Target)이라고 하고, 이 둘을 합쳐 훈련 데이터(Training Data)라고 부릅니다.K-최근접 알고리즘은 Input data와 Target을 사용했으므로 당연히 지도 학습 알고리즘 입니다.그리고 Input으로 사용된 길이 & 무게를 특성(feature)이라고 합니다.비지도 학습(Unsupervised Learning)은 Target 없이 Input 데이터만 사용합니다. 이런 알고리즘은 정답을 사용하지 않으므로..
이 글은 학회 스터디를 하면서 혼자 공부하는 머신러닝 + 딥러닝 책을 공부해서 적은 내용이니 참고 바랍니다.기본적인 개념보다는 실습 내용에 기반을 두고 글을 작성하였으니 참고 바랍니다.1- 1. 인공지능과 머신러닝, 딥러닝인공지능이란?인공지능은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술입니다. 머신러닝이란?머신러닝이란 규칙을 일일이 프로그래밍 하지 않아도 자동으로 데이터에서 규칙을 학습하여 알고리즘을 연구하는 분야입니다.대표적인 라이브러리는 scikit-learn 라이브러리딥러닝이란?많은 머신러닝 알고리즘 중에 인공신경망(Artificial Netural Network)을 기반으로 한 방법들을 통칭하여 딥러닝이라고 부릅니다.대표적으로 Pytorch, Tensorflow ..