
오늘은 앞서 공부한 Neural Network 개념을 기반으로 두 가지 문제에 대해 실습해보려 합니다! 한 가지는 기존의 방법으로 풀리지 않았던 XOR 문제이고 다른 한 가지는 MNIST숫자 데이터를 분류하는 숫자 분류기입니다. XOR연산은 다음과 같습니다. 각각의 x와 y데이터를 위와 같이 나타 낼 수 있습니다. 우선 일반적인 접근 방법으로 풀어볼까여? 위 방법은 뉴럴넷을 배우기 전에 사용하던 방식으로 OR나 AND 같은 연산에서 잘 작동하는 모델입니다. 하지만 위 코드를 돌려보면, 정확도가 0.5로 제대로 학습되지 않는 것을 확인해 보실 수 있습니다. 그럼, NN을 적용해 볼까요? 정말 간단한 문제기에 아래와 같이 하나의 레이어만 추가 해주면 됩니다 !ㅎㅎ Wide하고 Deep 하게 구성할 필요도 없..

앞서 머신러닝에 대해 배웠다면, 이제 본격적으로 딥러닝에 대해 공부해 볼 시간입니다! 딥러닝 하면 많이 들어봤을 CNN RNN을 공부하기에 앞서, ANN, 즉 인공신경망이 뭔지 짚고 넘어가려 합니다. ANN은 Artificial Neural Network의 약자로, 인공신경망을 의미합니다. 인공신경망은 그 이름에서 알 수 있듯이, 뇌에서 영감을 받은 학습 알고리즘 입니다. 각각의 뉴런이 다음 뉴런으로 다양한 세기의 신호를 보내면서 문제를 해결하는 시스템을 모방한 것이죠. 하나의 뉴런이 다양한 뉴런으로부터 신호를 받고 다음 뉴런으로 신호를 보내듯이, ANN역시 똑같은 매커니즘을 거칩니다. 다양한 input data를 받아 각각의 가중치가 곱해지고 bias가 더해져 다음 노드로 전달되는것이죠. 이런 뉴런을 ..

Training Data & Validation Data & Test Data 트레이닝 셋으로 학습시킨 후 트레이닝셋으로 테스트 하면 공정한가? -> 나쁜 방법 데이터의 70퍼센트정도는 트레이닝 셋, 30퍼센트정도는 테스트 셋으로 설정 테스트셋으로 예측값과 실제값 비교하여 성능 측정 트레이닝 셋을 또 validation set으로 나눌 수 있음 validation set -> 모의 시험 느낌 (알파, 람다등을 조절 하기 위해) 데이터셋이 굉장히 많은 경우 ->online learning 학습 방법 만약 트레이닝셋이 100만개 있다고 가정, 한 번에 넣어서 학습시키기에 너무 양이 많다 ->100만개의 데이터를 잘라 10만개씩 학습 우리는 선형회귀부터 시작해서 Softmax회귀까지 트레이닝 데이터셋을 테스트..

로지스틱 회귀와 연결되는 내용이라 할 수 있는 Softmax에 대해 정리해보려 합니다. :) 기존 로지스틱 분류가 이진 분류 (0과 1, 참 거짓) 라면 소프트맥스는 여러개를 분류하는 함수 입니다. 만약 세가지 경우의 수를 비교한다고 했을때, 로지스틱 회귀로도 세가지의 경우를 예측가능 합니다. 만약 각각 A라는 경우, B라는 경우, C라는 경우가 있다고 했을 때, 이진분류로 분별한다 하면 다음과 같이 나타내면 됩니다. A인 경우와 A가 아닌 경우 B인 경우와 B가 아닌 경우 C인 경우와 C가 아닌 경우 감이 잘 안오신다면, 그래프로 한번 그려봅시다! 이를 식으로 나타내면, 다음과 같이 행렬곱으로 나타낼 수 있고 각각의 경우에 대한 예측값을 시그모이드함수를 거쳐 1 혹은 0으로 나타내면 여러개의 경우의수도..

오늘은 Logistic regression (로지스틱 회귀)를 정리해 보려고 합니다. 제가 정리하는 모든 머신러닝 딥러닝 내용은 sung kim님의 유튜브 모두의딥러닝 시즌1 강의와 텐서플로로 배우는 딥러닝 책을 기반으로 합니다. :) https://www.youtube.com/watch?v=BS6O0zOGX4E&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm Linear regression이 선형적인 데이터를 예측하는데 사용되었다면, Logistic regression은 이진분류를 하는데 사용 됩니다. 메일에서 스팸메일인지 아닌지 구분하는것 처럼 두 가지 케이스로 구분해야 하는 경우에 사용됩니다. 시험 성적의 pass/fail 도 좋은 예가 될 수 있죠 ㅎㅎ 시험성적을 예로 그래..

오늘 공부 해 볼 내용은, 앞서 배운 선형회귀의 연장선상에 있는? 내용입니다. 차이점이라고 하면, 앞서 배운 선형회귀는 변수 x가 한 개였다면, 지금은 여러개의 변수를 갖는 선형회귀 입니다. Hypothesis로 보자면, H(x) = wx + b 에서 H(x) = w1x1 + w2x2 + w33.. + b가 되는 것이죠. 방법은 간단합니다. 데이터가 늘어난 만큼 weight과 x의 갯수를 늘려주면 되니까요. 한번 코드로 살펴 볼까요? (참고로 지금 살펴 볼 코드는 나쁜 방법입니다.) import tensorflow.compat.v1 as tf tf.disable_v2_behavior() # 나쁜 방법 x1_data = [73., 93., 89., 96., 73.] x2_data = [80., 88., 9..

오늘은! 머신러닝 모델에서 가장 기본적이고 기초적이라 할 수 있는 선형회귀 모델을 공부해보려 합니다 별로 어렵지 않는내용이면서 재밌게 공부할 수 있어요! 먼저 선형회귀에대해 공부하기 전에, 머신러닝 모델 개발은 다음과 같은 프로세스를 거치게 됩니다. 학습하고자 하는 가설(Hypothesis)을 수학적 표현식으로 나타냅니다. 가설의 성능을 측정할 수 있는 손실함수(Cost Function 혹은 Loss Function)을 정의합니다. 손실함수를 최소화 할 수 있는 알고리즘을 설계합니다. 저는 머신러닝을 공부하기 전에, 도대체 어떻게 컴퓨터가 학습을 하는걸까? 라는 의문을 품고 있었습니다. 이에 대한 답은!! 비용함수(손실함수)를 최소화 하도록 만드는 것이였는데요. 말로만 들어서는 이해가 잘 안가실 수 있지..
머신러닝에 나오는 간단한 용어와 개념을 정리해 보았습니다. 데이터 마이닝 - 대용량의 데이터를 분석하면 겉으로는 보이지 않던 패턴을 발견 할 수 있다. 학습 종류 : 지도 학습, 비지도 학습, 준지도 학습, 온라인 학습, 배치 학습, 사례기반 학습, 모델 기반 학습... 지도 학습 - 알고리즘에 주입하는 훈련데이터에 레이블이라는 답 포함 ex) 분류 비지도 학습 - 훈련 데이터에 레이블 포함 X ex) 군집, 시각화, 차원축소 준지도 학습 - 레이블 유무 데이터 혼합 강화 학습 - 보상(reward) & 벌점(penalty)이 있으며, 정책(policy)이라 부르는 최상의 전략을 스스로 학습 사례기반 학습 - 사례를 기억하고, 유사도를 추정 (유사도 측정을 사용해 새로운 데이터 일반화) 효용함수 - 모델..

신경과학에 대한 간단한 설명(시스템 레벨의 뇌 연구) 시냅스나 피질자체의 구체적인 작동원리 보다는 뇌가 사용하는 알고리즘, 개념의 묘사, 종합적 구성의 계층적 시스템보다 상위 수준에서 일어나는 뇌의 계산 원리에 더 관심이 많다 이유: 뇌를 새로운 알고리즘을 디자인 할 수 있는 씨앗으로 보는 것이 중요하다고 생각하기 때문. 그 알고리즘이 실리콘 재질인 컴퓨터에서 구현되는 방법이 두뇌에서 응용되는 방법과는 다를것이다. 그렇기에, 뇌의 세부적인 동작 하나하나를 그대로 모방하는 접근 방법은 좋지 않다고 생각 한다. 딥마인드 팀이 신경과학에서 연구하는 분야는 기억,주의,추상적 지식과 같은 개념, 계획, 네비게이션 그리고 상상력에 관한 것들.. 뇌에서 해마(Hippocampus)는 여기에 언급한 많은 기능들과 매우..

많은분들이 그렇겠지만, 저는 알파고와 이세돌 9단의 대국으로 인해 딥러닝에대해 알게 되었고, 또 관심을 갖게 되었는데요. 맨날 제대로 한 번 공부해 보고싶다는 생각만 갖고 있다가, 지금만큼 공부하기 좋은 시기가 없을 것 같아서 강의와 책을 기반으로 공부 할 생각입니다. 머신러닝,딥러닝의 대가 및 전문가들은 어떤 관점을 취하고 어떤 생각을 갖고 있을까 너무 궁금한 상태였는데, 때마침, 알파고와 이세돌9단의 대국을 참관하기 위해 방한한 데미스 하사비스가 카이스트에서 '인공지능과 미래'라는 주제로 강연을 한 영상을 유튜브에서 찾을 수 있어서, 영상을 시청하며 글로 정리해 보았습니다. 저는 생물학 특히 뇌공학쪽에는 지식이 전무하다 싶이 하기 때문에 섣불리 말하기는 어렵지만, 개인적으로 뇌 역시 전기적 신호로 작..