2023/02 11

[선형대수학]행렬의 전치, 컬레복소수, 성질, 대칭(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 변환 수식을 아..