본문 바로가기

머신러닝18

(R3)제09강_02 소프트맥스(softmax) 소프트맥스는 분류에 사용됩니다. $\\ $\begin{align*} y_k &= \frac {exp(a_k)} { \sum\limits_{i=1}^n exp{(a_i)} } \\ \end{align*} exp(x)는 $e^x$를 뜻하는 지수함수 입니다. 소프트맥스 함수의 분자는 $a_k$의 지수함수, 분모는 지수함수의 합으로 구성됩니다. 지수함수는 크기가 크므로 다음과 같이 조정하여 해결합니다. $\begin{align*} y_k &= \frac {exp(a_k)} { \sum\limits_{i=1}^n exp{(a_i)} } \\ &= \frac {C \cdot exp(a_k)} { C \cdot \sum\limits_{i=1}^n exp{(a_i)} } \\ &= \frac { exp(a_k+logC.. 2021. 5. 21.
(R3)제09강(3.1)신경망 표기** wij 주의 - 출력 i 로 들어가는 입력 j 신경망 공부를 하게 되면 여러가지 표기법을 접하게 됩니다. 다음은 간단한 신경망을 표시한 것입니다. (1) 우선 입력 a, b,c 로 입력 변수가 3개 있습니다. (2) 입력된 a,b,c 에 가중치가 적용됩니다. Wa, Wb, Wc (3) 입력된 값의 (가중) 합계를 구합니다. Σ 입력값 X 가중치 X = a Wa + b Wb + c Wc 회귀분석의 경우와 비슷한 형태입니다. (4) 입력된 값의 합계(가중합계)에 시그모이드 함수를 적용합니다. 로지스틱 회귀분석의 경우와 비슷한 형태를 가집니다. (5) 시그모이드 함수의 결과가 출력(y) 가 됩니다. 여러 시그모이드 함수 중에서 로지스틱함수가 가장 많이 사용됩니다. 이번에는 두 개의 출력이 있는 경우를 설명합니다. 입력변수가 X1, X2, X3 으로 세 개.. 2021. 5. 12.
(R3)제04강(1.1) 의사결정나무 - iris, rpart, caret 가장 많이 알려져 있는 데이터인 붓꽃 데이터(iris)를 이용하여 의사결정트리를 실행합니다. 사용되는 패키지는 {rpart} 이고, 사용되는 함수도 rpart()입니다. 뒷부분에 모형 평가를 위해 패키지 caret 사용법을 추가했습니다. 1. 의사결정나무 실행 - 패키지 rpart 이용 install.packages("rpart") # 패키지 rpart 설치 library(rpart) # 패키지 rpart 로딩 rpart(Species ~., data=iris) # 종속변수 붓꽃의 종류 Species로 하고, 나머지 변수로 의사결정모형을 실행 plot(model_rpa,compress=T,margin=0.2) # 의사결정모형의 결과를 Plot text(model_rpa, cex=1.5) # [[ 해석 ].. 2020. 12. 29.
(p3)제04강_01 파이썬으로 해 보는 의사결정나무 import numpy as np from sklearn import datasets # iris 데이터를 불러오기 from sklearn import tree # 의사결정나무 모듈 from sklearn.model_selection import train_test_split # 훈련데이터와 테스트 데이터 분류할 때 필요 from sklearn.preprocessing import StandardScaler # 표준화할 때 필요 iris = datasets.load_iris() # iris 데이터 로딩 X = iris.data y = iris.target model_tree = tree.DecisionTreeClassifier(criterion='entropy', max_depth=3, random_st.. 2020. 11. 10.
(R3)제08강_01 서포트벡터머신(SVM) 실행해 보기 -iris, e1071, caret 1995년에 Vapnik와 Cortes Support Vector Machine(SVM) 발표 참고서적: An Introduction to Statistical Learning with Applications in R "SVM의 초평면을 찾는 개념은 로지스틱회귀분석과 선형판별분석과 같은 고전적인 분류기법과는 명백히 다른 것처럼 보였다... 더욱이 비선형클래스 경계를 수용하기 위해 변수공간을 확장하는 Kernel을 사용하는 개념은 독특하고 귀중한 특징처럼 여겨졌다" "하지만 이후 SVM과 고전적인 다른 방법들 사이에 깊은 관련성이 있음이 드러났다" (ISLR 9장에서 인용) 저도 처음에 SVM 을 보면서 심지어는 말도 안된다고 생각했습니다. 초평면 SVM 공부를 하려면 제일 먼저 초평면이란 개념을 알아야 .. 2020. 11. 10.
(R3)제06강_01_랜덤포리스트 - iris, caret 의사결정 트리에서 사용되었던 데이터인 붓꽃 데이터(iris)를 이용하여 랜덤 포리스트(RandomForest)를 실행합니다. 사용되는 패키지는 {randomForest} 이고, 사용되는 함수도 randomForest() 입니다. install.packages("randomForest") # 패키지 randomForest 설치하기 library(randomForest) # 패키지 로드하기 set.seed(1234) # 난수를 일정하게 생성하도록 seed를 지정... 1234 가 아니라도 무방합니다. model_ran 2020. 11. 10.