머신러닝 283

2-17 Iris flower data를 이용한 Rosenblatt 퍼셉트론 파이선 코딩

퍼셉트론 알고리듬에 따라 파이선으로 퍼셉트론 클라스 코딩을 해보자. ⓵ 퍼셉트론 클라스에 필요한 기본적인 파라메터로서 3가지 즉 learning rate, 학습횟수 및 랜덤 수 생성을 위한 seed 수를 준비하자. class 코드에 처음에 eta 값이 0.01 로 지정되어 있지만 메인 코드에서 instance 값으로 0.1 을 부여하게 되면 부여된 instance에 맞춰 class 내 self에 의해서 self.eta 값이 0.1로 변환된다. 마찬가지로 학습 횟수에 해당하는 n_ier를 class 코드에 처음에는 50 으로 두지만 instance 값으로 10의 값을 주면 self에 의해서 self.n_iter 값이 10으로 변환된다. seed 값을 예를 두어 1 로 두면 이 값이 바뀌지 않는한 항상 동일..

머신러닝 2021.07.02

2-17 Iris flower data를 이용한 Rosenblatt 퍼셉트론 파이선 코딩

퍼셉트론 알고리듬에 따라 파이선으로 퍼셉트론 클라스 코딩을 해보자. ⓵ 퍼셉트론 클라스에 필요한 기본적인 파라메터로서 3가지 즉 learning rate, 학습횟수 및 랜덤 수 생성을 위한 seed 수를 준비하자. class 코드에 처음에 eta 값이 0.01 로 지정되어 있지만 메인 코드에서 instance 값으로 0.1 을 부여하게 되면 부여된 instance에 맞춰 class 내 self에 의해서 self.eta 값이 0.1로 변환된다. 마찬가지로 학습 횟수에 해당하는 n_ier를 class 코드에 처음에는 50 으로 두지만 instance 값으로 10의 값을 주면 self에 의해서 self.n_iter 값이 10으로 변환된다. seed 값을 예를 두어 1 로 두면 이 값이 바뀌지 않는한 항상 동일..

머신러닝 2021.07.01

2-16 Rosenblatt 퍼셉트론 데모 Iris flower data set 파이선 데이타 입력 코드

뉴론에서 웨이팅은 상당히 복잡한 생명과학적 현상이다. 하지만 컴퓨터 상에서 구현하는 머신 러닝에서는 적절한 숫자 값을 찾아내는 과정으로서 이를 학습(trainning) 이라고도 한다. Rosenblatt 의 학습 알고리듬 Rosenblatt 이 만들었던 퍼셉트론은 20X20 즉 400개에 달하는 포토센서가 사용되어 형상을 가지는 이미지를 충분히 읽어 들일 수 있다. 이 정도로 많은 포토셀 이나 픽셀을 쓰는 예sms 아니지만 훈민정음의 자음과 모음을 구분하는 3X3 이진분류(binary classification) 문제를 생각해 보자. ⓵자음이면 “+1”로 라벨을 부여하고 모음이면 “-1”로 라벨 값을 부여하자. ⓶ “ㄱ’ 자인 경우 3X3 픽셀을 3개씩 찢어서 한 줄로 이어 붙이면 하나의 랜덤한 입력 데..

머신러닝 2021.07.01

2-15 Rosenblatt 퍼셉트론의 웨이트 업데이트 알고리듬을 쉽게 이해해 보자!

Rosenblatt의 퍼셉트론 알고리듬이 1957년 세상에 출현한지도 60년이 넘어가고 있다. 이미 아주 오래 전에 출현한 알고리듬이긴 하지만 오늘날의 머신 러닝이 갖춰야 할 필수적인 부분들이 거의 망라되어 있어 보인다. 물론 당시에 오늘날 TensorFlow를 비롯한 모든 머신 러닝 소프트웨어에서 사용하는 Hypothesis 설정과 이를 이용한 cost 함수의 구성 및 경사하강법(GradientDescent) 적용과 같은 형태를 갖춘 것은 아니나 1980년대를 넘어가면서 해결이 된 뉴럴 네트워크(Neural Network) 문제를 원초적으로 배태하고 있었다는 점이다. 아울러 Rosenblatt의 퍼셉트론의 일차적인 연구 목표는 의학적인 관점에서의 시지각 뉴론의 특성을 반영하여 이미지 센서와 컴퓨터를 사..

머신러닝 2021.07.01

2-14 Sigmoid vs softmax 확률분포 비교: Rosenblatt 퍼셉트론 N = 1

Boltzman 확률 분포를 차용했다고 보이는 softmax 확률 분포 계산 그리고 Fermi-Dirac 확률 분포를 차용했다고 보이는 Sigmoid 확률분포 계산 이 두 방법이 완전히 서로 다른 방법이긴 하지만 Binary Classification 문제에 관한한 다 같이 적용이 가능하다. 따라서 Rosenblatt Perceptron N=1 조도센서 문제에 대하여 learning rate = 0.1, steps 수 10만회를 계산하여 그래프로 비교해 보기로 하자. 정말 Surprising 한 결과가 얻어진다. 여하튼 두 종류의 확률 분포가 수학적으로나 물리적으로 다름에도 불구하고 거의 동일한 결과를 준다고 하는 것은 Boltzman 확률분포와 Fermi-Dirac 확률분포가 N=1일 때에 일치한다는 ..

머신러닝 2021.06.30

2-1 softmax 머신러닝 다음 주제로 Rosenblatt의 퍼셉트론(1957)을 살펴보자.

머신 러닝에서 확률분포의 역할에 대해서 알아보았지만 아직은 머신 러닝이라는 큰 코끼리의 어느 부위인지 조차 알기가 어렵다. 그렇다고 막바로 뉴럴 네트워크를 어떻게 해본다는 것은 바위에 계란 던진다는 느낌밖에 들지 않는다. 그래서 머신 러닝도 일종의 빅뱅이라 보이므로 아무래도 타임머신으로 시작된 년도로 거슬러 올라 가보자. 다행스럽게도 검색에서 얻은 정보인데 MLWave라는 사이트에 online learning perceptron에 대한 주제가 포함되어 있었다. MLwave 자료를 보니 1943년까지 거슬러 올라간 시점에서 Rosenblatt 이전에 머신 러닝의 빅뱅의 전조가 있었던 걸로 보인다. 1943년경에는 아직 최초의 컴퓨터로 알려진 ENIAC이 등장하기 전 인듯하다. 1943년 하면 컴퓨터 대신 ..

머신러닝 2021.06.28

1-27 softmax 머신 러닝의 cross entropy vs least square cost 함수

머신 러닝의 softmax classifier가 볼츠만 확률분포를 차용한 것 추정하지만 함께 사용되는 cost 함수인 cross entropy의 특성도 살펴보자. 일어날 가능성이 높다는 뜻의 Probable 이란 용어는 Probability의 형용사인 듯하다. Most probable Boltzmann distribution 즉 가장 일어날 확률이 높은 볼츠만 분포인데 그 뜻을 살펴보자. 볼트만 분포에서 얻어낼 수 있는 코어는 즉 macrostate j 상태에서의 microstate 의 수 Wj이다. 이 경우의 수 Wj는 어느 macrostate j 상태에서 에너지 레벨 별로 몇 개의 입자들이 분포하게 되느냐에 따라 , 즉 아래에서도 별도로 기호 설명이 있겠지만, 입자수 분포를 나타내는 nj(Ei)에 영..

머신러닝 2021.06.28

1-26 Irises flower(붓꽃) dataset 텐서플로우 머신 러닝

softmax classifier를 사용하는 머신 러닝 문제에서 갑자기 붓꽃 종 분류(Classification of Iris flowers ) 문제가 제기된 이유를 알아보자. softmax 문제의 가장 적합한 예제는 물론 MNIST 수기숫자 인식 파이선 코드를 사용하면 될 일이겠지만 단지 softmax의 원리를 설명함에 있어서 28X28=784 픽셀 이미지 5만개를 학습에 사용하는 MNIST 예제는 웬지 적절해 보이지 않는다. 그렇다고 해서 임의로 만든 의미 없는 숫자 데이터를 사용한다면 softmax 코드 설명은 가능하겠으나 classification을 공부하는 의미가 퇴색된다. 따라서 softmax 수치 예제로서 그 원리 설명에 가장 적합한 예제는 클라스 또는 라벨 수가 적을수록 좋을 듯하니 바이오..

머신러닝 2021.06.27

1-25 볼츠만 확률 분포에서의 Random 변수와 조건부 확률분포

확률계산에서 Random 변수가 어떠한 중요한 역할을 하는지 주사위 게임을 통해 알아보자. 주사위 굴리기 게임에서 나올 수 있는 결과(outcome)에 따른 Random한 변수를 대문자 X로 표기한다. 즉 outcome 이란 확률과 연관된 랜덤 변수로 보면 된다. 주사위 굴리기에서 나온 주사위 면의 점의 수가 i 일 때에 실제 숫자 값 i로 처리해 두면 자연스럽게 Random 변수 X가 될 수도 있다. 하지만 반드시 그런 것만은 아니다. 예를 들어 주사위 면에서 점의 수가 몇 개이든 모조리 0으로 두어 처리할 수도 있으며 이 또한 Random 변수 Y 로 둘 수 있는 것이다. 또는 좀 이상스런 경우이지만 주사위 면의 점의 수 i가 짝이면 2i 홀이면 –i 인 Random 변수 Z로 둘 수도 있는 문제이다..

머신러닝 2021.06.27

1-24 볼츠만, Bose-Einstein, Fermi-Dirac 확률분포와 머신러닝 classification 과의 유사성

볼츠만으로부터 시작되었다고도 볼 수 있는 통계 물리학은 볼츠만 분포로 끝나는 것은 아닌 듯하다. 즉 볼츠만 확률 분포와 때어낼 수 없는 관계에 있는 유명 물리학자들이 게재된 확률 분포들이 있다는 점이다. 물론 볼츠만 분포가 머신 러닝의 이미지 처리에서 핵심적인 역할을 하는 이유는 무엇이겠는가? 간단히 설명하자면 볼츠만의 시대를 지나 1900년대를 넘어 물리학 분야에서는 현대과학의 중추를 이루는 양자역학이 출현하게 된 시대이다. 양자역학이 발전하게 됨에 따라 물리학자들의 관심은 결국 본질적인 물질의 성격 규명에 나서게 되었다. 이미 볼츠만 분포에서도 입자의 동일성(identical)이라든지 구별(distinguishable) 가능성 문제가 다루어졌지만 물리학자들이 찾아 나서 맞닥뜨리게 된 물질의 궁극은 뜬..

머신러닝 2021.06.27