전체 글
-
Image그래픽스 2021. 9. 29. 18:13
디지털은 이미지를 2차원 배열에 저장한다. picture element(pixel) : 작은 사각형을 의미하는 것이 아니라, 그 안에 있는 샘플을 의미한다. Image Resolution 해상도 Intensity resolution 빛의 세기(밝기 값) bitmap과 비슷하다. 깊이 따라 빛의 밝기가 달라진다. Spatial resolution (공간 해상도) Width x Height Temporal resolution (시간 해상도) 모니터의 'Hz' (FPS를 의미한다.) Source of Error 실제 값(Real value)과 샘플 값(Sample value,=digital)의 차이로 인해서 항상 Error가 난다. Intensity quantization(양자화) 빛의 세기 빛의 세기가 부족..
-
UDP기반의 Client/ServerIOT네트워크프로그래밍 2021. 9. 28. 20:35
특징 신뢰할 수 없는 데이터 전송 방식이다. 흐름제어를 하지 않는다. 순서가 보장되지 않음 사용처 상당히 많은 패킷이 오가면서 별로 중요하지 않은 몇개의 데이타 손실 정도는 눈감아줄수 있는 곳 단순한 요청-응답을 필요로 하는 프로세스 흐름 제어와 오류 제어가 크게 필요하지 않은 프로세스 멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜 UDP 방식의 통신과정 listen 과정과 accept 과정이 필요없다. 클라이언트와 연결을 맺지 않기 때문에, fork, select, poll, thread 등을 이용해서 프로세스를 분기할 필요가 없다. UDP 서버의 소켓 하나의 소켓만 있으면 된다. 연결 설정 과정이 필요 없다 하나의 소켓을 가지고 여러 개의 소켓에 데이터 송*수신 가능하다.
-
도메인 이름과 IP 주소 변환IOT네트워크프로그래밍 2021. 9. 28. 19:48
도메인 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소 DNS 서버 계층 구조를 가진 분산 데이터 베이스 서버 반복적으로 찾아가는 방식과 제귀적으로 검색하는 방법이 있다. Gethostbyname() : 도메인 명을 네트워크에서 통용되는 32비트 2진수로 바꾸어 준다. 도메인 이름 -> IP 주소를 얻는다. 인자로 호스트명을 주면 그 호스트에 대한 정보를 구할 수 있다 Gethostbyaddr() : 네트워크에서 통용되는 32비트 2진수를 도메인 명으로 바꾸어 준다. Hostent구조체 Struct hostent { char *h_name; // 공식 도메인 이름 char **h_aliases; // 해당 호스트의 닉네임 같은 것이다. 이걸로도 들..
-
Color그래픽스 2021. 9. 27. 13:01
Colorimetry(색상학) 우리는 380 ~ 780 nm의 범위에 있는 일부분의 빛을 볼 수 있다. 사람은 10만개의 색을 구분할 수 있다. 망막에 3가지 타입으로 되어있는 원주체가 있다. CIE 라고, 색상에 대한 표준을 만든다. Retina(망막) 원추체는 색 지각을 담당한다. 원추체는 Central fovea(망막에 가운데)이라는 영역에 가장 조밀하게 밀집되어 있다. Wavelength vs. Frequency 사이클(cycle) : 일정한 시간 간격마다 반복되는 동일한 모양 주기(period) : 한 사이클이 걸리는 시간 (주파수와 역수관계) 주파수(Frequency): 1초에 사이클이 몇번 반복되는가? 파장(Wavelength) : 한 사이클의 간격 끝을 1초라고 가정하면, 빨간색의 주파수는..
-
머신 러닝 만들기 - 선형 회귀기계학습 2021. 9. 24. 16:46
50cm 농어의 이웃 50cm의 농어가 들어오면 그 무게가 어느 정도가 되는 지 예측하는 것을 만든는 것이다. # 50cm 농어의 이웃 distances, indexes = knr.kneighbors([[100]]) #훈련 세트의 산점도를 그린다. plt.scatter(train_input, train_target) plt.scatter(train_input[indexes], train_target[indexes], marker='D') plt.scatter(50,1033, marker='^') plt.show() 어떤 직선이 가장 잘 표현 했는지 알아야 한다. print(lr.score(train_input, train_target)) 0.9398463339976039 print(lr.score(tes..
-
머신러닝 만들기 - K최근접 이웃회귀기계학습 2021. 9. 24. 16:19
농어의 무게를 예측 농어의 길이를 보고 무게를 예측하는 것을 만드는 것이다. 농어의 길이를 준비한다. import matplotlib.pyplot as plt plt.scatter(perch_length, perch_weight) plt.xlabel('length') plt.ylabel('weight') plt.show() 훈련세트를 준비한다. train_test_split를 쓴다. from sklearn.model_selection import train_test_split train_input, test_input, train_target, test_target = train_test_split( perch_length, perch_weight, random_state=42) train_input =..
-
회귀기계학습 2021. 9. 24. 14:48
회귀 임의의 어떤 숫자를 예측하는 문제 두 변수 사이의 상관관계를 분석하는 방법 K-최근접 이웃 회귀 K-최근접 이웃 회귀는 근처에 있는 이웃의 값들의 평균을 구해서, 그 평균값을 가지는 것이다. 과대적합과 과소적합 과대적합(Overfitting) 훈련집합에 대해서만 거의 완벽하게 근사 학습과정에서 잡음까지 수용 과소적합(Underfitting) 모델의 용량이 작아 오차가 클 수 밖에 없는 현상 모델이 너무 단순하여 훈련 세트에 적절히 훈현되지 않는 상태 선형회귀 직선을 학습하는 알고리즘이다. 이처럼 직선 함수를 만들어서 새로운 데이터가 들어왔을 때, 이웃하고 멀리 떨어진 데이터의 값을 선형 함수를 이용해서 값을 구할 수 있다. 다항 회귀 (polynominal) 곡선을 표현해서, 좀더 정확한 근사값을 ..