목록머신러닝 교과서 (7)
AI 전문가가 되고싶은 사람
모든 경우에 뛰어난 성능을 낼 수 있는 분류 모델은 없기에 최소한 몇개의 학습 알고리즘 성능을 비교하고 문제에 최선인 모델을 선택하는 것이 권장된다. 특성이나 샘플의 개수, 데이터셋에 있는 잡음 데이터의 양과 클래스가 선형적으로 구분되는지 아닌지에 따라서도 다르다. * 사이킷런에서 제공하는 붓꽃 데이터셋을 사용 ( 시각화를 위해 두개의 특성만 사용 )from sklearn import datasetsimport numpy as npiris = datasets.load_iris()X = iris.data[:,[2:3]]y = iris.target● train_test_splitfrom sklearn.model_selection import train_test_splitX_train, X_test, y_tr..
1-1 아달린 구현퍼셉트론 규칙과 아달린이 매우 비슷하기 때문에 앞서 정의한 퍼셉트론 구현에서 fit 메서드를 바꾸어 경사 하강법으로 손실 함수가 최소화되도록 가중치와 절편 업데이트한다.class AdalineGD: """적응형 선형 뉴런 분류기 매개변수 ------------ eta : float 학습률 (0.0과 1.0 사이) n_iter : int 훈련 데이터셋 반복 횟수 random_state : int 가중치 무작위 초기화를 위한 난수 생성기 시드 속성 ----------- w_ : 1d-array 학습된 가중치 b_ : 스칼라 학습된 절편 유닛 losses_ : list 각 에포크의..
아달린- 연속 함수로 손실 함수를 정의하고 최소화하는 핵심 개념을 보여준다.- 해당 개념은 로지스틱 회귀, 서포트 벡터 머신, 다층 신경망 같은 분류를 위한 다른 머신러닝 모델과 선형 회귀 모델 이해에 도움이 될 것이다.- 퍼셉트론과 가장 큰 차이점은 가중치를 업데이트하는 데 퍼셉트론처럼 단위 계단 함수 대신 선형 활성화 함수를 사용한다.- 아달린의 선형 함수는 단순한 항등 함수이다. 아달린 알고리즘은 진짜 클래스 레이블과 선형 활성화 함수의 실수 출력 값을 비교하여 모델의 오차를 계산하고 가중치를 업데이트한다. 반면 퍼셉트론은 진짜 클래스 레이블과 예측 클래스 레이블을 비교한다.1-1 경사 하강법으로 손실 함수 최소화- 지도 학습 알고리즘의 핵심 구성 요소 중 하나는 학습 과정 동안 최적화하기 위해 정..
2-1 객체 지향 퍼셉트론 API1. Perceptron 객체를 초기화한 후 fit 메서드로 데이터에서 학습하고, 별도의 predict 메서드로 예측을 만든다.2.사용 패키지3. 구현학습률 eta(n)와 에포크 횟수(훈련 데이터셋을 반복하는 횟수) n_iter로 새로운 Perceptron 객체를 초기화한다.import numpy as npclass Perceptron: def __init__(self, eta=0.01,n_iter=50, random_state=1): self.eta = eta self.n_iter = n_iter self.random_state = random_state# fit 메서드에서 절편 self.b_를 0으로 초기화하고 self.w_ ..
1. 인공 뉴런- AI를 설계하기 위해 생물학적 뇌가 동작하는 방식을 이해하려는 시도 -> 맥컬록-피츠 뉴런 (MCP)- MCP 뉴런 모델을 기반으로 퍼셉트론 학습 개념을 발표했고 퍼셉트론 규칙에서 자동으로 최적의 가중치를 학습하는 알고리즘 제안 1.1 인공 뉴런의 수학적 정의- 0과 1 두개의 클래스가 있는 이진 분류 작업으로 볼 수 있음.- 입력 값 x와 이에 상응하는 가중치 벡터 w의 선형 조합으로 결정 함수를 정의. \( z = w_1 x_1 + w_2 x_2 + \cdots + w_m x_m \)" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 단위 계단 함수를 변형하여 임계 값 θ보다 크면 클래스 1로 예측하고, 그렇지 않으면 0으로 예측 \[ \s..
딥러닝 분야에서 TensorFlow와 PyTorch는 주요 라이브러리로 널리 사용되고 있습니다. 최근에는 PyTorch가 특히 많은 인기를 끌고 있는 추세입니다. PyTorch의 직관적인 코드 작성 방식과 유연한 동적 계산 그래프는 연구자와 개발자들 사이에서 큰 호응을 얻고 있습니다. 이와 같은 흐름을 감안할 때, PyTorch를 학습하는 것은 현재의 딥러닝 트렌드에 맞춰 나의 기술을 업그레이드하는 중요한 단계가 될 것입니다. 1. 학부 시절 머신러닝 기초 복습딥러닝과 PyTorch를 효과적으로 학습하기 위해서는, 우선 학부에서 배웠던 머신러닝의 기초 개념을 다시 한번 정리하며 공부할 필요가 있다고 생각했습니다. 2. PyTorch 사용법 익히기"머신 러닝 교과서 파이토치편"을 활용하여 PyTorch의 ..
1. 지도학습레이블된 훈련 데이터에서 모델을 학습하여 본 적 없는 미래 데이터에 대해 예측을 만드는 것이다.개별 클래스 레이블이 있는 지도 학습을 분류라고 하고, 연속적인 값을 출력하는 것을 회귀라고한다. * 지도 : 희망하는 출력 신호(레이블)가 있는 일련의 샘플(데이터 입력)을 의미한다.1-1 분류- 지도 학습의 하위 카테고리로 과거의 관측을 기반으로 새로운 샘플 또는 새로운 데이터 포인트의 범주형 클래스 레이블을 예측하는 것이 목적이다. * 클래스 레이블 : 이산적이고 순서가 없어 샘플이 속한 그룹으로 이해할 수 있다. 1-2 회귀-연속적인 출력 값을 예측하는 것을 회귀분석이라고 한다. 회귀는 예측 변수와 연속적인 반응 변수가 주어졌을 때 출력 값을 예측하기 위해 두 변수 사이의 관계를 찾는다. 1..