목록Machine Learning (4)
코딩하는 바나나
앞서 우리는 두가지의 class를 가지는 데이터를 구분하는 logistic 모델을 살펴 보았다. 이번에는 두가지 이상의 class를 같는 데이터를 구분하는 모델을 살펴보자. 세가지의 class A,B,C를 가지는 데이터가 있다고 생각해보자. 우리는 logistic 모델 3개를 사용하여 데이터를 구분 할 수 있다. A인 것과 아닌것, B인 것과 아닌 것, C인 것과 아닌것을 구부하는 3개의 logistic 모델이다. 3가지의 특징과 3가지의 class를 가지는 데이터를 생각해보자 x1 x2 x3 a b c 3 1 3 1 0 0 3 2 1 0 1 0 1 3 1 0 0 1 위의 데이터의 3가지 클래스가 one hot encoded 되어있다. X -> ㅁ -> sigmoid -> Ya X -> ㅁ -> sigm..

이전에 Linear Regression에서 우리가 보았던 시험성적 예제와 다른 예제를 생각해보자 이번에는 어떤 수업을 듣는 학생들의 공부 시간과 그 수업에 대한 pass, fail 여부에 대한 데이터가 있다. pass, fail 여부를 숫자로 각각 1,0으로 나타내면 위와 같이 표현 할 수 있다. 이 경우 Linear Regression을 사용할 수 있을 까? 저렇게 연속적인 분포가 아닌 데이터를 linear regression을 사용하게 되면 잘 동작하지 않는다. 따라서 우리는 다른 방법이 필요하다. Sigmoid Logistic Regression에서는 Sigmoid 함수를 사용한다. sigmoid 함수는 위와 같이 생겼다. 1 / (1 + e^-x) 함수 식을 보면 알 수 있듯이 함수값이 1에서 0..

Linear Regression (선형 회귀법)은 머신러닝의 가장 기초가 되는 알고리즘이다. Linear Regression이란 무엇일까? 예를 들어 보자. 아래에 학생들의 퀴즈 점수와 final test 점수가 있다. 이 데이터를 기반으로 어떤 새로운 학생의 퀴즈 점수를 보고 final test의 점수를 예측하는 모델을 만들고 싶다. 학생 퀴즈 final test A 90 80 B 70 70 C 40 50 어떻게 해야 할까? 이럴 때 사용 할 수 있는 것이 바로 Linear Regression (선형 회귀) 이다. 위의 데이터를 그래프로 표현해 보자 x축은 학생들의 퀴즈 점수, y축은 학생들의 final test 점수를 의미한다. 초록색 점들이 각 학생을 의미한다. x 값을 기반으로 y값을 예측하기 위..

Machine Learning이란 무엇일까? 기존의 프로그램들은 대부분 사람이 만든 규칙에 의해 동작하는 프로그램들이다. 우리가 여러가지 제어문을 통해서 프로그램의 흐름을 정의하는 것이 프로그래밍이었다. 이러한 프로그래밍 방법은 잘 작동한다, 하지만 시간이 흐르다 보니 단순한 프로그래밍 만으로 해결 할 수 없는 문제들이 나오기 시작했다. 복잡한 문제를 기존의 프로그래밍 방식으로 구현한다면 모든 사람이 경우의 수에 대해 하나하나 코딩해주어야 할 것이다. 사진을 보고 물체를 판별하는 프로그램, 자율주행 자동차 등 기존의 방법으로 프로그래밍 하기에는 한계가 있다. 이를 해결해주는 것이 Machine Learning이다. Machine Learning은 이름 그대로 기계가 학습을 하는 것이다. 우리가 컴퓨터에게..