MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/R/library/OREmodels/doc/man/ko/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/R/library/OREmodels/doc/man/ko/ore.neural.Rd

%
% Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
%
\name{ore.neural}
\alias{ore.neural}
\alias{predict.ore.neural}
\alias{print.ore.neural}
\alias{coef.ore.neural}
\alias{summary.ore.neural}
\title{
Oracle R Enterprise Multilayer Feed-Forward 신경망 모델
}
\description{
\code{ore.frame} 데이터의 Multilayer Feed-Forward 신경망 모델을
  생성합니다.
}
\usage{
ore.neural(
    formula,
    data,
    weight         = NULL,
    xlev           = NULL,
    hiddenSizes    = NULL,
    activations    = NULL,
    gradTolerance  = 1E-1,
    maxIterations  = 200L,
    objMinProgress = 1E-6,
    lowerBound     = -0.7,
    upperBound     = 0.7,
    nUpdates       = 20L,
    scaleHessian   = TRUE,
    trace          = getOption("ore.trace", FALSE))

## Specific methods for ore.neural objects
\method{predict}{ore.neural}(object, newdata, supplemental.cols = NULL, ...)
\method{print}{ore.neural}(x, ...)
\method{coef}{ore.neural}(object, ...)
\method{summary}{ore.neural}(object, ...)
}

\arguments{
  \item{ formula }{
학습할 신경망 모델을 나타내는
  \code{\link[stats]{formula}} 객체입니다.
}

  \item{ data }{
모델에 대한 데이터를 지정하는 \code{ore.frame} 객체입니다.
}




  \item{ hiddenSizes }{
해당 요소가 뉴런 수를 각 숨김 층에
  저장하는 정수 벡터입니다. \code{ore.neural}에는 임의 개수의 숨김
  층이 지원됩니다. \code{hiddenSizes}의 길이에 따라 모델에서 숨김 층
  수가 지정되며, \code{hiddenSizes[k]}은(는) \code{k}번째 숨김 층에 뉴런
  수를 저장합니다. \code{hiddenSizes} 값은 입력 단위가 출력
  뉴런에 직접 접속되는(숨김 구조 없음) \code{NULL}일 수
  있습니다. \code{hiddenSizes}의 임의 요소가 0이면
  \code{hiddenSizes=NULL}과(와) 동일하게 모든 숨김 뉴런이
  삭제됩니다.
  예: \code{hiddenSizes=c(10, 4)}은(는) 두 개의 숨김 층을 포함하는 신경망을
  지정합니다(\code{length(hiddenSizes)}이(가) 2임). 여기서 첫번째 숨김 층에는
  10개의 뉴런이 포함되고 두번째 숨김 층에는 4개만 포함됩니다.
  예: \code{hiddenSizes=c(101, 20, 1)}은(는) 각각 101개, 20개 및 1개의 단위가
  포함된 3개의 숨김 층으로 구성되는 신경망을 지정합니다.
  일반적인 교육 시나리오(모델에 대한 사전 지식이 없다고 가정)에서는
  단일 숨김 층과 소규모의 숨김 뉴런(예: \code{hiddenSizes=1})으로 시작할 수
  있습니다. 그런 후 검증 데이터 집합에서 더 이상 오류 감소가
  관찰되지 않을 때까지 뉴런 수(및 층)를 점차적으로
  늘릴 수 있습니다.
}








  \item{ activations }{
이 인수는 숨김 및 출력 신경망 층에
  대한 활성화 함수를 지정합니다. \code{ore.neural} 함수는 층당
  단일 활성화 함수를 지원합니다. 뉴런은 층으로 그룹화되며,
  각 층(뉴런의 부분 집합)에는 고유한 활성화 함수를 지정할
  수 있습니다. 참고: 대상 변수 범위는 출력 활성화 함수의
  범위와 일치해야 합니다. 예를 들어, 로지스틱 시그모이드를
  사용하여 0 범위의 대상을 1(시그모이드 함수 범위)로 모델링할
  수 있습니다. \code{ore.neural} 함수는 입력 데이터를 전처리하지 않으며,
  적합한 데이터 정규화 및 배율 조정이 권장됩니다.
  \code{activations} 인수가 \code{NULL}일 경우 각 숨김 층에 대한 활성화 함수는 
  양극 시그모이드이고, 출력의 경우 선형입니다.
  \code{activations}이(가) \code{NULL}이(가) 아닌 경우
  해당 크기는 마지막 요소가 출력 층과
  일치하는 \code{length(hiddenSizes) + 1}이어야 합니다.
  가능한 값은 다음과 같습니다.
\tabular{lll}{
\code{"atan"}          \tab arctangent        \tab \eqn{f(x) = \\arctan x                         }\cr
\code{"bSigmoid"}      \tab bipolar sigmoid   \tab \eqn{f(x) = \\frac{1 - e^{-x}}{1 + e^{-x}}     }\cr
\code{"cos"}           \tab cosine            \tab \eqn{f(x) = \\cos x                            }\cr
\code{"gaussian"}      \tab Gaussian          \tab \eqn{f(x) = e^{-x^2}                          }\cr
\code{"gaussError"}    \tab Gauss error       \tab \eqn{f(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{-t^2} dt}\cr
\code{"gompertz"}      \tab Gompertz          \tab \eqn{f(x) = e^{-e^{-x}}                       }\cr
\code{"linear"}        \tab linear            \tab \eqn{f(x) = x                                 }\cr
\code{"reciprocal"}    \tab reciprocal        \tab \eqn{f(x) = \\frac{1}{x}                       }\cr
\code{"sigmoid"}       \tab logistic sigmoid  \tab \eqn{f(x) = \\frac{1}{1 + e^{-x}}              }\cr
\code{"sigmoidModulus"}\tab sigmoid modulus   \tab \eqn{f(x) = \\frac{x}{1 + |x|}                 }\cr
\code{"sigmoidSqrt"}   \tab sigmoid sqrt      \tab \eqn{f(x) = \\frac{x}{\\sqrt{1 + x^2}}          }\cr
\code{"sin"}           \tab sine              \tab \eqn{f(x) = \\sin x                            }\cr
\code{"square"}        \tab square            \tab \eqn{f(x) = x^2                               }\cr
\code{"tanh"}          \tab hyperbolic tangent\tab \eqn{f(x) = \\tanh x                           }\cr
\code{"wave"}          \tab wave              \tab \eqn{f(x) = \\frac{x}{1 + x^2}                 }\cr
\code{"entropy"}       \tab entropy (output only) \tab \eqn{f(x) = \\log(1 + \\exp(x)) - yx        }
}
  예: \code{activations=c("wave", "tanh", "linear")}은(는) 2개의 숨김 층을 포함하는
  신경망과 일치합니다. 첫번째 숨김 층에는
  \code{"wave"} 활성화 함수가 지정되고, 두번째 숨김 층에는
  \code{"tanh"} 활성화 함수가 지정되며, 출력(대상) 층에는
  \code{"linear"}이(가) 지정됩니다.
}

  \item{ gradTolerance }{
숫자 최적화 정지 조건: 원하는
  경사 표준입니다.
}

  \item{ maxIterations }{
숫자 최적화 정지 조건: 최대
  반복 수입니다.
}

  \item{ objMinProgress }{
숫자 최적화 정지 조건: 목표 함수 값의
  최소 상대 변경사항입니다.
}

  \item{ nUpdates }{
L-BFGS 업데이트 쌍의 수입니다.
}

  \item{ scaleHessian }{
L-BFGS 업데이트에서 헤시안 행렬의 역을 배율할지
    여부입니다.
}

  \item{ lowerBound }{
가중치 초기화의 하한입니다(가중치가
    제공되지 않은 경우 사용되지 않음).
}

  \item{ upperBound }{
가중치 초기화의 상한입니다(가중치가
    제공되지 않은 경우 사용되지 않음).
}

  \item{ weight }{
가중치의 초기 벡터입니다(무작위 시작 지점이
    생성되는 경우 NULL일 수 있음). 이전에 해결된
    모델에서 솔루션을 사용할 때 유용합니다. 참고: 이전 신경망
    아키텍처(각 층의 입력, 출력, 숨김 층 및 숨김 뉴런 수 및
    활성 함수 유형)는 현재 아키텍처와 동일해야
    합니다.
}

  \item{ xlev }{
각 \code{\link[base]{list}} 변수에 대한
    \code{\link[base]{character}}을(를) 지정하는
    \code{\link[base]{levels}} 벡터의 이름이
    지정된 \code{\link[OREbase:ore.factor-class]{ore.factor}}입니다.
}

  \item{ trace }{
Big Data(out-of-core) 해결자의 보고 반복 로그입니다.
}

  \item{ object, x }{
\code{ore.neural} 객체입니다.
}
  \item{ newdata }{
\code{ore.frame} 객체, 테스트 데이터입니다.
}

  \item{ supplemental.cols }{
\code{newdata} 데이터 집합의 예측 결과에 포함할
  추가 열입니다.
}

  \item{ \dots }{
추가 인수입니다.
}
}
\value{
\code{"ore.neural"} 클래스의 객체입니다. 일부 구성요소는 다음과 같습니다.
  \item{ weight }{ 가중치 계수입니다. }
  \item{ nLayers }{ 층 수입니다. }
}


\details{
\code{ore.neural} 함수는 Multilayer Feed-Forward 신경망 모델을 해결하며,
  임의 개수의 숨김 층 및 임의 개수의 층별 뉴런을
  지원합니다. L-BFGS 알고리즘은 기본 무제약 비선형
  최적화 문제를 해결하는 데 사용됩니다.
  \code{\link[OREbase:ore.options]{"ore.parallel"}} 전역 옵션은
  Oracle R Enterprise 서버 내에서 사용할 선호 병렬도를
  결정하기 위해 \code{ore.neural}에 사용됩니다.
}

\references{
  Christopher Bishop (1996) \emph{Neural Networks for Pattern Recognition}

  Simon Haykin (2008) \emph{Neural Networks and Learning Machines (3rd
  Edition)}

  Stephen Marsland (2009) \emph{Machine Learning: An Algorithmic Perspective}

  \href{http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/documentation/index.html}{Oracle R Enterprise}
}

\author{
  Oracle \email{oracle-r-enterprise@oracle.com}
}

\seealso{
  \link[OREstats]{model.matrix,formula-method} (\pkg{OREstats} package),
  \code{\link[OREbase:ore.options]{ore.parallel}}
}

\examples{
  ###############################################################
  # Two hidden layers (20 neurons in the first layer, 5 hidden  #
  # neurons in the second layer).                               #
  #                                                             #
  # Use bipolar sigmoid activation function for the first       #
  # hidden layer, hyperbolic tangent for the second hidden      #
  # layer, and linear activation function for the output layer. #
  #                                                             #
  # Note that the dimension (number of elements) of the         #
  # "activations" argument is always greater by exactly one     #
  # than the dimension of "hiddenSizes".                        #
  #                                                             #
  # Least-squares objective function.                           #
  ###############################################################
  IRIS <- ore.push(iris)

  fit <- ore.neural(Petal.Length ~ Petal.Width + Sepal.Length,
    data        = IRIS,
    hiddenSizes = c(20L, 5L),
    activations = c("bSigmoid", "tanh", "linear"))

  ans <- predict(fit, newdata = IRIS,
    supplemental.cols = c("Petal.Length"))

  ###############################################################
  # Entropy objective function.                                 #
  ###############################################################
  INFERT <- ore.push(infert)

  fit <- ore.neural(case ~ ., data = INFERT,
    activations = c('entropy'), objMinProgress = 1E-7)

  # Entropy (max likelihood) model with one hidden layer.
  fit <- ore.neural(
    formula        = case ~ .,
    data           = INFERT,
    hiddenSizes    = c(40L),
    activations    = c("sigmoid", "entropy"),
    lowerBound     = -0.7,
    upperBound     = 0.7,
    objMinProgress = 1E-12,
    maxIterations  = 300L)
}
\keyword{neural}


OHA YOOOO