달력

1

« 2020/1 »



 

 

인공신경망(ANN; Artificial Neural Network)

·       인공신경망 뉴런들은 multi-layer로 구성을 하며, 역전파(back-propagation) 알고리즘을 통해 신경망의 학습 결과가 기대치와 비슷한 결과를 낼 수 있도록 뉴런의 입력으로 들어오는 시냅스의 가중치를 계속 조절해가는 과정을 거치며 훈련(training) 하게됩니다.

·       훈련 데이터를 통한 반복 훈련을 통해 가중치(w1, w2, …, wn)의 최적값이 정해지게 됩니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

 

 

K-교차검증(K-fold Cross-Validation)

단일한 훈련 데이터와 평가 데이터로 1회만 분할하는 것이 아니라, 전체 데이터를 K개로 등분한 , k=1,2...K번째 데이터 세트를 차례로 검증 데이터(Validation Data) 사용하고 나머지 데이터 세트를 모델 훈련에 반복적으로 사용하면서 모델 성능을 측정하는 방법입니다. 결국 K-교차 검증은 데이터 세트를 훈련 데이터와 검증 데이터(Validation Data) 나누어 모델링 성능 평가를 K 반복하게 되며, 모든 K 중첩에 대한 성능 평가결과들에 대한 평균치를 통해 최종 모델 성능 평가를 도출할 있습니다.

 

https://codedragon.tistory.com/6884

https://codedragon.tistory.com/9510

https://codedragon.tistory.com/9908

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

 

함수의 형태 1 - 출력형태O 입력형태O

출력 형태

있음(int) ->  O

입력 형태

있음(int x, int y) -> O

해석

x, y 입력 받아

plus() 함수의 기능을 처리하고

int으로 출력

출력시

출력 형태가 있어 함수 내에서 반드시 return문을 사용해야 합니다.

 

# 함수 정의 형태 - OO

def plus(x, y):

    result = x + y

    return result # 반환값

 

 

 

 

 

 

함수의 형태 2 - 출력형태O 입력형태X

출력 형태

있음(int) -> O

입력 형태

없음(void) -> X

해석

입력 받는 없이

inputNum() 함수의 기능을 처리하고

int으로 출력

출력시

출력 형태가 있어 함수 내에서 반드시 return문을 사용해야 합니다.

 

# 함수 정의 형태 - OX

def inputNum():

    result = input('insert any keys :')

    return result #반환값

 

 

 

 

 

 

 

함수의 형태 3 - 출력형태X 입력형태O

출력 형태

없음(void) -> X

입력 형태

있음(int x) -> O

해석

x, y 입력 받아

sum() 함수의 기능을 처리하고

출력은 하지 않음

출력시

출력 형태가 void이므로 함수 내에서 return 문이 없어도 됩니다.(return생략가능)

 

# 함수 정의 형태 - XO

def sum(x, y):

    print("%d, %d 합은 %d입니다." % (x, y, x + y))

 

 

 

 

 

 

 

 

함수의 형태 4 - 출력형태X 입력형태X

출력 형태

없음(void) -> X

입력 형태

없음(void) -> X

해석

입력 없이

output() 함수의 기능을 처리하고

출력은 하지 않음

출력시

출력 형태가 void이므로 함수 내에서 return 문이 없어도 됩니다.(return생략가능)

 

//함수 정의 형태 - XX

 

def output():

    print("Hello Python")

 

 


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

이름공간(NameSpace)  (0) 2020.01.22
ModuleNotFoundError: No module named 'tensorflow.keras'  (0) 2020.01.22
Python 함수 형태 1 2 3 4  (0) 2020.01.21
연속라인  (0) 2020.01.21
[Python] Loop control  (0) 2020.01.20
제어문과 관련된 유용한 내장 함수  (0) 2020.01.20
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 1. 21. 12:05

연속라인 Development/Python


 

 

연속라인

·       \(백슬래시)는 코딩이 길어져 한 화면에 나타나지 않을 때 사용합니다.

·       \(백슬래시)를 사용하여 긴 라인을 여러줄로 나눌 수 있습니다.

·       \(백슬래시)로 나눠진 줄은 한 줄로 인식됩니다.

 

 

코드라인\

코드라인\

코드라인

 

 


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

ModuleNotFoundError: No module named 'tensorflow.keras'  (0) 2020.01.22
Python 함수 형태 1 2 3 4  (0) 2020.01.21
연속라인  (0) 2020.01.21
[Python] Loop control  (0) 2020.01.20
제어문과 관련된 유용한 내장 함수  (0) 2020.01.20
elif, else  (0) 2020.01.20
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

불순도(impurity)

·       불순도는 노드에 여러 분류가 섞여 있을수록 높아집니다. 반면 하나의 분류만 있다면 낮아집니다.

·       가장 흔히 사용하는 불순도 함수는 지니 불순도(Gini Impurity)입니다.

 

 

 

 

 

 

불순도 함수

불순도 함수 f가 있다고 할 때 노드 A의 불순도 I(A)는 다음과 같이 정의합니다.

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

특수용도 변수들 & 함수들

이더리움 스마트 계약은 특수 용도의 변수들과 함수들을 정의하고 있습니다.

 


 

 

 

구분

설명

blockhash

·       Blockhash blocknumber input 인자로 받습니다.

·       주어진 block number 해당하는 32 bytes hash값을 리턴합니다.

block.coinbase

·       현재 블록 채굴자의 외부 계정 주소(address) 또는 지갑 주소를 리턴하게 됩니다.

block.difficulty

·       현재 블록의 채굴 난이도를 반환합니다.

block.gaslimit

·       현재 블록의 가스 리미트를 반환합니다.

block.number

·       현재 블록의 넘버를 반환합니다.

·       현재 블록의 넘버는 현재 블록까지의 블록체인 길이이기도 니다.

block.timestamp

·       현재 블록의 timestamp로서 unix epoch 이후 단위를 알려줍니다.

gasleft()

·       Gasleft 함수로써 현재 남은 가스량을 알려줍니다.

msg.gas

·       gasleft() 함수와 마찬가지로 현재 남은 가스량을 알려줍니다.

·       0.4.21 버전 이전에 사용되다가, 이후 gasleft() 대체되었습니다.

msg.data

·       현재 message call 전체 데이터를 반환합니다. Cal Data라고도 부릅니다.

msg.sig

·       msg.data 또는 Call Data 4 bytes 반환합니다.

·       함수 ID로도 사용됩니다.

msg.value

·       현재 message call 함께 전송된 Ether 양입니다.

·       스마트 계약에서 Ether 기본단위인 wei 단위로 표현됩니다.

now

·       현재 블록의 timestamp로서 block.timestamp 동일합니다.

tx.gasprice

·       Transaction Gas Price 반환합니다.

tx.origin

·       transaction 송신자의 주소(address) 반환합니다.

 

 

이더리움 스마트 계약은 블록의 넘버와 같은 블록 정보에 접근할 있고 이더리움 백서에 언급된 Blockchain Awareness 개념이 구현되어 있습니다.

비트코인은 Blockchain Blindness, 비트코인 스크립트는 블록의 정보를 수가 없습니다.

 


'Security > BlockChain' 카테고리의 다른 글

이더리움 통화량  (0) 2020.02.02
비트코인 블록 탐색기(Blockchain Explorer)  (0) 2020.01.27
특수용도 변수들 & 함수들  (0) 2020.01.21
블록체인의 활용분야  (0) 2020.01.14
Turing Complete  (0) 2020.01.07
State Variable 접근 유형  (0) 2019.12.30
Posted by codedragon codedragon

댓글을 달아 주세요



 

R 코드 예시 - 나이브 베이즈

 

나이브 베이즈 기법을 적용하여 iris dataset를 훈련과 검증 그리고 분류 결과를 도출하는 R code 예시입니다.

훈련용 데이터셋은 iris_train, 검증용 데이터셋은 iris_test 로 저장되어 있습니다.

 

 

# 나이브 베이즈 기법 적용을 위해 e1071 패키지 로딩
> library(e1071)

 

 

# 나이브 베이즈 모델 수행

# 훈련데이터를 통해 품종을 맞추는 모델 학습 수행

# 모델 수행시 Laplace smoothing 평할을 수행합니다.

> naive.result <- naiveBayes(iris_train, iris_train$Species, laplace = 1)
> naive.result

Naive Bayes Classifier for Discrete Predictors

Call:
naiveBayes.default(x = iris_train, y = iris_train$Species, laplace = 1)

A-priori probabilities:
iris_train$Species
    setosa versicolor  virginica
 0.3333333  0.3333333  0.3333333

Conditional probabilities:
                  Sepal.Length
iris_train$Species     [,1]      [,2]
        setosa     4.982857 0.3807776
        versicolor 5.945714 0.4942867
        virginica  6.591429 0.6661441

Sepal.Width
iris_train$Species     [,1]      [,2]
        setosa     3.402857 0.3425559
        versicolor 2.754286 0.3032596
        virginica  2.991429 0.2993831

Petal.Length
iris_train$Species     [,1]      [,2]
        setosa     1.428571 0.1544848
        versicolor 4.297143 0.4604893
        virginica  5.562857 0.5678057

Petal.Width
iris_train$Species      [,1]       [,2]
        setosa     0.2371429 0.09727376
        versicolor 1.3371429 0.19263760
        virginica  2.0371429 0.28705986

Species
iris_train$Species     setosa versicolor
        setosa     0.94736842 0.02631579
        versicolor 0.02631579 0.94736842
        virginica  0.02631579 0.02631579
                  Species
iris_train$Species  virginica
        setosa     0.02631579
        versicolor 0.02631579
        virginica  0.94736842

 

 

# 테스트 데이터 평가

> naive.pred<-predict(naive.result, iris_test, type="class")
> naive.pred
 [1] setosa     setosa     setosa     setosa   
 [5] setosa     setosa     setosa     setosa   
 [9] setosa     setosa     setosa     setosa   
[13] setosa     setosa     setosa     versicolor
[17] versicolor versicolor versicolor versicolor
[21] versicolor versicolor versicolor versicolor
[25] versicolor versicolor versicolor versicolor
[29] versicolor versicolor virginica  virginica
[33] virginica  virginica  virginica  virginica
[37] virginica  virginica  virginica  virginica
[41] virginica  virginica  virginica  virginica
[45] virginica
Levels: setosa versicolor virginica

 

 

# 나이브베이즈 분류 결과 도출
> table(naive.pred, iris_test$Species)
           
naive.pred   setosa versicolor virginica
  setosa         15          0         0
  versicolor      0         15         0
  virginica       0          0        15

>

 

https://codedragon.tistory.com/9852

 

 

'Development > Big Data, R, ...' 카테고리의 다른 글

5.Summary - 5. 모델성능 평가하기  (0) 2020.01.21
불순도(impurity)  (0) 2020.01.21
3.Summary - 3. 지도모델 적용하기  (0) 2020.01.21
게슈탈트 원리(The Gestalt Principles of Visual Perception)  (0) 2020.01.21
Medal.csv  (0) 2020.01.20
ezpickr 패키지  (0) 2020.01.20
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

게슈탈트 원리(The Gestalt Principles of Visual Perception)

·         1900년대 독일의 심리학파인 게슈탈트(Gestalt) 학파에 의해 활발하게 연구되었으며, 시지각의 게슈탈트 원리(The Gestalt Principles of Visual Perception) 정립되었습니다.

·         뇌가 색과 형태의 조각들을 하나의 패턴으로 보는 원리로서, 게슈탈트는 모양이나 도형을 의미하는 독일어입니다.

 

법칙

설명

유사성의 법칙

(Low of Similarity)

유사한 요소(형태, , 크기, 밝기)끼리 그룹 지어 하나의 패턴으로 보이게 합니다.

근접성의 법칙

(Low of Proximity)

시공간적으로 서로 가까이 있는 것들을 함께 집단화하여 봅니다.

단순성의 법칙

(Law of Simplicity)

주어진 조건으로 최대한 가장 단순한 쪽으로 인식합니다.

연속성의 법칙

(Law of Continuity)

요소들이 부드러운 연속을 따라 함께 묶여 지각됩니다.

폐쇄성의 법칙

(Law of Closure)

기존의 지식을 토대로 완성되지 않은 형태를 완성해 인지합니다.

 

 

 

유사성의 법칙


 

 

 

 

폐쇄성의 법칙


 

 

 

 

근접성의 법칙


 


'Development > Big Data, R, ...' 카테고리의 다른 글

불순도(impurity)  (0) 2020.01.21
3.Summary - 3. 지도모델 적용하기  (0) 2020.01.21
게슈탈트 원리(The Gestalt Principles of Visual Perception)  (0) 2020.01.21
Medal.csv  (0) 2020.01.20
ezpickr 패키지  (0) 2020.01.20
이진 분류(binary classification)  (0) 2020.01.20
Posted by codedragon codedragon

댓글을 달아 주세요