본문 바로가기

Machine Learning

성능 평가 지표 1. Mean squared error (MSE) - 에러을 제곱하여 해당 에러에 대한 평균을 계산한다. - 값이 낮을수록 좋아진다. - 에러를 제곱하기 때문에, 1 미만의 에러를 더 작아지고, 그 이상의 에러는 커지며 값의 왜곡이 발생한다. - Outlier가 존재할 경우엔 MSE의 값이 매우 커지게 된다. 2. Root mean squared error (RMSE) - MSE에 root를 씌운 에러 지표이다. - 제곱된 에러를 root로 풀어주기 때문에, 값의 왜곡을 조금 줄일 수 있다. 3. R-squared - Sum of squared total (SST) - Sum od squared error (SSE) - Sum of squared regression (SSR) - SST = SSE + S..
Categorical Feature 범주형 피쳐라는 것은 성별(남, 여), 혈액형 (A, B, AB, O) 등과 같이 유한한 선택 범위의 값을 취하는 피쳐다. 이러한 범주형 피쳐는 반드시 수치형 피쳐로 전환을 해야 분석 작업이 가능해진다. 1. Ordinal encoding 클래스 사이에 대소관계가 존재하는 데이터에서 사용할 수 있다. 예를 들어, 성적 클래스가 [낮음, 중간, 높음]으로 나눠질 때, 이 클래스는 "높음 > 중간 > 낮음"과 같은 순서형 관계를 가진다. 따라서 순서에 따라 수치 ID를 부여하여 다음과 같이 표현할 수 있다. {"높음":3, "중간":2, "낮음":1} 2. One-hot encoding 원-핫 인코딩은 클래스 사이에 대소관계가 존재하지 않을 때 사용한다. 예를 들어, 형액형은 네 가지의 값을 가질 수 있는데..
Natural Language Representations 자연어는 대표적인 비정형 데이터 중 하나이다. 자연어를 데이터로써 표현하는 방법은 기계학습 영역에서 아주 중요한 위치를 차지하고 있다. 1. Back of words (BOW) - BOW는 가장 기초적인 텍스트 표현 모델이다. 이는 각 텍스트를 순서에 상관없이 단어 단위로 나눠 (tokenizing) 한 가방 안에 담는 방식이다. 텍스트 내에서 특정 단어가 n번 등장했다면, 이 가방에는 그 특정 단어가 n개 있게 된다. 또한, 가방을 흔들어서 단어를 섞었기 때문에, 단어의 순서는 중요해지지 않는다. sent1 = 'John likes to watch movies . Mary likes movies too .' sent2 = 'Mary also likes to watch football games .' t..
Feature Normalization Feature normalization은 feature scailing이라고도 불리우며, 데이터의 feature나 독립변수의 구간을 표준화하는 방법론이다. 이를 통해 데이터 feature 사이의 차원 영향을 제거하는 것을 목적으로 한다. 예를 들어, 사람의 키는 일반적으로 1.6-1.8 m 수치 범위를 가지고, 몸무게는 50-100 kg의 수치 범위를 가지기 때문에, 두 feature가 서로 다른 범위에 있어서 특정 feature에 bias될 수 있을 가능성이 있다. 수치형 데이터에 대한 정규화 방식은 크게 두 가지가 있다. 1. 선형 함수 정규화 (min-max normalization) - 결과 값이 [0-1]에 투영되도록 만든다, 데이터를 동일한 비율로 축소하거나 확대한다. import random..
[펌] 정확도, 정밀도, 재현율 https://blog.naver.com/sogangori/220986343741 파이썬 - 정확도, 정밀도, 재현율, F1 스코어 정확도 : Accuracy정밀도 : Precision재현율 : RecallF1 Score : 정밀도와 재현율의 조화 평균 한마디... blog.naver.com 정확도 : Accuracy 정밀도 : Precision 재현율 : Recall F1 Score : 정밀도와 재현율의 조화 평균 한마디로 표현해보면 정확도 : 예측이 정답과 얼마나 정확한가? 정밀도 : 예측한 것중에 정답의 비율은? 재현율 : 찾아야 할 것중에 실제로 찾은 비율은? F1 Score : 정밀도와 재현율의 평균 이중에서 F1 Score 값이 높으면 성능이 높다고 할 수 있다. 정확도, 정밀도, 재현율은 하..
DQN Catch game 예제 코드 오늘은 DQN을 이용해 catch game 예제를 맹글어보았다 :-) 모델이 학습하는 python 코드가 서버가 되고, agent가 동작하는 Processing 코드가 클라이언트가 된다. 웹 소켓을 통해 python과 Processing이 서로 연동이 이루어지고, agent의 실시간 정보가 python으로 전달된다. Python server import socket import tensorflow as tf import numpy as np import random import math import os HOST = '127.0.0.1' PORT = 3030 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.liste..
Q-learning grid world 예제 코드 Processing을 이용해 q learning을 이용한 grid world 예제를 작성해보았다. QLearningAgent.pde import grafica.*; int cellSize = 50; Cell[][] grid; PVector goal; PVector agent; int gridSize = 15; int trainStep = 0; int moveStep = 0; boolean reset = true; PrintWriter output; int nPoints = 500; GPointsArray points = new GPointsArray(nPoints); GPlot plot; void setup() { size(1000, 700, P3D); grid = new Cell[gridSize][gr..
BERT 설명 발표 자료 T 아케데미에서 발표했던 BERT 발표 자료를 올립니다. 발표자료 내부에 한국어 BERT 학습 및 자연어 처리 실습을 위한 구글 드라이브와 코드도 함께 포함되어 있습니다 :-)