CS 99

[디지털영상처리] Resolution

해상도 조절 개요 해상도(Resolution)는 다양한 디지털 장치나 미디어에서 세부 사항을 얼마나 정확하게 표현할 수 있는지를 나타내는 척도다. 해상도는 주로 공간 해상도와 강도 해상도로 분류되는데, 공간(Spatial) 해상도는 이미지의 세부 정보를 얼마나 정밀하게 표현할 수 있는지를 나타내는 척도다. 주로 이미지의 픽셀 차원, 즉 이미지의 너비와 높이를 기반으로 단위 inch 당 픽셀로(dpi) 정의된다. 연속적인 이미지 신호를 디지털 형식으로 변환하기 위해 일정 간격으로 샘플을 취하는 샘플링(Sampling) 빈도가 높아지면 공간 해상도가 높아진다는 특징이 있다. 반면 강도(Intensity) 해상도는 이미지의 각 픽셀에서 표현할 수 있는 밝기 또는 색상의 레벨 수를 나타낸다. 이를 이미지의 비트..

[마이크로프로세서] 분류

마이크로컨트롤러 분류 개요 마이크로컨트롤러는 여러 기준에 따라 분류될 수 있다. 주요 분류 기준은 비트 수, 메모리 접근 방식, 그리고 명령어 구성 방식이다. 각 분류 기준에 따라 마이크로컨트롤러의 특성과 사용법이 달라질 수 있으므로, 이를 이해하고 적절한 마이크로컨트롤러를 선택하는 능력이 필요하다. 따라서 이번 시간에는 이러한 분류법에 대해 배워보도록 하겠다. 본문 비트 수에 의한 분류 비트 수에 의한 마이크로컨트롤러의 분류는 주로 데이터 버스의 너비를 기준으로 한다. 이는 마이크로프로세서가 한 번에 처리할 수 있는 데이터의 양을 의미하는데, 비트 수에 따라 다음과 같이 주요 분류가 이루어진다. 먼저 8비트 마이크로프로세서는 주로 센서 데이터의 읽기, 기본적인 모터 제어, 그리고 간단한 통신 기능과 같..

[딥러닝] 주성분 분석(PCA)

Principle Component Analysis(PCA) 개요 남자와 여자에 대한 다양한 특징 정보가 주어졌다고 가정해 보자. 이들을 구분하기 위한 정보는 굉장히 많을 것이다. 하지만 실질적으로 우리가 성별을 구분하기 위해서 이 모든 데이터를 활용할 필요가 없다. 예를 들면, 염색체만 확인하면 생물학적으로 남녀를 구분할 수 있다. 이러한 핵심 특징을 추출한다는 아이디어에 기반하여 AI 학습 전에 학습 데이터를 전처리하면 효과적인 머신 러닝을 진행할 수 있다. 여기서 말하는 전처리는 데이터의 차원을 줄이는 것을 의미하는데, 이를 Principle Component Analysis(PCA), 주성분 분석이라고 한다. 본문 비지도학습 PCA는 비지도 학습에 속한다. 비지도 학습(Unsupervised le..

CS/딥러닝 2023.09.30

[디지털영상처리] 개요

Digital Image Processing(DIP) 개요 디지털 영상 처리(Digital Image Processing, DIP)는 디지털 이미지나 비디오의 시각적 내용을 개선, 분석, 변환하는 기법들을 포함한 기술 영역이다. 즉, DIP는 컴퓨터나 전자 디바이스를 사용하여 이미지 정보를 처리하는 과정을 의미한다. 디지털 영상 처리의 주된 목적은 이미지의 개선, 변형, 복원 등을 하는 것이며, 해당 결과로 다른 이미지나 이미지의 수정된 버전이 출력된다. 즉, 이미지 자체를 개선하거나 변형하는 데 중점을 둔다. 이미지란 무엇일까? 이미지(Image)는 라틴어 이마고(Imago)에서 유래한 것으로, 모방하다는 뜻을 가진 라틴어 이미타리(Imitari)에서 파생한 것이다. 쉽게 얘기해서 대상에 대해 개인이나..

[마이크로프로세서] 개요

Micro Processor 개요 지난 컴퓨터 구조 시간에서 배웠듯이, 컴퓨터는 하드웨어와 소프트웨어로 구성되는 명령어를 처리하는 기계다. 우리가 일반적으로 사용하는 범용 컴퓨터(PC)는 그 구조 내에 다양한 부품과 기능들을 내장하고 있어, 복잡한 작업들도 손쉽게 처리할 수 있다. 그렇다면 컴퓨터의 핵심이 되는 기본 구성 요소는 무엇일까? 바로 CPU, 메모리(주 메모리, 보조 메모리), 입출력 장치다. 이러한 핵심 부품들이 통합된 장치를 컴퓨터로 정의할 수 있다. 이때, 마이크로컴퓨터라는 용어는 이러한 핵심 부품들을 포함하면서도, 마이크로프로세서를 중심으로 간소화된 구조를 가진 컴퓨터를 의미한다. 초기의 마이크로컴퓨터는 대형 컴퓨터나 미니 컴퓨터에 비해 작고, 특정한 목적에 맞춰진 작업을 수행하도록 설..

[딥러닝] 비선형 회귀 분석(2)

Non-linear regression 본문 구현 import numpy as np import matplotlib.pyplot as plt from sklearn.kernel_ridge import KernelRidge # 1. 비선형 데이터 생성 rng = np.random.default_rng(0) X = rng.uniform(0, 10, 100)[:, np.newaxis] y = np.sin(X).ravel() + np.sin(6 * X).ravel() + rng.normal(0, 0.1, X.shape[0]) # X 값을 정렬 X_sorted = np.sort(X, axis=0) # 플로팅 plt.figure(figsize=(10,6)) plt.scatter(X, y, color='blue', ..

CS/딥러닝 2023.09.26

[딥러닝] 비선형 회귀 분석(1)

Non-linear Regression 개요 지난 시간에는 데이터를 선형적으로 모델링하는 선형 회귀의 기본 개념과 그 적용 방법에 대해 다루었다. 선형 회귀는 많은 상황에서 유용하게 쓰이지만, 현실 세계의 데이터는 종종 복잡한 패턴과 비선형 관계를 가질 때가 많다. 선형 회귀만으로는 이런 복잡한 관계를 정확하게 포착하기 어렵다. 이번 시간에는 선형 모델의 한계를 극복하기 위해 도입되는 비선형 회귀 분석을 중점적으로 다루어 보겠다. 비선형 회귀는 데이터의 복잡한 패턴을 더 정밀하게 잡아내는 데 효과적이다. 그리고 비선형 현상을 선형적으로 근사하는 여러 방법과 원리도 함께 살펴볼 것이다. 이를 통해 데이터의 복잡한 구조를 더욱 깊게 이해하고, 더 정확한 예측과 분석을 수행할 수 있는 기초를 다질 수 있을 것..

CS/딥러닝 2023.09.25

[컴퓨터구조] RAID의 정의와 종류

RAID 개요 복수의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 RAID(Redundant Array of Independent Disks) 방식은 수명이 있는 보조기억장치의 한계를 극복하고자 개발된 기법이다. 이 시스템은 데이터의 안정성 혹은 성능 향상을 중심으로 설계되었다. 이번 시간에는 이러한 RAID 시스템을 적용한 하드디스크에 대해 알아보는 시간을 가지도록 하자. 본문 독립적인 보조기억장치를 하나로 묶는 것이 왜 데이터의 안정성, 그리고 높은 성능과 관련이 있을까? 이는 RAID의 종류(Level)를 알아보면 해답이 된다. RAID의 종류 RAID 0은 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식이다. 주로 성능 향상을 목적으로 사용하는데, 이는 데..

CS/컴퓨터구조 2023.09.13

[딥러닝] 머신러닝과 1차 선형 회귀

머신러닝 개요 개요 인공지능(Artificial Intelligence)은 인공적인 방법을 통해 인간의 지능을 모방하는 컴퓨터과학의 분야 중 하나다. 이는 합리적인 추론을 통해 문제를 해결하거나, 기계가 세상에 대한 지식을 표현하거나, 경로를 추적하거나, 데이터를 학습하여 입력과 출력 사이의 함수를 찾는 등 다양한 분야에서 응용되고 있다. 즉, 기계가 인간처럼 사고하고 학습하며 작업을 수행하는 능력을 가진 것을 인공지능이라고 한다. 이러한 인공지능은 매우 넓은 분야로서, 여러 하위 분야를 포함하고 있다. 주요 분야로는 머신러닝(Machine Learning), 로보틱스(Robotics), 전문가 시스템(Expert Systems), 자연어 처리(Natural Language Processing), 컴퓨터..

CS/딥러닝 2023.09.11

[MySQL] 데이터 백업과 수정 with C++

MySQL 테이블 데이터 백업과 수정 개요 리그 오브 레전드를 주제로 한 토이 프로젝트를 진행 중에, 새로운 시즌이 시작됨에 따라 플래티넘과 다이아몬드 티어 사이에 새롭게 에메랄드 티어가 도입되었다. 내 데이터베이스 테이블은 사용자의 닉네임, 티어, 라인, 점수로 구성되어 있으며, 사용자의 티어에 따라 자동으로 점수가 매핑되도록 설정되어 있다. 즉, 티어와 점수가 직접 연결되어 있기 때문에, 이러한 게임 내 변화는 데이터베이스의 일관성을 유지하기 위한 추가 조치가 필요하다는 것을 알았다. 이번 시간에는 기존의 테이블에 존재하는 데이터를 수정하는 방법과, 그전에 데이터를 백업하는 방법에 대해 알아보도록 하자. 본문 데이터 백업 데이터를 수정하기 전에 백업을 하자. 필자는 WorkBench 8.0을 쓰고 있..