목록공부 (59)
Broccoli's House
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 알고리즘 : 선형 모델 선형 모델 - 선형 모델은 입력 특성에 대한 선형 함수를 만들어 출력을 예측한다. 회귀의 선형 모델- 일반화된 예측 함수 : y = wx+b (w : 가중치, b : 편향)- 회귀를 위한 선형 모델은 특성이 하나일 때는 직선, 두 개일 때는 평면이 된다. - 예측 값 y가 각 특성들의 선형 조합이라는 것은 비현실적인 가정일 수 있다. 그러나 이것은 1차원 데이터에서 생각할 수 있는 편견이다. 특성이 많은 데이터 세트, 특히나 훈련 데이터보다 특성이 더 많은 경우에는 어떤 예측 값 y도 완벽하게 선형 함수로 모델링할 수 있다. - 회귀를 위한 선형 모델은 다양하다. 각 모델들은 훈련 데이터로부터 매개 변수 w와 b..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 알고리즘 : k-최근접 이웃 k-최근접 이웃 - k-최근접 이웃(k-Nearest Neighbors) 알고리즘은 가장 간단한 머신러닝 알고리즘으로써, 훈련 데이터 세트를 저장하는 것이 모델을 만드는 과정의 전부이다. 새로운 데이터 포인트가 주어지면 알고리즘이 훈련 데이터 세트에서 가장 가까운 데이터 포인트, '최근접 이웃'을 찾는다. 이때, k는 찾고자 하는 최근접 이웃의 개수를 뜻한다. k-최근접 이웃 분류- k-최근접 이웃 분류 : 알고리즘이 가장 간단하도록 k가 1인 경우, 가장 가까운 훈련 데이터 포인트 하나를 최근접 이웃으로 찾아 출력 예측에 사용한다. k가 2 이상일 때는 더 많은 이웃을 가지고 있는 클래스가 출력이 된다. ..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 지도 학습 지도 학습 - 지도 학습은 입력과 출력에 대한 데이터 세트가 있고, 주어진 입력으로부터 출력을 예측하고자할 때 사용한다. 지도 학습에는 분류와 회귀가 있다. 분류와 회귀 - 분류(Classification) : 분류는 미리 정의된 클래스 레이블 중 하나를 예측하는 것이다. 입력은 여러 개일 수 있지만 나올 수 있는 출력의 수는 정해져있고, 예측하고자 하는 클래스(출력) 사이에는 어떠한 연속성도 존재하지 않는다. 즉, 앞서 보았던 붓꽃의 품종 분류 예제가 에 대한 문제가 된다. 분류는 두 개의 클래스로만 분류하는 이진 분류와 셋 이상 여러개의 클래스로 분류하는 다중 분류로 나뉜다. - 회귀(Regression) : 회귀는 연속적인 숫자,..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 예제 : 붓꽃의 품종 분류 데이터 불러오기 및 확인from sklearn.datasets import load_iris iris_dataset=load_iris() # scikit-learn 라이브러리에서 붓꽃의 품종 데이터를 불러와 변수에 저장한다. print("iris_dataset의 키 : {}".format(iris_dataset.keys())) # 붓꽃의 데이터 세트의 키워드를 출력한다. >> iris_dataset의 키 : dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])# 'DESCR'은 데이터 세트에 대한 간략한 설명, 'target_names'는 분류해..
※ 이 글의 내용은 O'REILLY의 책을 기반으로 한다. 머신러닝 소개 머신러닝이란? - 머신러닝(Machine Learning)은 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이자, 데이터에서 지식을 추출하는 일종의 소프트웨어 및 프로그램을 일컫기도 한다. - 머신러닝에는 지도 학습(Supervised Learning)과 비지도 학습(Unsupervised Learning)이 있다. 지도 학습 - 지도 학습(Supervised Learning) : 사용자가 데이터를 미리 분류하여, 입력과 그에 따른 출력을 가진 데이터 세트를 알고리즘에 제공하고, 알고리즘은 주어진 입력에서 원하는 출력을 만드는 '방법'을 찾는 방식이다. 입력 데이터로부터 기대한 출력이 나오도록..
2주차 - (2) NI-6008을 이용한 엔코더 펄스 카운트 엔코더 제원 : KDMecatec 로터리 엔코더 EN40-AB-256 - 측정에 사용된 로터리 엔코더는 1회전당 256개의 펄스를 생성한다. 하드웨어 세팅 : NI USB-6008, 엔코더 - NI-6008과 컴퓨터를 연결한다. - NI-6008의 5V, GND핀에다 각각에 맞는 엔코더의 전선을 연결한다. - PFI0 핀에 엔코더의 A상 전선을 연결한다. (PFI0 = ctr0) 소프트웨어 세팅 - Labview의 함수 팔레트에서 측정 I/O의 아이콘을 끌어다 놓는다. - DAQ 어시스턴트 - 신호 수집 - 카운터 입력 - 에지 카운트 - Dev1의 ctr0을 설정 후 확인한다. - While 루프 구조와 웨이브폼 차트 인디케이터, 타이밍을 설..
2주차 - (1) 아두이노를 이용한 엔코더 펄스 카운트 엔코더 제원 : KDMecatec 로터리 엔코더 EN40-AB-256 - 측정에 사용한 로터리 엔코더는 1회전당 256개의 펄스를 생성한다. 하드웨어 세팅 : 아두이노 Due, 엔코더 - 아두이노 Due의 프로그래밍 포트와 컴퓨터를 연결한다. - 엔코더는 A상, B상 2개의 출력이 존재하지만, 펄스 카운트에서는 굳이 두개 모두 필요없으므로 하나만 연결한다. - 디지털 입력 핀에 엔코더 A상의 전선을 연결하고, 아두이노의 5V, GND 핀에 그에 맞는 엔코더의 전선을 연결한다. 소프트웨어 세팅 - Arduino IDE에서 툴 - 보드에서 Arduino (Programming Port) 설정 후, 연결된 포트 설정 - PLX-DAQ 프로그램을 사용하여 ..
1주차 - (2) NI USB-6008을 이용한 배터리 전압 측정 하드웨어 세팅 : NI-6008, 전선, 배터리 - NI-6008과 컴퓨터를 연결한다. - GND와 AI3(-)에 각각 전선을 연결한다. (AI3(-) = ai7) 소프트웨어 세팅 - Labview와 DAQ-MX를 설치한 상태에서, 측정 I/O의 DAQ 어시스턴트 아이콘을 끌어다 놓는다. - DAQ 어시스턴트 - 신호 수집 - 아날로그 입력 - 전압 - Dev1의 ai7을 설정 후 확인한다. - While 루프 구조와 웨이브폼 차트 인디케이터, 타이밍을 설정한다. - 파일 I/O의 측정 파일에 쓰기 아이콘을 끌어다 놓고, 아래와 같이 설정한다.
1주차 - (1) 아두이노를 이용한 배터리 전압 측정 하드웨어 세팅 : 아두이노 DUE, 전선, 배터리 - 아두이노 DUE의 프로그래밍 포트와 컴퓨터를 연결한다. - 아날로그 입력 핀(A0)와 GND에 전선을 각각 연결한다. 소프트웨어 세팅 - 아두이노 홈페이지(https://www.arduino.cc/en/Main/Software)에서 Arduino IDE 설치 - Arduino IDE에서 툴 - 보드 - 보드매니저로 들어가서 Due 검색 후 Arduino SAM Borads(32-bits ARM Cortex-M3) 설치 - 툴 - 보드에서 Arduino Due (Programming Port) 설정 후, 연결된 포트 설정 ※ Arduino Due의 동작 전압은 3.3V이므로 그 이상의 전압을 인기하는..