라이브러리

[PHP] fann_get_network_type - 생성된 신경망의 유형을 가져옵니다.




PHP에서 FANN 라이브러리 사용하기


FANN(Fast Artificial Neural Network)은 PHP에서 사용할 수 있는 신경망 라이브러리입니다. 이 라이브러리에서는 신경망을 생성, 학습, 테스트할 수 있습니다. FANN 라이브러리에서 사용할 수 있는 네트워크 타입에 대한 설명과 예제를 제공하겠습니다.

FANN 네트워크 타입


FANN 라이브러리에서는 총 7가지 네트워크 타입이 제공됩니다. 이들 네트워크 타입은 다음과 같습니다.

- FANN_TYPE_LSTM: LSTM(Long Short-Term Memory) 네트워크 타입입니다. LSTM은 시퀀스 데이터를 처리하기 위한 네트워크 타입입니다.
- FANN_TYPE_TAP: TAP(Total Absolute Error) 네트워크 타입입니다. TAP은 총 절대 오차를 최소화하는 네트워크 타입입니다.
- FANN_TYPE_SOP: SOP(Sum of Squared Errors) 네트워크 타입입니다. SOP은 총 제곱 오차를 최소화하는 네트워크 타입입니다.
- FANN_TYPE_CROSSENTROPY: CROSSENTROPY 네트워크 타입입니다. CROSSENTROPY는 크로스 엔트로피 오차를 최소화하는 네트워크 타입입니다.
- FANN_TYPE_TANH: TANH(Tanh) 네트워크 타입입니다. TANH는 hyperbolic tangent 함수를 사용하는 네트워크 타입입니다.
- FANN_TYPE_SIGMOID: SIGMOID 네트워크 타입입니다. SIGMOID는 시그모이드 함수를 사용하는 네트워크 타입입니다.
- FANN_TYPE_SIGMOID_SYMMETRIC: SIGMOID SYMMETRIC 네트워크 타입입니다. SIGMOID SYMMETRIC는 시그모이드 함수를 사용하는 네트워크 타입입니다.

예제


다음 예제에서는 FANN 라이브러리를 사용하여 SIGMOID 네트워크 타입을 생성하고 학습하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// FANN 라이브러리 로드

include_once 'fann.php';



// SIGMOID 네트워크 타입 생성

$ann = fann_create();

fann_set_activation_hidden($ann, FANN_SIGMOID_SYMMETRIC);

fann_set_activation_output($ann, FANN_SIGMOID_SYMMETRIC);



// 입력 및 출력 레이어 생성

fann_create_external_input($ann, 2);

fann_create_external_output($ann, 1);



// 학습 데이터 생성

$inputs = array(

    array(0, 0),

    array(0, 1),

    array(1, 0),

    array(1, 1)

);

$outputs = array(

    array(0),

    array(1),

    array(1),

    array(0)

);



// 학습

fann_train_on_data($ann, $inputs, $outputs, 1000, 0.01);



// 테스트

$test_inputs = array(

    array(0, 0),

    array(0, 1),

    array(1, 0),

    array(1, 1)

);

$test_outputs = array(

    array(0),

    array(1),

    array(1),

    array(0)

);



for ($i = 0; $i < count($test_inputs); $i++) {

    fann_set_input($ann, $test_inputs[$i]);

    $output = fann_run($ann);

    echo "입력: (" . $test_inputs[$i][0] . ", " . $test_inputs[$i][1] . "), 출력: " . $output[0] . "
";

}



// 네트워크 삭제

fann_destroy($ann);



?>



이 예제에서는 SIGMOID 네트워크 타입을 생성하고 학습하는 방법을 보여줍니다. 학습 데이터는 2개의 입력과 1개의 출력으로 구성된 XOR 게이트를 학습하는 데이터입니다. 테스트 데이터는 학습 데이터와 동일한 데이터입니다. 네트워크는 총 1000번의 학습을 거쳐 0.01의 학습률을 사용합니다. 테스트 결과는 다음과 같습니다.

#hostingforum.kr


입력: (0, 0), 출력: 0

입력: (0, 1), 출력: 1

입력: (1, 0), 출력: 1

입력: (1, 1), 출력: 0



이 예제는 FANN 라이브러리를 사용하여 SIGMOID 네트워크 타입을 생성하고 학습하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 564 페이지

검색

게시물 검색