머신러닝
[라이트 머신러닝] Session 5. 퍼셉트론의 메가 진화와 경사하강법!
이전 세션 두 개에서 우리는 퍼셉트론 함수를 학습하고 왔습니다. 기억하시나요? 기억이 안 나신다면 앞 두 개 글을 보고 오시는 것을 추천드립니다. 제가 공부하는만큼 앞 글들이 주기적으로 수정될 수 있음을 알아주시길 바랍니다ㅜㅜ https://dnai-deny.tistory.com/5 https://dnai-deny.tistory.com/6 이번 세션에서는 퍼셉트론 알고리즘의 진화버전인 아달린과 머신러닝에 있어서 매우 중요한 개념인 경사하강법에 대해 알아보도록 하겠습니다. 1. 적응형 선형 뉴런, 아달린 아달린은 단일 층 신경망의 또 다른 종류입니다. 버나드 위드로우와 테드 호프가 개발한 알고리즘이죠. 제목에서 보이듯 퍼셉트론이 진화한 형태라고 할 수 있습니다. 왜냐하면, 아달린에서는 비용 함수(cost ..
[라이트 머신러닝] Session 4. 파이썬으로 퍼셉트론 알고리즘 구현하기!
이번 시간에는 드디어 마침내 프로그래밍이 등장합니다. 이전 섹션에서 공부한 수식들을 파이썬 클래스와 함수로 구현하고, 머신러닝의 대표적인 데이터 중 하나인 붓꽃 데이터셋을 학습시키는 것 까지 해보도록 하겠습니다. 각자 앞 세션에서 이야기한 아나콘다나 파이썬을 설치하셔도 좋습니다. 저는 google colaboratory를 사용하려고 합니다. 설치없이 간편하니 사용하셔도 좋습니다 :) https://colab.research.google.com/ Google Colaboratory colab.research.google.com 1. 객체 지향 퍼셉트론 API 코드를 보기 전에, 먼저 간단한 사전 코드 정의에 대해서 알려드리겠습니다. 아래 Perception 클래스를 초기화한 후 fit 메서드로 학습하고, ..
[라이트 머신러닝] Session 3. 퍼셉트론 알고리즘의 수학적 정의
제목에 놀라신 분들이 있을 거라고 생각합니다! 지난 시간까지 정말 '라이트' 하게 머신러닝에 대한 넓고 얕은 지식을 배웠다면, 이제는 야금야금 실습에 들어갈 시간입니다. 일단은, 먼저 머신러닝에 대한 간단한 역사와 퍼셉트론 학습 알고리즘에 대해 먼저 소개해드리도록 하겠습니다. 1. 인공 뉴런의 수학적 정의 머신 러닝은 AI를 설계하기 위해 우리 생물의 뇌가 동작하는 방식을 이해하려는 시도입니다. 1943년 워런 맥컬록과 월터 피츠가 처음으로 간소화된 뉴런 개념(맥컬록 피츠 뉴런)을 발표했습니다. 맥컬록과 피츠는 신경 세포를 이진 출력을 만드는 논리회로로 표현했습니다. 수상돌기에 신호가 도착하면 세포체에 합쳐지고, 누적된 신호가 임계값을 넘으면 출력 신호가 생성되어 축삭돌기(말단)을 통해 전달됩니다. 이후..
[라이트 머신러닝] Session 2. 머신러닝 시작 전에 알아두면 좋은 것들
이번 포스트에서는 머신러닝을 시작하기 전에 알아두면 유용한 표기법과 용어, 머신러닝 모델을 만드는 과정과 사용하게 될 패키지에 대해서 알아보도록 하겠습니다. 내용에 대한 피드백은 언제나 환영합니다! 1. 알아두면 좋은 용어와 표기법 데이터셋은 행렬과 벡터를 통해서 표현됩니다. 일반적으로 샘플을 행으로, 특성은 열로 저장됩니다. 위 그림에서 첫 열에 보이는 숫자들은 샘플들을 나타냅니다. 각 샘플별로 특성들은 행 단위로, 각 특성에 대한 샘플들의 값은 열 단위로 표현됩니다. 보통 소문자는 벡터를, 대문자는 행렬을 나타내며, 위 첨자는 i번째 훈련 샘플을, 아래 첨자 j는 훈련 데이터의 j번째 차원을 나타냅니다. 2. 머신러닝 시스템 작업순서 머신러닝 작업은 크게 전처리 - 학습 - 평가 - 예측의 수순을 밟..