본문 바로가기

Programming

(51)
히스토그램 평활화, 역투영(Equalized, Back-Projection) 1. 히스토그램 - 히스토그램은 해당 값에 대한 빈도수를 시각화하여 나타낸 그래프이다. - 영상처리에서 히스토그램은 명암값에 대한 빈도수를 나타내기 위해 사용되었다. - 주로 영상의 특성을 파악하기 위해 사용한다. 더보기 히스토그램의 용도 영상의 명암값의 분포를 보여준다. 조작을 통한 영상의 품질을 개선한다. 컬러 분포가 비슷한 영역을 검출하여 물체를 검출한다. - 다음 그래프처럼 왼쪽에 치우칠수록 어두운 영상임을 알 수 있다. - 다음 그래프는 명암의 범위가 넓으며 밝기 분포가 비교적 균일하다. - 다음 영상의 그래프를 보면 두개의 봉우리가 선명하게 나타난 영상으로 이런 사진은 이진 영상으로 변환하기 쉽다. 히스토그램 OpenCV로 표현하기 - OpenCV와 Matplotlib을 이용하여 Histogr..
에지 검출 (Edge Detection) / Image Gradients 에지 검출의 기초 - 물체 내부나 배경은 변화가 없거나 작은 반면, 물체 경계는 변화가 크다. - 에지란 영상의 명암, 컬러, 또는 텍스처와 같은 특성이 급격히 변하는 지점이다 - 이 원리에 따라 에지 검출 알고리즘은 명암, 컬러, 또는 텍스처의 변화량을 측정하고, 변화량이 큰 곳을 에지로 검출한다. - 변화량을 구하기 위해 보통 도함수(derivative)를 사용하는데, 컴퓨터 비전에서는 연속 공간이 아닌 이산 공간에서 정의된다. - 영상에서는 데이터가 일정간격으로 나열되어 있기 때문에 수학적인 미분 연산을 하지 않는다 - 대신 인접한 화소끼리의 차이를 취하는 연산을 한다. 에지 모델과 연산자 - 다음 그림은 계단 에지(step edge)와 램프 에지(ramp edge)라 불리는 두 종류의 에지를 가진..
로지스틱 회귀(Logistic Regression) 1. 로지스틱 회귀란? - 로지스틱 회귀는 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해 주는 지도 학습 알고리즘이다. - 로지스틱 회귀의 분류 모델은 이진 분류 모델로 클래스가 딱 2개 있을때만 사용이 가능하다. - 로지스틱 '회귀' 인데 갑자기 왜 뚱딴지같은 분류 모델이 나오지 라고 생각할 수 있는데, 로지스틱 '회귀'를 통해서 '분류'를 하는 것을 의미한다. - 예를 들어보면 제품을 받았을때 그것이 불량일 확률이 0.5 이상이면 불량으로 분류하고, 확률이 0.5보다 작은 경우 양품으로 분류하는 것이다. 이렇게 데이터가 2개의 범주 중 하나에 속하도록 하는 것을 2진 분류(binary classific..
회귀 모델 평가 분류 모델의 성능을 평가하기 위해서 주로 Accuracy, Precison, Recall 등을 사용한다. 회귀 모델의 경우 다음과 같은 방식을 사용하여 모델을 평가한다. 더보기 우리가 오차들을 계산할때 각 오차들은 부호(+-)로 인해서 상쇄될 가능성이 있다. 그러한 에러를 방지하기 위해 절댓값을 씌우거나 제곱을 할 수 있다. 1. MAE (Mean Absolute Error) - MAE는 위와 같은 문제를 방지하기 위해 오차에 절댓값을 씌워 계산한 값들의 평균을 구하는 방법이다. - 오차들의 부호로 인해서 오차가 서로 상쇄되는 문제를 해결할 수 있는 방식. 2. MSE (Mean Squared Error) - MSE는 오차간의 부호 문제를 각 오차를 제곱하여 계산한 값들의 평균 - MSE의 경우 MAE와..
퍼셉트론(단층) 1. 신경망 - 인공 신경망: 생물학적인 신경망에서 영감을 받아서 만들어진 컴퓨팅 구조이다. 생물학적인 신경망에서 수학적인 구조로 모델링 한 것 - 퍼셉트론: 신경망(딥러닝)의 기원이 되는 알고리즘 퍼셉트론(인공 뉴런): 다수의 신호를 입력으로 받으면 Activation function(활성화 함수)를 거쳐 특정 하나의 신호를 출력. 2. 뉴런을 사용한 논리 연산 - 생물학적 뉴런에서 착안한 매우 단순한 신경망 모델임 - A,B는 input - 첫번째 네트워크는 항등함수. (뉴런 A가 활성화 되면 뉴런 C도 활성화 된다.) - 두번째 네트워크는 논리곱 연산을 수행. (뉴런 A,B 모두 활성화 될때만 뉴런 C가 활성화 됨.) - 세번째 네트워크는 논리합 연산을 수행. (뉴런 A, B 둘 중 하나라도 활성화..
다중 공산성 문제 다중공산성 문제란? -독립 변수간의 상관관계가 매우 높을때, 하나의 독립변수의 변화가 다른 독립변수에 영향을 미쳐, 결과적으로 모델이 크게 흔들리는 것을 말함. -일반적으로 회귀 분석에서는 어떤 설명 변수의 영향력을 파악할 때 설면 변수들 끼리 서로 독립이라는 가정을 하고 있다. 그래야 알아보고자 하는 변수의 영향력만을 오롯이 알 수 있기 때문이다. -다중공산성에 문제가 발생한다는 것은 독립변수 x1과 x2가 있을때 x1이 종속 변수에 대해 설명한 부분을 x2가 또 설명해 주고 있다고 생각하면 된다. -이렇게 되는 경우 변수들 각각의 설명력이 약해지게 되며 이는 변수들의 표준 오차의 증가로 여실히 드러나게 됨. 다중공선성 문제가 발생했는지 어떻게 알 수 있는가? 1) correlation matrix를 ..
1.선형 회귀(Linear Regression) 1. 회귀 - 회귀는 주어진 입력- 출력 쌍을 학습한 후, 새로운 입력값이 들어왔을 때 합리적인 출력 값을 예측하는 것. -회귀에서 학습시키는 데이터는 이산적이지 않고 연속적이다. (입력과 출력이 모두 실수이다.) 이산적 : 변수가 취할 수 있는 값의 수가 유한한 경우, 정수로 표시된 자료 --> 일정 기간 동안 교통사고 발생건수, 특정 가구의 자녀수 연속적 : 체중, 거리, 시간 과 같이 무한히 작은 단위로 측정이 가능하여 모든 실수 값을 취할 수 있는 자료. --> 무게, 온도, 부피 결국 회귀는 입력(x)와 출력(y)가 주어질 때, 입력에서 출력으로의 매핑 함수를 학습하는 것이라고 할 수 있다. 2.선형 회귀 소개 - 직선의 방정식 : f(x) = mx+b - 선형 회귀는 입력 데이터를 가장 잘 설..
Pandas(데이터 구조 살펴보기) head() -head는 default 값으로 앞에서부터 5개의 행이 조회 된다. -파라미터로 숫자를 넣어 조회하고 싶은 행의 갯수를 지정할 수 있다. df.head() df.head(3) tail() -tail은 반대로 default 값으로 뒤에서부터 5개의 행이 조회 된다. -파라미터로 숫자를 넣어 조회하고 싶은 행의 갯수를지정할 수 있다. df.tail() df.tail(3) info() -열(column)별 정보를 보여준다. df.info() RangeIndex: 891 entries --> 891개의 행을 가진 데이터프레임을 의미. Non-Null Count --> 각 columns 별 결측치 데이터를 가지고 있지 않은 수. *deck열의 경우 891-203, 총 681개의 데이터가 결측치 데이..