팬팬의 개발일지
close
프로필 배경
프로필 로고

팬팬의 개발일지

  • 분류 전체보기 (101)
    • 개발 일지 (68)
      • 알고리즘 문제풀이 (6)
      • Web FrontEnd (6)
      • Java (7)
      • Spring (5)
      • Server (17)
      • Infra (5)
      • Python (2)
      • JS (4)
      • ML (10)
      • Git (3)
      • Linux (2)
      • 자동화 (1)
    • 프로젝트 회고 (0)
    • 학습 (27)
      • Algorithm (11)
      • Operating System (0)
      • Computer Architecture (1)
      • Networking (8)
      • Database (7)
    • 일상 (5)
  • 홈
  • 태그
  • 방명록
Python Tensorflow로 인공신경망 구현하기

Python Tensorflow로 인공신경망 구현하기

실습 환경은 Python 3.6과 tensorflow 1.5이다. 인공 신경망(artificial neural network, ANN) 인공 신경망이란, 뇌내 신경 세포(뉴런)의 동작 원리에 기초한 학습 알고리즘이다. 학습의 목표는 원하는 출력값 y를 만들어내기 위해 입력값 x에 곱하고 더할 적절한 가중치(W)와 편향(b)을 도출하는 것이다. 이러한 과정은 인공신경망 내에서 이루어진다. 인공 신경망을 구현하기 이전에, 구현에 필요한 사전 지식을 먼저 학습하도록 하자. 활성화 함수 인공 신경망을 통과해 도출된 출력 값 y를 입력으로 받아 의도한 변화를 적용하여 반환하는 함수. 대표적으로 ReLU(렐루)가 있다. 신경망의 출력층에서는 잘 사용되지 않는다고 한다. 원-핫 인코딩(one-hot encoding)..

  • format_list_bulleted ML
  • · 2020. 7. 15.
  • textsms
Tensorflow로 선형 회귀 모델(linear regression model) 구현하기

Tensorflow로 선형 회귀 모델(linear regression model) 구현하기

실습 환경은 Python 3.6과 tensorflow 1.5이다. 선형 회귀(linear regression)란? 선형 회귀란, x와 y의 값(데이터)가 주어졌을 때, 두 데이터 간 관계의 규칙성을 찾아 새로운 x값(input)에 대해 적절한 y값(output)을 예측하는 기법이다. 선행 개념 플레이스홀더 세션과 지연 실행 앞의 두 가지 개념을 아직 들어본 적이 없다면 아래의 게시물을 참고하자. 2020/07/14 - [개발 일지/ML] - 텐서(tensor), 플레이스홀더(placeholder)와 변수 1. 데이터셋 설정 # y = 2x 의 선형 그래프 x_data = [1, 2, 3] y_data = [2, 4, 6] 다음과 같이 데이터셋을 설정하였다. 2. 가중치와 편향 탐색 # 균등분포(unifo..

  • format_list_bulleted ML
  • · 2020. 7. 14.
  • textsms

텐서(tensor), 플레이스홀더(placeholder)와 변수

학습 환경은 tensorflow verison 1.15이다. tensorflow version 1과 2는 상당히 차이가 있는 것 같지만 요즘에도 주로 사용되는 version 1을 먼저 학습하기로 하였다. 우선은 텐서플로우를 사용하기 위해서는 tensorflow 모듈을 import 해야 한다. import tensorflow as tf 이때, 이후에 다른 버전을 이용해야 할 일이 생길 수도 있고 다른 모듈과 함께 사용하다가 버전 충돌이 발생할 수도 있다는 점을 고려하여 별도의 가상 환경을 구축하여 진행하기를 권장한다. 가상 환경을 생성하고 관리하는 방법은 이전 포스트에 기술해 두었다. 2020/07/13 - [개발 일지/ML] - Pycharm을 이용한 Anaconda 가상 환경(env) 설정 Pychar..

  • format_list_bulleted ML
  • · 2020. 7. 14.
  • textsms

Pycharm을 이용한 Anaconda 가상환경(env) 설정

학습에 사용된 운영체제는 Windows이다. ​ Anaconda를 이용하면 필요에 따라 간편하게 여러 가상 환경을 생성/제거하고 사용할 수 있다. CMD를 이용한 가상 환경 관리 명령어는 다음과 같다. ' 가상환경 생성/삭제 및 관리 conda list 현재 가상 환경에 설치된 라이브러리 목록을 출력 conda env list 존재하는 가상 환경 목록을 출력 conda create -n {envname} python=version envname이라는 이름의 가상 환경을 생성 * -n 은 --name의 축약된 표현임 (conda) activate {envname} 해당 가상 환경을 활성화(사용) * Windows command line에서는 conda를 생략 conda deactivate 사용중인 가상 환..

  • format_list_bulleted Python
  • · 2020. 7. 13.
  • textsms
컴퓨터 네트워킹 : 계층, 보안

컴퓨터 네트워킹 : 계층, 보안

▶ 왜 계층화를 이용하는가? * 복잡한 시스템을 다루기 위함. * 명시적 구조는 복잡한 시스템 조각 간 식별과 관계 정의를 도움 * 모듈화는 시스템의 유지보수를 쉽게 함 ​ ▶ ISO/OSI reference model * network edge간 통신을 위해 ISO 회사가 만든 OSI 7계층 * 계층을 거치며 데이터는 Encapsulation(캡슐화)되고, Decapsulation(캡슐화의 역과정)된다. * Encapsulation은 헤더를 붙이는 과정, Decapsulation은 헤더를 해석하는(제거하는) 과정이다. * 각 계층마다 데이터는 우측의 명칭대로 불린다. * 애플리케이션 계층 : 네트워크 애플리케이션의 이용을 돕는다. FTP, SMTP, HTTP 등이 있다. source data → mes..

  • format_list_bulleted Networking
  • · 2020. 7. 13.
  • textsms

컴퓨터 네트워킹 : 지연, 손실, 네트워크 처리율

▶ 손실(loss)과 딜레이(delay)는 어떻게 발생하는가? * 라우터 버퍼에서의 패킷 지연 * transmission delay, queueing delay, 버퍼 부족으로 인한 packets dropped loss ​ ​ ▶ 네 가지의 패킷 지연(packet delay) * (노드)처리 지연((nodal) processing delay) : 패킷을 어떤 output link로 보낼지 결정하는 시간 * 큐잉 지연(queueing delay) : transmission을 기다리는 시간. 라우터의 혼잡도에 의존 * 전송 지연(transmission delay) : 패킷을 전송하는 데에 걸리는 시간. L/R * 전파 지연(propagation delay) : physical link의 시작점에서 도착 지점..

  • format_list_bulleted Networking
  • · 2020. 7. 13.
  • textsms

컴퓨터 네트워킹 : 네트워크 코어(network core)

▶ 네트워크 코어(Network core) * 네트워크 코어(network core): 상호 연결된 라우터들의 망 * 패킷 교환(packet-switching): Packet의 input과 알맞은 output을 연결 ​ ​ ▶ 패킷 교환(packet-switching) * 패킷 교환은 저장 후 전달(store-and-forward) 방식으로 이루어진다. * 패킷 교환은 store-and-forward(전체 패킷을 받아야만 출력 링크로 패킷 전송 가능) 방식으로 이루어짐 * 따라서 N개의 라우터가 있고, L bits가 담긴 패킷을 R의 속도로 전송하고자 한다면 transmission delay는(N+1)(L/R)이 된다. * 큐잉 지연(queueing delay): 패킷이 도착했을 때 해당 링크가 다른 패..

  • format_list_bulleted Networking
  • · 2020. 7. 13.
  • textsms

컴퓨터 네트워킹 : 네트워크 엣지(network edge)

▶ 네트워크 엣지(Network edge) * 네트워크의 요소를 분해하면 (network) edge, access network, (network) core가 있다. * 네트워크 엣지(network edge): 말단 시스템. Client(PC, 노트북...)와 Server가 있다. * 접속망(access network): end-system들을 다른 end-system까지 연결하기 위한 경로의 첫 번째 라우터에 연결하는 네트워크. wired/wireless 커뮤니케이션 링크로 나뉜다. Access된 네트워크의 종류에 따라 Residential, institutional, mobile 등으로 나뉜다. * 네트워크 코어(network core): 라우터들의 연결망. 인터넷(네트워크들의 네트워크) ​ ​ ▶ ..

  • format_list_bulleted Networking
  • · 2020. 7. 13.
  • textsms
  • navigate_before
  • 1
  • ···
  • 9
  • 10
  • 11
  • 12
  • 13
  • navigate_next
공지사항
  • 2020.07.13 개인 개발 블로그 시작
전체 카테고리
  • 분류 전체보기 (101)
    • 개발 일지 (68)
      • 알고리즘 문제풀이 (6)
      • Web FrontEnd (6)
      • Java (7)
      • Spring (5)
      • Server (17)
      • Infra (5)
      • Python (2)
      • JS (4)
      • ML (10)
      • Git (3)
      • Linux (2)
      • 자동화 (1)
    • 프로젝트 회고 (0)
    • 학습 (27)
      • Algorithm (11)
      • Operating System (0)
      • Computer Architecture (1)
      • Networking (8)
      • Database (7)
    • 일상 (5)
최근 글
인기 글
최근 댓글
태그
  • #ML
  • #spring
  • #Python
  • #dl
  • #Node
  • #networking
  • #algorithm
  • #Database
  • #java
  • #tensorflow
전체 방문자
오늘
어제
전체
Copyright © 팬팬의 개발 일지 All rights reserved.
Designed by JJuum

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.