머신러닝: 6개의 글
Neural network의 weight을 조절하는 과정에는 보통 ‘Gradient Descent’ 라는 방법을 사용한다. 이는 네트워크의 parameter들을 θθ라고 했을 때, 네트워크에서 내놓는 결과값과 실제 결과값 사이의 차이를 정의하는 함수 Loss function J(θ)J(θ)의 값을 최소화하기 위해 기울기(gradient) ∇θJ(θ)∇θJ(θ)를 이용하는 방법이다. Gradient Descent에서는 θθ 에 대해 gradient의 반대 방향으로 일정 크기만큼 이동해내는 것을 반복하여 Loss function J(θ)J(θ) 의 값을 최소화하는 θθ 의 값을 찾는다. 한 iteration에서의 변화 식은 다음과 같다. θ=θ−η∇θJ(θ)θ=θ−η∇θJ(θ) 이 때 ηη 는 미리 정해진 ..
Gradient Descent 뉴럴 네트워크의 loss function의 현 weight의 기울기(gradient)를 구하고 loss를 줄이는 방향으로 업데이트(조정)해 나가는 방법을 통해서 뉴럴 네트워크를 학습하였습니다. loss(cost) function이라는게 나왔군요. 뉴럴 네트워크에서 loss function은 무엇일까요? 간단히 설명하면 지금 현재의 가중치에서 "틀린정도"를 알려주는 함수이죠. 즉, 현재 네트워크의 weight에서 내가 가진 데이터를 다 넣어주면 전체 에러가 계산 되겠죠? 거기서 미분을 하면 에러를 줄이는 방향을 알 수 있습니다. 바로 위의 그림과 같이 말이죠. 그 방향으로 정해진 스텝량(learning rate)을 곱해서 weight을 이동시킵니다. 이걸 계속 반복해서 학습을..
로지스틱 함수 y=11+e−z y=11+e−z 선형 회귀 분석의 경우 모델을 위해 만들어 지는 함수는 아래와 같다. y=Wx+b y=Wx+b y=W1⋅x1+W2⋅x2+...+Wi⋅xi+b y=W1⋅x1+W2⋅x2+...+Wi⋅xi+b y=W∙X y=W∙X 이 1차 함수는 독립변수 x가 변화할때 종속변수 y 의 변화를 관찰하는 것이 목적인 함수라고 할때 독립변수 x 와 종속변수 y 는 모두 음의 무한대 −∞ −∞ 에서 양의 무한대 ∞의 범위를 갖는다. 혈압과 나이에 대한 상관 관계를 확인/예측하기 위해 선형 회귀 분석을 사용 할 수 있고 이때 나이와 혈압은 연속형 변수로 1차 함수 그래프로 표현하기에 문제가 없다. 그러나 암의 경우와 같이 발병 여부가 데이터로 주어졌을 경우 종속변수 y 는 발병=1, 정상..
7 Techniques to Handle Imbalanced Data intrusion detection real-time bidding Introduction fraud detection in banking real-time bidding in marekting intrusion detection in networks 위 분야에서는 1%보다 낮게 interesting의 events가 포함되어 있다. (예를 들면 fraudsters using credit cards, clicking advertisement, corrupted server scanning its network) 그러나 머신러닝 알고리즘에서는 imbalanced datasets에 대해서 처리를 잘 하지 못한다. 아래 7개의 techniqu..
Class imbalance problem imbalance problem Class Imbalance Problem이 무엇인가 데이터에서 각 클래스의 개수가 현저하게 차이가 나는 문제를 말한다. 이 문제는 실제로 여러 학문에서 나타나는데 그 중에는 fraud detection, anomaly detection, medical diagnosis, oil spillage detection, facial recognition 등에서 나타난다. 무엇인 문제인가 머신 러닝 알고리즘은 각 클래스들의 개수가 거의 비슷한 경우에 가장 좋은 결과를 보여준다. 하나의 클래스의 개수가 다른 클래스보다 많게 되면 아래와 같은 문제가 발생한다. transaction data의 데이터셋이 주어졌을때, fraudulent(사기를..
Machine Learning? 머신러닝에 대한 정의는 두가지가 있는데, 오래전에 Arthur Samuel의 정의는 'the field of study that gives computers the ability to learn without being explicitly prgrammed'. 하지만 현재는 Tom Mitchell의 정의를 따르고 있습니다. "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E..