반응형

전체 글 764

[선형대수학]행렬의 전치, 컬레복소수, 성질, 대칭(Transpose, Complex Conjugate, Symetric)

목차 해당 포스트(Linear Algebra)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다. 행렬의 전치(Transpose)란? 전치 또는 트랜스포즈라고 불리는개념은 위와 같이 행렬의 인자들을 대각선(Diagonal) 사선을 중심으로 바꿔주는 것입니다. 인자값의 관점에서 보면 행과 렬을 뒤집는 개념입니다. 표기는 위와 같이 T를 행렬 위에 붙여 줍니다. 행렬의 전치(Transpose) 성질 위 성질 대부분은 쉽게 이해가 가는데 성질3의 경우 두개의 행렬 곱을 전치 하는 경우 행렬의 위치가 바뀌니 이 부분을 주의할 필요가 있습니다. Symmetrix Matrix 위 그림과 같이 Digonal 성분을 제외하고 나머지 원소들이 Digonal선을 대칭으로 ..

[머신러닝] 선형회기 행렬, 벡터로 풀이(Linear Regression)

목차 해당 포스트(Linear Algebra)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다. 선형회기(Linear Regression) 란? 여러개의 데이터 셋이 있는 경우 데이터들 간에 상관 관계를 선형적으로 표현하기 위해 사용하는 알고리즘이 선형회기 입니다. 예를 들어 약 100명의 사람들의 키와 몸무게에 대한 정보를 가져옵니다. 데이터들이 위에서 검정색으로 표기된 점들입니다. 그리고 빨간 색 라인이 선형 회기 알고리즘으로 키와 몸무게 사이의 관계를 잘 표현한 모델이 되는 것입니다. 선형대수학으로 위 모델을 만드는 방식은 아래와 같습니다. x 값은 몸무게이고 y 값은 키 입니다. 여기서 x값과 y 값은 이미 알고 있는 값이고 a, b 벡터(Vec..

[선형대수학] 정의, 행렬, 벡터, 성질, 연립일차방정식 (Matrix, Vector, linear system equation)

목차 해당 포스트(Linear Algebra)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다. 선형대수학(Linear Algebra)이란? 위와 같은 선형 방적식을 아래와 같이 행렬(Matrix)과 벡터(Vector)로 표현하는 수학을 선형대수학이라고 합니다. 다양한 수식을 선형(Linear)으로 평면의 형태로 표현하고 대수학의 의미는 평면의 매트릭스로 대신해서 표현하는 수학이라는 의미 입니다. 행렬(Matrix)과 벡터(Vector), 연립 1차 방정식이란? 우선 연립 일차 방정식(System of linear equation)은 수식1과 같은 1차 방정식을 사용해서 x,y와 같은 변수 값을 구하는 방정식을 의미 합니다. 행렬과 벡터는 기본의 정의를..

Q-Learning이란?(Epsilon-Greedy, gamma Discount factor, learning rate)

목차 해당 포스트(Reinforcement Learning)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다. Q-Learning이란? Q Learning 이란 강화 학습 알고리즘(Reinforcement Learning Algorithm)으로 보상을 받기 까지의 모델이 없는 상태에서 확률적인 동작으로 보상까지의 Quality를 찾는 과정입니다. 예를 들어 경로를 알려 주는 지도가 없는 경우에 부산에서 출발하는 사람이 있다고 생각하겠습니다. 서울에 도착하면 100원을 원주에 도착하면 80원을 보상을 준다고 가정하겠습니다. 여기서는 A10을 서울, A20을 원주로 가정하겠습니다. 위 테이블은 도시를 하나씩 이동할 때마다 State가 변하고(시간의 흐름),..

[Python] sklearn 정규 분포 만들기(StandardScaler), 그래프 비교

목차 파이썬 sklearn StandardScaler란? 빅데이터를 처리할때 일반적인 분포 데이터를 정규 분포의 데이터로 정규화(Normalization)하는 일들이 필요 합니다. 정규 분포란 평균(mean)이 0이고 분산(Variance)가 1인 데이터를 의미합니다. 분산에 대한 수식은 아래 링크를 참조하시길 바랍니다. https://scribblinganything.tistory.com/265 평균 제곱, 분산,자유도 (Mean Square, Variance,DOF) 이란? (의미, 계산법) 평균 제곱 (Mean Square) 이란? 평균제곱이란 아래와 같은 수식으로 전개 된다. mean-square 란 신호의 평균 힘(Strength) 또는 파워(Power)를 측정 한 값이다. 그림1은 자동차 진동..

[Python] sklearn 파이프라인(Pipeline) + ColumnTransformers

목차 파이썬 sklearn 파이프라인(Pipeline) 이란? ColumnTransformers는 강력한 기능이지만 Column(열)을 단계별 스텝(Multiple step)으로 처리해야하는 경우 충분하지 않습니다. 파이프라인(Pipeline) 기능은 여러개의 transformer를 체인 형식으로 연결해서 복잡한 프로세스를 단계별로 처리하게 도와 줍니다. 앞서 배운 ConlumnTransformer 함수도 파이프 라인의 체인에 넣을 수 있습니다. 이번 포스트에서 사용할 예제는 아래와 같은 구조로 사용합니다. 그림과 같이 3x5의 행렬에 Non 값을 랜덤하게 넣습니다. 해당 데이터를 원하는 형식으로 가공하는데 ColumnTransformer를 사용해서 가공 합니다. 이때 사용자가 원하는 열부분만을 선택해서..

[Python] 로그 그래프 그리기, numpy log1p, log, log10 함수 비교

목차 파이썬 numpy log1p vs log vs log10 함수 차이 사실 이부분은 코드와 결과를 수식으로 보여주면 정말 쉽게 이해가 됩니다. 하나씩 예제 코드와 함께 수식으로 정리하겠습니다. 전체 코드는 글 하단에서 다운 받을 수 있습니다. 예제 코드1>> import numpy as np x = np.exp(3) y= np.log(x) print(y) 결과>> 3.0 주석>> 위 수식은 x에 e 지수 값을 넣고 y는 ln으로 출력을 받습니다. 그래서 e^3이므로 y는 3이 출력 됩니다. 예제 코드2>> import numpy as np x = np.exp(3) y= np.log1p(x) print(y) 결과>> 3.048587351573742 주석>> log1p 함수는 입력값에 1을 추가로 더한 ..

[Python] 컴퓨터 화면 설정한 시간 별로 캡쳐하기(Screen Capture, ImageGrab)

목차 이번 포스트는 파이썬을 사용해서 사용자가 원하는 주기로 컴퓨터 화면을 캡쳐하는 프로그램을 만들어 보겠습니다. 그리고 화면 캡처를 진행하는 동안 컴퓨터를 자유롭게 동작하기 위해 프로그램이 백그라운드로 돌아 갈 수 있게 쓰레딩(Threading, 스레드)를 사용해보겠습니다. 소스 코드는 마지막에 다운로드 할 수 있습니다. [Python] 컴퓨터 화면 설정한 시간 별로 캡쳐하기 #1 예제 코드>> from PIL import ImageGrab pic_cnt = 0 def screen_capture(): img = ImageGrab.grab() img.save("image_{}.png".format(pic_cnt)) screen_capture() 결과>> 프로그램을 실행 시킨 폴더에 위와 같이 image_..

파이썬(Python) 2023.02.08

[Python] sklearn ColumnTransformer이란? 예제 실습(SimpleImputer, fit_transform)

목차 파이썬 ColumnTransformer 란? 파이썬의 머신러닝(Machine Learning)과 데이터 사이언스(Data Science) 파이프라인(Pipeline)에서 데이터 프로세싱(Data Processing)은 가장 시간과 노력이 많이 들어가는 일입니다. 일반적으로 현장에서 가져온 데이터들은 정형화 되지 않고 Machine learning 모델에 적용하기 힘든 형태 입니다. 일부 빠진 값들 표준화 되지 않은 값들 포맷에 맞지 않은 형태의 값들 중복되는 값들 위와 같은 형태들이 모델 적용이 어려운 raw data 들입니다. Sklearn의 ColumnTransformer는 위와 같이 처리가 어려운 값들을 파이프라인(Pipeline) 과정으로 사용자가 머신러닝(Machine Learning)에 ..

Z 변환이란? (ROC, 수식 유도, Transform,Z-Domain, 라플라스 차이)

목차 해당 포스트는 유투브 혁펜하임을 참조해서 작성하였습니다. Z 변환(Z Transform)이란? 수식 풀이 Z변환이란 앞서 라플라스 변환을 연속이 아닌 이산/불연속(Discrete)에서 처리하는 변환 방식입니다. 앞서 포스트에서 라플라스(Laplace) 변환은 기본 함수에서 시그마 지수가 포함된 값을 넣어서 해당 전달함수가 수렴되는 영역(ROC, Regions of Convergence)을 찾았습니다. 이와 마찬가지로 Z변환도 일반 이산 주파수 변환에서 아래와 같이 r^(-n)을 넣어서 수렴 영역을 찾아 줍니다. Z변환은 위와 같이 기존의 이산 푸리에 변환에서 오메가 변수 이외에 r이라는 변수를 가지는 변환입니다. r과 Ω 를 아래와 같이 정의를 합니다. 수식2를 수식1에 정의해서 Z 변환 수식을 아..

라플라스 변환이란? 사용 이유와 ROC(Region of Convergence), a+bj

목차 해당 포스트는 유투브 혁펜하임을 참조해서 작성하였습니다. 라플라스 변환(Laplace Transform)이란? 라플라스 변환은 간단하게 설명 드리면 푸리에 변환(Fourier Transform)의 확장 버전입니다. 위 수식1은 푸리에 변환 수식입니다. 라플라스는 위와 같이 기존의 푸리에 변환에서 시그마(sigma, σ)를 지수로 추가해서 오메가의 식만이 아닌 시그마와 오메가의 식으로 만든 것입니다. s= σ+jω 로 변환해서 우리가 잘알고 있는 라플라스 변환 식을 위와 같이 만들 수 있습니다. 역푸리에변환에 앞서처럼 시그마 지수를 곱하고 위와 같이 전개 하면 역라플라스(Inverse Laplace) 변환에 대한 식을 수식4와 같이 구할 수 있습니다. 라플라스 사용 이유와 ROC(Region of C..

[실제 사용 후기] WH-1000XM5 무선 노이즈 캔슬링 헤드폰

목차 [제품 리뷰] WH-1000XM5 무선 노이즈 캔슬링 헤드폰, 장단점 질렀습니다...... 사고 싶다 생각만하다가 이번에 여행을 가게 되서 비행기에서 조용히 음악을 듣고 싶어서 ANC(Active Noise Cancellation) 중 최강이라는 소니(Sony)의 WH-1000XM5를 구매하게 되었습니다. 사실 WH-1000XM4와 WH-CH710N 도 같이 고민을 하긴 했는데 WH-CH710N는 생각보다 노이즈 캔슬링 기능이 약하다는 리뷰가 있어서 자금을 조금 더 보태서 WH-1000XM5로 사게 되었습니다. 사실 글재주가 없어서 전문가와 같이 리뷰는 어렵겠지만 제가 실제 사용해보고 느낀 점들을 정리해보겠습니다. 장점을 정리하면 아래와 같습니다. 1. 강력한 노이즈 캔슬링 제가 헤드폰(Headph..

[Python] Numpy where 함수란? 예제 실습

목차 파이썬 Numpy where 함수란? 파이썬 numpy.where() 함수는 조건에 맞는 입력 어레이(array) 값의 인덱스(index) 값을 알려줍니다. Syntax는 아래와 같습니다. numpy.where(condition[, x, y]) 조건문이 만족(True)할 경우 x값을 False 일 경우 y를 출력 해줍니다. 조건만 있을 경우 조건의 입력 값에 index를 출력 해줍니다. 파이썬 Numpy where 예제 실습#1 예제 코드>> import numpy as np a_var = np.array([[1, 2, 3], [4, 5, 6]]) print("raw_data") print(a_var) print ("5와 같거나 작은 index 값") indices = np.where(a_var> ..

[Python] sklearn 경사하강법(Gradient Descent)란? 사용방법 및 예제 실습(SGD)

목차 파이썬 Gradient Descent란? 선형 회기(Linear Regression)는 데이터 셋(Data set)을 대표하는 하나의 선을 구하는 작업이었습니다. 즉, Y = a x X + b에서 기울기 값 a와 절편 값 b를 구하였습니다. 이때 사용된 방식은 RSS(Residual Sum of Squares)이었습니다. 잔차 제곱 방식라고 불리는 예측되는 선형회기 선과 실제 데이터 셋의 제곱 합이 최소가 되게 만드는 선형회기 선을 만드는 작업입니다. 그림에서 파란색선의 제곱의 합을 RSS(Residual Sum of Squares)라고 하고 RSS(Residual Sum of Squares)가 가장 작은 지점의 기울기와 절편을 구하는 알고리즘은 OLS(Ordinary Least Sqaures)라고..

DFT(이산 푸리에 변환) 매트릭스, FFT, Cyclic Convolution

목차 해당 포스트는 유투브 혁펜하임을 참조해서 작성하였습니다. DFT Matrix(이산 푸리에 변환 매트릭스) 앞서 포스트에서 DFT(Discrete Fourier Transform) 전개에 대해 알아보았습니다(https://scribblinganything.tistory.com/653). 위 수식(1)에서 3개의 포인트 입력 값을 넣고 3개의 출력 값을 받는 형식을 행렬(matrix)로 만들어 보겠습니다. 3개의 입출력은 k=0, 1, 2 로 생각할 수 있습니다. 수식(1)을 3개의 입출력으로 행렬로 표현하면 위와 같습니다. Orthogonal Matrix 는 Orthonormal 한 벡터(Vector) 값을 Column으로 가지는 행렬을 의미합니다. 즉, 크기는 1로 만들고 서로 직교성을 가지게 만들..

[Python] sklearn train_test_split 사용법, Syntax, 예제

목차 파이썬 sklearn train_test_split 란? Sklearn train_test_split 함수는 데이터(Dataset)를 트레이닝 데이터와 테스트 데이터로 아래와 같이 분류 해줍니다. Training data Test data 머신 러닝(Machine Learning) 알고리즘은 데이터를 분석해서 Performance를 높이는 방식입니다. 머신러닝 모델을 만들었다고 가정을 하면 이 모델이 정상적인 Performance를 보이는지 확인하는 작업이 필요 합니다. 사용자가 가지고 있는 데이터를 Training 과 Test 데이터로 분리 합니다. 그리고 Training 데이터를 사용해서 머신러닝 모델을 만듭니다. 그리고 해당 모델을 Test 데이터로 검증해봅니다. 이때 Sklearn train..

주파수 분석장치의 이산 푸리에 변환(DFT, Discrete Fourier Transform)의 수식과 정의

목차 해당 포스트는 유투브 혁펜하임을 참조해서 작성하였습니다. 이산 푸리에 변환(DFT, Discrete Fourier Transform)이란? 제가 사용하는 분석장치가 주파수 변환해서 분석하는 장치인데 공업 수학 신호처리를 공부하게 된 근본적인 이유가 이번 포스트의 DFT(이산 푸리에 변환)과 FFT(Fast Fourier Transform)을 이해하기 위해서 였습니다. 앞 시간에 공부한 연속 시간 푸리에 변환(CTFT, Continuous Fourier Transform)은 연속(Continous)한 측정 입력 값을 연속적(Continous)인 출력 주파수로 변환하였습니다(https://scribblinganything.tistory.com/644). 그리고 다음으로 이산 시간 푸리에 변환(DTFT,..

[무선청소기리뷰]발뮤다(Balmuda, C01A) 청소기(사용 후기)

목차 발무다(Balmuda, C01A) 무선 청소기 1년 사용 후기 사실 이번 무선 청소기는 디자인의 깔끔한 때문에 구매하게 되었는데 실제 1년간 사용해 보니 디자인 적인 측면 이외에도 기능적으로도 유용해서 리뷰글을 작성하게 되었습니다. 장점은 아래와 같습니다. 1. 조작이 간단하다. 사진처럼 청소기 봉의 끝단에 전원 버튼이 있어 간단하게 버튼을 눌러서 동작할 수 있습니다. 모드 선택도 단순히 길게 눌러서 변경이 가능합니다. 저와 같이 기능이 너무 많아 복잡한거 싫어하는 사람에게는 최적입니다. 2. 움직임이 자유롭다. 영상의 그림처럼 청소기 머리 부분의 회전이 부드럽게 움직이기 때문에 좁은 공간이나 벽면에 맞춰서 청소기를 움직일 수 있습니다. 3. 사용하지 않을 때 공간을 많이 차지하지 않음 위 사진은 ..

[Python] sklearn 설치 및 기본 회귀 모델 예제 실습(Linear Regression)

목차 sklearn 설치 하기 저는 Visual Studio에서 파이썬 실습을 하고 있기 때문에 Visual Studio에서 sklearn을 설치하도록 하겠습니다. PS D:\Python\test05> pip install sklearn Requirement already satisfied: sklearn in c:\users\forgo\appdata\local\programs\python\python38\lib\site-packages (0.0.post1) [notice] A new release of pip available: 22.2.2 -> 22.3.1 [notice] To update, run: c:\users\forgo\appdata\local\programs\python\python38\py..

이산 시간 푸리에 변환 수식 전개하기(Discrete Time Fourier Transform)

목차 해당 포스트는 유투브 혁펜하임을 참조해서 작성하였습니다. 이산 시간 푸리에 변환(DTFT) 수식 전개하기 앞장에서 이산 시간 푸리에 시리즈(Discrete Time Fourier Series, DTFS)의 수식 및 전개 방식에 대해 알아보았습니다. 이번에는 앞서 DTFS의 계수를 통해 DTFT를 구하는 방법에 대해 알아보겠습니다. 수식(1)은 푸리에 시리즈(Discrete Time Fourier Series, DTFS) 계수에서 1/N을 계수쪽으로 넘긴 수식입니다. 변환과 시리즈의 차이는 변환은 비주기(Non periodic, aperodic) 함수까지 신호를 처리할 수 있다는 점입니다. 즉, 수식(1)에서 N 값을 무한대로 보내 보겠습니다. 이때 발생하는 일과 조건을 아래와 같이 걸겠습니다. 1...

반응형