sklearn.linear_model.LogisticRegression 

Parameter  type  설명
penalty {‘l1’, ‘l2’, ‘elasticnet’, ‘none’}, default=’l2’ 비용 함수를 지정합니다.

dual bool, default=False L2 비용 함수를 사용할 때, 사용하는 이중 공식화
tol float, default=1e-4 정지 기준에 대한 허용 오차
C float, default=1.0 정규화의 강도의 역수
값이 작을수록 정규화가 강력해진다.
fit_intercept bool, default=True 결정 함수에 상수 (bias) (절편)을 추가하는지
intercept_scaling float, default=1  
class_weight dict or ‘balanced’, default=None 클래스의 가중치를 설정하는 옵션
random_state int, RandomState instance, default=None Random state
solver {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, default=’lbfgs’ 최적화에 사용할 알고리즘
max_iter int, default=100 solver의 수렴에 걸릴 최대 반복 회수
multi_class {‘auto’, ‘ovr’, ‘multinomial’}, default=’auto’ ovr  경우 이진 문제가 적합
multinomial은 다항 문제
verbose int, default=0 상세 설명 켜기 끄기
warm_start bool, default=False  
n_jobs int, default=None  
l1_ratio float, default=None  

 

'Programming > Python' 카테고리의 다른 글

sklearn.neighbors.KNeighborsClassifier  (0) 2020.06.04
sklearn.svm.SVC  (0) 2020.03.27

sklearn.neighbors.KNeighborsClassifier

Parameter  type  설명
n_neighbors Int (default = 5) 이웃의 개수
weights Str (default = ‘uniform’) Uniform(균일), distance(거리의 역수) 등의 가중치 함수를 사용할 수 있으며, 사용자 지정 함수를 사용 가능하다.
algorithm str Auto, brute, ball_tree, kd_tree 등의 알고리즘 사용 가능
leaf_size Int (default = 30) Ball_tree 나 kd_tree에서의 트리를 구성하는 잎의 크기
p Int (default = 2) Minkowski 지표의 전력 매개변수
metric str 거리 측정 항목의 공간,기본값은 유클리드 공간을 사용한다. DistanceMetric에 사용 가능한 목록이 있다.
metric_params dict 매트릭 함수에 대한 추가 키워드
n_jobs int 이웃 검색을 위한 병렬 작업 수

 

'Programming > Python' 카테고리의 다른 글

sklearn.linear_model.LogisticRegression  (0) 2020.06.04
sklearn.svm.SVC  (0) 2020.03.27

기계학습에서 자주 사용되는 로지스틱 회귀는 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 통계 기법입니다.

회귀에 사용되는 선형 회귀(Linear Regression)와 비슷하게, 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타낸다는 점이 특징입니다. 그러나 로지스틱 회귀는 종속 변수가 범주형 변수를 대상으로 하는 분류 모델입니다.

 

로지스틱 회귀는 기본적으로, 선형 회귀와 비슷한 개념으로, 각 독립변수 x와 각 독립변수의 가중치 w와 절편 b로 이루어지는 함수식으로 나타내어집니다.

 

y =w[0] × x[0] + w[1] × x[1]++ w[p] × x[p] + b >0

 

 

로지스틱 회귀가 다른 회귀 분석 모델과 구분되는 가장 큰 특징은 결과 값이 0과 1이라는 것 입니다. 결과 값이 [-\infty, +\infty] 인 선형 회귀의 식을 [0,1]의 범위가 되도록 오즈(odds)를 로짓 변환 하여 얻어집니다

 

 

로지스틱 회귀 또한 이진 분류를 지원하는 이항형 로지스틱 회귀와 2개 이상의 카테고리를 분류하는 다항형 로지스틱 회귀로 나뉩니다.

분류 모델에서 자주 사용되는 k-최근접 이웃 이웃 알고리즘에 대해서 알아보겠습니다. (회귀 모델로도 사용되지만 분류 모델로 자주 쓰인다)
KNN 알고리즘은 가장 간단한 기계학습 알고리즘으로, 입력으로 주어진 데이터와 가장 가까운 데이터를 바탕으로 분류를 진행하는 것 입니다.
KNN 모델에서 model의 fit과정은 훈련 데이터를 단순하게 저장하는 것이 모델의 훈련의 전부입니다.
새로운 데이터를 예측할 때에는 알고리즘이 훈련 데이터 셋에서 가장 가까운 데이터 포인트 - 최근접 이웃을 찾습니다.
KNN 모델을 구축할 때 가장 큰 파라미터는 이웃의 개수 k와 거리 계수입니다.

 

이웃의 개수 K

이웃의 개수 k는 참고할 이웃의 개수를 정하는 것으로, k가 늘어날수록 decision boundary가 부드러워집니다.

 

최적의 이웃의 수 k를 정하는 것은, 데이터에 의존적인 작업입니다. (데이터마다 최적의 k값이 각각 다르다.) k값이 커질수록 잡음의 영향이 줄어들지만 decision boundary가 부드러워져 경계가 불분명해지게 됩니다. 좋은 k는 발견적 기법으로 선택됩니다. 
이진 분류 문제에서는 k가 홀수인 것이 바람직합니다.

 

거리 척도

거리 척도는 가까운 이웃을 찾을 때 사용되는데, 흔하게 유클리드 거리척도를 사용하지만, 필요에 따라 다른 거리 척도를 사용할 수 있습니다.

 

지도 학습에는 대표적으로 분류와 회귀 방법이 있습니다.

분류는 쉽게 말하면, 범주형 변수를 예측하는 것 입니다. 날씨에서 맑음, 흐림, 비를 예측하거나, 질병이 있음(1) 없음(0)을 예측하는 것, 숫자 판별(MNIST) 와 같은 사례들이 이에 속합니다.

분류 모델에는 0과1 2가지의 클래스로 분류되는 이진분류모델과 3가지 이상의 클래스로 분류되는 다항분류모델로 나뉩니다.

 

회귀는 쉽게 말해서, 연속형 변수를 예측하는 것이라 할 수 있습니다. 연속적인 숫자나 실수를 예측하는 것입니다. 날씨에서 기온을 예측하거나, 주식 가격 변동 예측을 하거나, 부동산 가격을 예측(보스턴 데이터셋) 등이 이에 속합니다.

https://www.alliedacademies.org/articles/investigation-of-a-waveletbased-neural-network-learning-algorithm-applied-to-p300-based-braincomputer-interface-7882.html

 

[서론]

1) 주제 소개

척추손상, 근위축성측경화증, 잠금 증후군 과 같은 운동장애와 신경근육장애가 있는 사람은 주변 세계와의 상호작용 능력이 제한된다
왜? 운동 신경 세포가 퇴화되어 근육 섬유에 자극을 줄 수 없다.


2) 문제 제기

이것(운동 신경 세포의 퇴화)은 근육 위축을 초래한다. 팔다리 얊아지고, 모든 자발적 움직임을 잃게 됨.


3) 최근의 연구 동향

BCI 발전으로 인해 운동 장애를 가진 사람들이 컴퓨터나 음성 합성기 같은 통신 시설을 개발하여 삶의 질을 향상 시키게 됨.


4) EEG에 대해서

EEG 수집 방법, 국제 10-20 시스템 등 소개


5) EEG 신호를 사용하는 방법들 소개

Common reference method, Average reference and Current source density (CSD)
Visual Evoked Potentials (VEPs), P300 elicitation, alpha and beta rhythm activity, slow cortical potentials (SCPs),  microelectrode cortical neuronal recordings


6) P300의 중요성

P300은 인간의 뇌파에서 긍정적 편향, 희귀하거나 놀라운 작업 자극이 일어난 후 300ms 후에 나타나는 뇌파 전위 특성


7) 연구 방법 정리

특징 선택 - 분류


8) 연구 목적

BCI Speller의 정확성을 향상시키는 알고리즘. (P300을 찾는것) 
- 고안된 특징 추출 방법과 Feed-forward 신경망 분류기를 데이터셋 2개에 활용
- 최근 분류 방법의 정확도 수준 비교

 

2. Materials and Method

2.1. Dataset1


2.1.1. Dataset and paradigm
Wadsworth Center에서 제공된 BCI Competition III Challenge 2004 Dataset II

2.1.2. Single trials extraction
데이터셋 공급자가 모든 실행 데이터를 하나의 세션으로 병합해서 제공했기 때문에 그것을 나누는 작업을 시행함

2.1.3. Filtering and decimation
노이즈 필터링

2.1.4. Feature extraction
특징 추출 방법 - DWT ( 이산 웨이블릿 변환 )

2.1.5. Normalization
정규화 - 최대, 최소 정규화

2.1.6. Channel selection
채널 선택 - 분류 성능을 잃지 않으면서 적은 전극 수로 진행 가능하도록
P300검출에 대한 2개의 이전 연구를 제시.

2.1.7. Classification (Neural network)
역전파 학습 알고리즘을 사용한 신경망 


2.2. Dataset 2

2.2.1. Data description
데이터 설명 (수집처, 샘플링방법, 피험자 수, 수집 방법 등)

2.2.2. Single trial extraction
각각의 실행마다를 분할.

2.2.3. Filtering
노이즈 필터링

2.2.4. Windsorizing
노이즈 필터링 (2) 

2.2.5. Normalization
정규화 - Z-score (평균, 표준편차) 정규화

2.2.6. Channel selection
4개의 전극 구성을 테스트
4, 8, 16, 32개의 전극 구성으로 테스트함.

2.2.7. Feature vector construction
전처리된 데이터를 전극 구성에 따라 행렬로 만듬.

2.2.8. Classification (Neural network classification)
역전파 알고리즘 사용한 신경망 사용.


3. 결과

결과를 나타낸 방법 - 


3.1. Dataset1의 연구 결과로 나타난 결과 정리
-  가장 높은 정확도를 제공하는 분류는 (64-electrodes, 30 hidden layers), (10- electrodes, 15 hidden layers), and (8-electrodes, 40 hidden layers)
- 64 electrode configuration and 30 hidden layers 를 사용한 것이 94.9 Acc

3.2. Dataset1의 연구 결과로 나타난 결과 정리
- 32 electrode configuration with 20 hidden layers 일때 95.8%
- 4개, 8개로 구성된 전극 구성에서 분류 정확도가 높아짐.
- 평균  sensitivity and specificity를 얻음. 
- 이전의 연구가 성능이 더 좋음.

3.3. 이전의 연구와 본 연구에서 시행한 데이터세트 2개에 대한 실험의 결과 비교표.

 


4. 결론

인공 신경망 분류기에 적절한 특징 추출과 채널 선택 방법을 결합하여 정확도를 향상할 수 있다. 



Abstract

본 연구에서는 뇌파(brainwave data) 2개의 채널의 EEG 데이터를 사용하여 으로 우울증을 예측하는 모델을 제안하였다.

2개의 채널에서 측정된 EEG 데이터는 STFT 변환하여 스펙트로그램 이미지화 되었고 이 이미지 데이터를 CNN 모델을 통해 학습하였다.

성능 평가 결과 75%의 정확도가 나타났다.

 

1. 연구 목적

 

기존의 우울증 식별 전문적인 다채널 EEG 장비필요

-> 개인이 측정한 데이터를 가지고 우울증을 예측할 수 있도록 적은 채널에서 측정된 EEG 데이터를 가지고 우울증을 예측하는 모델을 제안.

 

2. 연구 대상

Wajid Mumta-z 의 연구에서 측정한 뇌파 데이터

우울증 환자 34, 대조군 30

눈을 감은 상태, 눈을 뜬 상태, 시각 콘텐츠 진행상태

19개의 채널 (국제 10-20 시스템)

 

이 데이터셋에서 우울증 환자 30, 대조군 30명만 사용

저채널 뇌파 측정 기기에서 주로 사용되는 2채널만 사용 (Fp1, Fp2)

깜빡임이나 외부 자극을 줄이기 위해 눈을 감은 데이터셋

 

 

3. 방법론

 

 

1) STFT(Short-Time Fourier Transform) 

기존 FFT

시간의 흐름에 따라 주파수의 변화가 있을 시, 어느 시간대에 주파수가 어떻게 변화되었는지 파악하기 힘듬

STFT

시간에 따라 변화하는 주파수 변화도 보고 싶다!

Þ시간 단위로 잘개 쪼개, 각각에 푸리에 변환

(윈도우 길이가 2, 홉 크기가 0.5, FFT 포인트 번호가 16, 샘플링 주파수가 256Hz/s, 오버랩이 50%)

 

2) 스펙트로그램

 

 

3) 트레인, 테스트 셋 생성

2개의 채널 스펙트로그램을 결합 하나의 이미지로

Train set : 우울증 20/ 대조군 20

Test set : 우울증 7 / 대조군 7

 

3. 딥러닝 모델

CNN 모델 사용

3컨버전트 레이어 (ReLU 활성화 함수)

출력 : 3X3 Max_pooling, Softmax 활성화 함수

CNN에 사용될 이미지는 오리지날 이미지의 1/100

Conv2d_1 (Conv2D)

(None, 62,94,32)

896

Max_pooling2d_1 (MaxPooling2D)

(None, 31,47,32)

0

Conv2d_2 (Conv2D)

(None, 29,45,64)

18496

Max_pooling2d_2 (MaxPooling2D)

(None, 14,22,64)

0

Conv2d_3 (Conv2D)

(None, 12,20,128)

73856

Max_pooling2d_3 (MaxPooling2D)

(None, 6,10,128)

0

Flatten_1 (Flatten)

(None, 7680)

0

dense_1 (Dense)

(None, 512)

3932672

dense_2 (Dense)

(None, 2)

1026

 

 

4. 결과

 

 

5. 결론

적은 수의 채널 데이터로 우울증을  판별하기 위한 모델로 이미지형 뇌파 딥러닝 모델을 제안하였으며, 이 모델의 정확도는 75%에 달했다.

딥러닝 수행에 있어 데이터 양 한계가 있어 향후 연구에서 보완해야 함.

 

6. Motivation

2개의 채널을 스펙트로그램 이미지 딥러닝

=> 여러 방식의 스펙트로그램(Mel, cqt )


적은 채널로도 우울증 예측 가능성

Val_loss 0.3 정도 됨. RUC 커브로 성능평가 해본다면.

데이터 양이 적은 것이 한계 : 폭발적으로 데이터 양을 늘릴 수 있다면

1. 데이터셋

Wajid Mumtaz의 데이터셋


2. 방법론



1) 전처리
 (1) 뇌파 노이즈 감소
이전 연구와 같이, 0.5~32Hz 사이의 신호에서 분석이 수행될 수 있도록 고역 필터 및 저역 필터로 필터링 되었다. 근육 움직임이나 전력 노이즈 신호는 32Hz를 초과하기 때문에 이 프로세스에서 제거된다. 눈 깜빡임, 안구 운동과 같은 잡음은 ICA(Independent Component Analysis)를 사용하여 제거하였다.

2) 특징 추출
 - Band Power
델타 (0.5–4Hz), 세타 (4–8Hz), 알파 (8–13Hz) 및 베타 (13–30Hz)의 네 가지 주파수 대역이 EEG에서 추출된다. welch periodogram(웰치 주기도) 를 사용하여 EEG 신호의 전력 스펙트럼을 계산한다. 
추가로 알파 대역을 알파1(8~10.5), 알파2(10.5~13)으로 나누었다.

 -반구간 세타 비대칭
왼쪽 전극의 로그 세타 전력과 오른쪽 전력의 로그 세타 전력 차이의 평균으로 계산하였다.
F4-F3, Fp2-Fp1, F8-F7, T4-T3, T6-T5, C4-C3, O2-O1, P4-P3 8개의 Feature이 생성되었다.

3) Feature Matrix
n-행은 n개의 EEG 데이터, 열은 EEG 데이터로부터 추출된 m개의 Feature이다. 
Feature Matrix는 60 * 103으로 구성되었다. 60은 실험군30 + 대조군30, 103은 총 피쳐 수(19*5 + 8)
19는 채널 수, 5는 대역 전력(델타, 세타, 알파1, 알파2, 베타)

여기서 2가지 유형의 Feature Matrix를 사용한다.
(i) 각 대역 전력에 대한 기능 세트 (60 , 19) * 5
(ii) 알파 + 세타 비대칭, 알파1 + 페어링 의 조합을 위한 60*27 

4) Feature 축소와 Feature 선택
전 연구에서는 Feature 축소 방법인 PCA를 적용하였지만, 이번 연구에서는 필터 기반 방법 Feature 선택인 MCFS(다중 클러스터 기능 선택)을 사용하였다.


5) 분류기 모델
 (1) 로지스틱 회귀
 (2) SVM
 (3) NB
 (4) DT

4) 검증
분류기는 10배 교차 검증을 100회 반복하여 실행하였다. 혼동 행렬을 기반으로 정확도, 민감도, 특이도가 계산된다.


3. 결과


1) 통계 분석 (세타 비대칭)
정상 피험자의 좌반구와 우반구의 세타 비대칭의 유의한 차이가 있지만, 우울증 환자는 큰 차이가 없다.

2) 대역 전력 기반
알파 전력 기반 SVM에서 84.50의 분류 정확도

3) 조합
알파2 파워와 세타 비대칭의 조합 - SVM에서 88.33의 분류 정확도

+ Recent posts