티스토리

정리정리
검색하기

블로그 홈

정리정리

dongmani.tistory.com/m

동만쓰 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • Activation Function(활성화 함수) 시그모이드 함수(Sigmoid function) 퍼셉트론과 신경망의 주된 차이는 활성화 함수이다. 퍼셉트론에서는 활성화 함수로 계단함수를 이용한다. 계단함수의 코드 구현은 다음과 같다. def step_function(x): y=x>0 return y.astype(np.int) def step_function(x): return np.array(x>0, dtype=np.int) 반면 신경망에서는 시그모이드 함수를 자주 사용한다. 시그모이드 함수가 어떻게 나왔는지 알아보자. 일어날 확률 : P(X) 일어나지 않을 확률 : 1−P(X) 0≤P(X)≤1 위와 같이 P(X)를 정의 하자. 그러면 Odds Ratio로 나타 낼 수 있다. 위 수식은 해당 사건이 일어날 확률과 일어나지 않을 확률의 비율 즉 odds.. 공감수 0 댓글수 0 2022. 6. 23.
  • Lambda Function 람다(Lambda) 함수 파이썬에서는 람다함수를 통해 이름이 없는 함수를 만들 수 있습니다. 람다함수의 장점은 코드의 간결함 메모리의 절약이라고 생각할 수 있습니다. def키워드를 통해서 함수를 생성하는 방법은 리터럴 표기법에 따른 함수 생성 방법입니다. 함수 또한 클래스를 통해 생성된 객체 인스턴스입니다. def my_func(): pass 위에 함수를 생성자를 통해 생성하는 방법을 간단하게 표현하면 다음과 같습니다. my_func = function(code, globals[, name[, argdefs[, closure]]]) 코드와 이름을 담아서 함수클래스를 통해서 객체를 생성하고, 그 객체를 함수이름과 동일한 변수에 담는과정을 def키워드가 대신해줍니다. 함수객체를 변수에 담은 시점에서, 함수객.. 공감수 0 댓글수 0 2022. 6. 17.
  • [자료구조] Node 관리할 데이터를 보관(존재)하는 곳을 노드(Node)라 합니다. 즉, 자료구조에서 관리하고있는 정보들 중 하나를 저장하고 있는 단위입니다. 대체로 자료구조를 공부할 때 이 노드를 클래스로 직접 구현합니다. 하지만 자료구조에서 구조적 설계보다 연산(메소드)이나 연산으로 인한 구조적 변화에 학습을 집중해야될 때는 노드를 따로 구현하지 않습니다. 이 경우 기본적으로 제공하는 자료형(대표적으로 리스트)으로 주로 진행합니다. 이미 리스트에는 노드가 value로서 구현되있으니까요. 데이터와 다른 노드에 대한 하나의 링크가 포함된 기본 노드를 구현해보겠습니다. 노드를 생성할 때 노드의 데이터가 지정되고, 변경할 수 없습니다. 링크는 초기화 시 선택 사항이며 없데이트 될 수 있습니다. 마지막 노드의 링크는 null을 .. 공감수 0 댓글수 0 2022. 6. 14.
  • Map함수 map(function,iteration) 첫 번째 매개변수로는 함수, 두 번째 매개변수로 반복 가능한 자료형(리스트, 튜플 등)이 옵니다. map 함수의 반환 값은 map 객체이기 때문에 해당 자료형을 list 혹은 tuple로 변환시켜줘야 합니다. 두 번째 인자로 들어온 반복 가능한 자료형을 첫 번째 인자에 들어온 함수에 하나씩 집어넣어서 함수를 수행시킵니다 myList = [1, 2, 3, 4, 5] def add_one(n): return n + 1 result = list(map(add_one, myList)) # map반환을 list 로 변환 print(f'result : {result}') result : [2,3,4,5,6] 위 예시와 같이 리스트 각 요소에 1을 더해서 새로운 리스트로 만.. 공감수 0 댓글수 0 2022. 6. 10.
  • Neural Network 기본 개념 정리 *하용호님 피피티를 참고하여 정리했습니다. 퍼셉트론(Perceptron) inputs: 입력데이터 weights: 각 입력데이터들에게 주어지는 가중치 transfer function: 개별 변수(입력데이터)마다 connected되어 표현한 것 = 선형식 activation function: Neural Network는 분류/예측을 위해 선형식을 사용한다는 것을 알 수 있습니다. 하지만, 대부분의 분류/예측은 선형식의 형태로 이뤄지지 않습니다. 선형식은 예측 및 분류 작업에 있어서 한계를 가집니다. 이런 한계점을 제거하기 위해 activation function을 사용합니다. transfer function을 거친 값이 activation function을 통과하면 선형식에서 비선형식으로 바뀌게 됩니다. .. 공감수 0 댓글수 0 2022. 6. 9.
  • 파이토치 설치하기 설치 사이트 https://pytorch.org/get-started/locally/ PyTorch An open source machine learning framework that accelerates the path from research prototyping to production deployment. pytorch.org 사이트에 들어가서 본인 컴퓨터 사양에 맞게 선택합니다. 저는 아나콘다 가상환경을 사용하기 때문에 conda로 선택했습니다. CPU로 돌리실 분들은 CPU를 선택하면 되고, GPU를 사용하실 분들은 CUDA를 설치해야 합니다. CUDA 설치 전 컴퓨터 그래픽카드를 확인해야 합니다. 정치관리자 > 디스플레이 어댑터를 눌러줍니다. 저는 GeForece RTX 3060이 설치되어 .. 공감수 0 댓글수 0 2022. 6. 8.
  • 함수(Function) Defining a Function def function_name(): # functions tasks go here def 키워드는 함수 시작을 나타낸다. 함수 헤더 뒤에는 snake_case(언더스코어(_)를 구분자로 사용) 형식의 이름을 적는다. 함수가 수행하는 작업을 간결하게 함축해서 지정한다. 괄호에는 파라미터를 입력한다. 콜론은 함수 헤더가 끝남을 의미한다. 함수 body에 우리가 원하는 작업을 코드로 적는다. Calling a Funtion function_name() 함수이름과 괄호를 적으면 함수가 호출된다. Parameter & Arguments def my_function(single_parameter) # some code my_function(parameter) 공감수 0 댓글수 0 2022. 5. 7.
  • 1. 선형정 정의 및 1차 연립방정식의 의미 f(x)를 연산(operation)으로 생각하면 된다. 선형대수에선 벡터를 column vector를 사용한다. 자세한 이유는 아래에서 설명한다. 꼭 알아야 할 개념이다. column vector를 사용하면 벡터들의 선형결합을 행렬과 벡터의 곱으로 표현할 수 있다. 다음 내용을 설명하기 전 알아야 하는 개념이다. 벡터의 내적은 우리에게 익숙하지만 함수에도 내적이 있다는 말은 생소하다. 함수는 t시점의 값을 무한하게 나열해 놓은 벡터라고 생각하면 된다. 두 개의 벡터를 내적하면 위 식과 같이 결국 적분과 유사한 형태를 가지게 된다. 연립방정식을 풀라고 하면 보통 우리가 어릴때부터 배워온 소거법을 사용해서 풀 것이다. 그 방법은 row vector를 사용한다. 기하학적으로 보면 두 직선의 교점을 구하는 것과.. 공감수 0 댓글수 0 2022. 5. 7.
  • 3. Tensor Operations t1=tf.constant([1,2,3]) t2=tf.constant([10,20,30]) print(t1+t2) tf.Tensor([11 22 33], shape=(3,), dtype=int32) tensor의 constant 변수끼리 더하면 결과로 원소들의 합을 출력한다.(Elementwise) py_list1=[1,2,3] py_list2=[10,20,30] print(py_list1+py_list2) [1, 2, 3, 10, 20, 30] 반면 파이썬(numpy)의 리스트 변수끼리 덧셈 연산을 하면 리스트 두개가 concat된다. 원소끼리 합을 하고싶다면 for문을 이용해서 원소 하나하나 직접 덧셈해주어야 한다. print(t1-t2) print(t1*t2) print(t1/t2) print(t1.. 공감수 0 댓글수 0 2022. 5. 6.
  • 2. API를 사용하여 Tensor 만들기 텐서의 크기를 매우 크게 늘리고 싶을 때 shape을 사용하면 손쉽게 할 수 있습니다. t2=tf.ones(shape=(100,)) print(t2) t3=tf.ones(shape=(100,3,3)) print(t3) t4=tf.zeros(shape=(100,3,3)) print(t3) t2와 t3는 1이 채워진 100x1, 100x3x3텐서입니다. t4는 0이 채워진 100x3x3 텐서입니다. 만약 다른 숫자로 텐서를 채우고 싶다면 t5 = 3*tf.ones(shape=(128,128,3)) ones 앞에 원하는 숫자를 곱해주면 됩니다. t5는 3이 채워져 있는 128x128x3 텐서입니다. test_list2=[[1,2,3],[4,5,6]] t1=tf.Variable(test_list2) print(.. 공감수 0 댓글수 0 2022. 4. 29.
  • 1.Constant Tensor & Variable Tensor Deep Learining System 1. Data set Model을 만들기 전 필요하며 변수를 가지고 있지 않다. 데이터셋은 학습에 의해 update되지 않으므로 Immutable한 특징을 가지고 있다. Tensorflow에서는 이를 Constant Tensor로 정의한다. 2. Model 모델 안에는 Model parameter인 Weight(w),Bias(b) 등의 변수가 존재한다. 변수들은 학습에 의해 update되며 mutable한 특깆을 가지고 있다. Tensorflow에서는 이를 Variavle Tensor로 정의한다. 3. Loss 실제 값과 모델로 예측한 값의 차이를 loss라고 하며, 이 loss를 줄이는 방향으로 학습이 진행이 된다. 4. Optimizer 딥러닝 모델은 Loss .. 공감수 0 댓글수 0 2022. 4. 27.
  • Fundamentals HELLO WORLD 다른 프로그래밍 언어인 C나 JAVA에서는 변수를 만들 때 자료형을 직접 지정해야 하지만, 파이썬은 변수에 저장된 값을 스스로 판단하여 자료형을 지정하기 때문에 더 편리합니다. my_name = "Dongman" print("Hello and welcome " + my_name) Result Hello and welcome Dongman 만약 int형을 출력하고 싶다면 어떻게 해야할까요? 여러가지 방법이 있습니다. my_name = 7 my_name = str(my_name) print("Hello and welcome " + my_name) my_name = 7 print("Hello and welcome %d" %(my_name)) my_name = 7 your_name=10 p.. 공감수 0 댓글수 0 2022. 4. 6.
  • 0. Data Science Scientific method 1. Ask a question 목표가 무엇인지, 모든 데이터를 가지고 있다면 어떤 것을 할 것인지, 무엇을 예측하거나 추정할지? 2. Determine the necessary data sample size, 가설을 증명하거나 기각하기 위해서 필요한 데이터 3. Get the data 어떤 데이터들과 연관있는지, 데이터를 사용할 수 있는지? 4. Clean and organize the data 데이터를 읽을 수 있는지 확인하고 필요없는 데이터를 제거한 뒤 데이터를 표 형식으로 변환 5. Explore the data 데이터를 시각화하고 이상치가 없는지, 어떤 패턴이 존재하는지 확인 6. Model the data 모델을 구축해서 학습시키고 검증함 7. Communica.. 공감수 0 댓글수 0 2022. 2. 17.
  • RNN(Recurrent Neural Network) [RNN 정의] RNN(Recurrent Neural Network)은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델입니다. 번역기를 생각해보면 입력은 번역하고자 하는 단어의 시퀀스인 문장입니다. 출력에 해당되는 번역된 문장 또한 단어의 시퀀스입니다. 이와 같이 시퀀스들을 처리하기 위해 고안된 모델들을 시퀀스 모델이라고 합니다. 그 중 RNN은 가장 기본적인 인공 신경망 시퀀스 모델입니다. RNN은 기존 신경망들과는 다르게 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 갖고 있습니다. x는 입력층의 입력 벡터, h는 출력층의 출력 벡터입니다. 편향 b도 입력으로 존재할 수 있지만 그림에서는 생략.. 공감수 0 댓글수 0 2022. 2. 8.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.