본문 바로가기

기계학습

[기계학습] 퍼셉트론 / 가중치 / 바이어스 / 가중합(feat. 시그모이드 함수) 퍼셉트론 - x_1과 x_2가 입력되고, 각각 가중치 a_1과 a_2를 만남 - 여기에 b 값을 더한 후 활성화 함수(ex. 시그모이드 함수)를 거쳐 1 또는 0의 출력 값 y를 출력 - 신경망을 이루는 가장 중요한 기본 단위는 퍼셉트론 - 퍼셉트론 입력 값과 활성화 함수를 사용해 출력 값을 다음으로 넘기는 가장 작은 신경망 단위 y = wx + b (w는 가중치, b는 바이어스) - w(weight)는 가중치, b(bias)는 바이어스(편향, 선입견)으로 쓰임 - 가중합(weighted sum) : 입력 값(x)과 가중치(w)의 곱을 모두 더한 다음 거기에 바이어스(b)를 더한 값 - 가중합의 결과를 놓고 1 또는 0을 출력해서 다음으로 보냄 - 여기서 0과 1을 판단하는 함수가 있는데, 이를 활성화 ..
[기계학습] 선형 회귀 와 최소 제곱법, 경사하강법(오차의 합 / 평균 제곱 오차(MSE) / 평균 제곱근 오차(RMSE) 선형 회귀란 ? - 가장 훌륭한 예측선 긋기 예) 성적을 변하게 하는 '정보' 요소를 X라 하고, 이 X값에 의해 변하는 '성적'을 Y라 할 때, X를 독립 변수, Y를 종속 변수라 한다. -> 선형 회귀란 독립 변수 X를 사용해 종속 변수 Y의 움직임을 예측하고 설명하는 작업 단순 선형 회귀 : 하나의 X값만으로도 Y값을 설명할 수 있을 때 다중 선형 회귀 : 여러개의 X값으로 Y값을 설명할 수 있을 때 최소 제곱법이란? - 회귀 분석에서 사용되는 표준 방식으로, 실험이나 관찰을 통해 얻은 데이터를 분석하여 미지의 상수를 구할 때 사용되는 공식 - 최소 제곱법 공식을 알고 적용한다면, 일차 함수의 기울기 a와 b(y절편)를 바로 구할 수 있다. 1. a 구하는 공식 2. b 구하는 공식 3. 오차의 합..
[기계학습] 규제(데이터 확대, 가중치 감쇠) / 기계학습의 유형 / 그라운드 트루스(Ground truth)란? 규제1. 데이터 확대 - 데이터를 더 많이 수집하면(훈련집합의 크기가 커지면) 일반화 능력이 향상 - 데이터 수집은 많은 비용이 듦 · 그라운드 트루스(Ground Truth)를 사람이 일일이 레이블링해야 함 ※ 그라운드 트루스(Ground Truth) : 이미지나 동영상에 있는 객체를 파악하기 위해 라벨링을 하는 작업 - 인위적으로 데이터 확대 · 원시데이터(Raw Data)를 충분히 수집하기 어려운 상황에서는 훈련집합에 있는 샘플을 변형하여 훈련 데이터수를 확대하는 방법을 사용할 수 있음 · 예: 이동, 회전, 크기 변형 등의 방법 적용 2. 가중치 감쇠 - 가중치를 작게 해줌으로써 일반화 능력을 향상시키려는 것이 목적 - 가중치 감쇠는 개선된 목적함수를 이용하여 가중치를 작게 조절하는 규제 기법 기..
[기계학습] 과소적합과 과잉적합 / 바이어스와 분산 과소적합 - 모델의 용량이 작아 오차가 클 수 밖에 없는 현상 - 비선형 모델을 사용하는 대안이 있다 - 우측 그래프로 갈수록 오차가 크게 감소 과잉적합 - 12차 다항식 곡선을 채택한다면 훈련집합에 대해서는 거의 완벽하게 근사함 - 하지만, 새로운 데이터를 예측한다면 큰 문제가 발생 - 이유는 용량이 크기 때문. 학습 과정에서 잡음까지 수용함으로서 과잉적합 현상 - 따라서 적절한 용량의 모델을 선택하는 모델 선택 작업이 필요 1차 ~ 12차 다항식 모델의 비교 관찰 - 1~2차는 훈련집합과 테스트집합 모두 낮은 성능 - 3~4차는 훈련집합에 대해 낮은 성능, 테스트집합에는 높은 성능 -> 높은 일반화 능력 - 12차는 훈련집합에 대해 높은 성능, 테스트집합에는 낮은 성능 -> 낮은 일반화 능력 훈련집합..
[기계학습] 기계학습이란 무엇일까? 학습이란? "경험의 결과로 나타나는, 비교적 지속적인 행동의 변화나 그 잠재력의 변화. 또는 지식을 습득하는 과정) 기계학습이란? "Programming computers to learn from experience should eventually eliminate the need for much of this detailed programming effort." / 컴퓨터가 경험을 통해 학습할 수 있도록 프로그래밍할 수 있다면, 세세하게 프로그래밍해야 하는 번거로움에서 벗어날 수 있다. "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if..