728x90

개발 교육 일기 35

파이썬 교육 Day 41(+ 신경망 출력층 설계, 신경망의 사용처, 소프트맥스 함수 구현, softmax의 특징, 소프트맥스 함수 튜닝, 출력층의 뉴런 수 정하기, MNIST 손글씨 데이터셋 분류 추론 모델 만들기..

신경망의 사용처 모든 머신러닝에 사용될 수 있다. 분류와 회귀를 알아보자 출력층의 활성화 함수에 따라서 목적(사용처)이 달라진다. ( 분류를 할지, 회귀를 할지 ) 일반적으로 항등 함수( identity function )을 활용하면 회귀 softmax 또는 시그모이드(σ)를 활용하면 분류 시그모이드(σ) : 이진분류 소프트맥스 : 이진, 다중 분류 소프트맥스 함수 구현하기 k : k번째 출력 ( 클래스 번호 ) 0, 1, 2 .... z : 출력층에 있는 뉴런의 WX+b 연산 n : 전체 클래스의 개수 softmax의 특징 어떠한 실수 배열이 softmax를 지나게 되면 그 배열의 총합이 언제나 1.0이 된다. 총 합이 1.0 이라는 것의 특징 : 확률로써 설명이 가능하다 소프트맥스 함수 튜닝 소프트맥..

파이썬 교육 Day 40(+ 행렬과 신경망, 신경망의 입력값과 가중치, 신경망을 행렬로 표기, 활성화 함수 적용, 실습 등)

신경망의 입력값과 가중치 신경망에 입력되는 값은 여러 개이다. 입력값에 해당하는 가중치도 여러개 활성화 함수 적용하기 뉴런마다 활성화 함수를 한꺼번에 적용 실습 1층에서 2층으로 넘어가는 과정까지 추가해서 전체적인 신경망 구성 신경망의 레이어는 뉴런들을 가지고 있다. 뉴런들을 가지고 있다는 이야기는 각 뉴런 마다의 가중치와 편향을 가지고 있다. 따라서 처음 신경망을 구성 할 때는 랜덤으로 초기화 되어있는 가중치와 편향을 저장 하고 있어야 한다. - 신경망의 구조를 미리 알고 있어야 한다.

파이썬 교육 Day 39(+ 신경망, 활성화 함수, 퍼셉트론, 시그모이드, ReLU(Rectified Linear Unit), 하이퍼볼릭 탄젠트(tanh) 등)

신경망의 등장 다층 퍼셉트론은 단층 퍼셉트론으로는 계산 할 수 없는 복잡한 함수들을 표현할 수 있다. 다층 퍼셉트론을 층처럼 겹겹이 쌓은 것을 인공 신경망(Artificial Neural Network) 활성화 함수 인공 신경망의 퍼셉트론을 유닛, 노드, 뉴런이라고 표현 퍼셉트론의 결과물은 0 또는 1로만 출력 되는 것 0이나 1 뿐만이 아닌 유닛이 다양한 계산을 할 수 있게끔 값을 조정해 주는 것이 활성화 함수 함수 a를 활성화 함수(Activation Function)라고 하며, 각 입력값에 대한 활성화 함수를 적용시켜 최종적으로 y값이 결정지어지게 된다. 우리가 여기서 배울건?? 단순하게 0과 1로만 표현하는 계단 함수 u를 넘어서,다양한 값( 실숫값 )으로 표현이 가능한 활성화 함수를 배운다. 뉴..

파이썬 교육 Day 38(+ 퍼셉트론, 단층 퍼셉트론, 다층 퍼셉트론, AND / NAND / OR / XOR 게이트, 편향(bias), 가중치

퍼셉트론이란? 인공 뉴런이라고도 한다. 뇌과학에서는 신경으로 들어오는 일정한 자극, 신경망에서는 feature(특성)가 된다. 입력된 신호(특성)는 어떠한 흐름을 타면서 처리가 된다. 처리가 완료가 되면 거기에 대한 결과가 퍼셉트론의 출력이 된다. y={0(w1x1+w2x2≤θ)1(w1x1+w2x2>θ) w1x1+w2x2의 결괏값이 임의의 임계점 (θ)를 넘지 못하면 0, 넘으면 1이 된다. 이러한 수식을 반응 조건 계산식 이라고 합니다. θ를 기준으로 w1x1+w2x2의 결과가 0 또는 1로 결정지어진다. 이걸 함수로 일반화 시켜서 어떤 상황에서든 수식을 사용할 수 있도록 일반화 시켜보기 원래 수식 y={0(w1x1+w2x2≤θ)1(w1x1+w2x2>θ) 바뀐 수식 y={0(w1x1+w2x2−θ≤0)1..

파이썬 교육 Day 37 (+ numpy 기초, 배열의 종류, 다차원 배열 만들기, np.linspace, np.random.rand, np.random.randn, tensorflow, 텐서플로우, axis, 인덱스와 슬라이싱, 배열의 차원과 형상, 차원수 확장하기, 차원..

Numpy 기초 배열의 종류 스칼라 (scalar) 0 차원 데이터라고 한다. 단순한 값 scalar_val = 10 벡터 (vector) 1차원 배열이라고 한다. 스칼라가 연속적으로 모여있는 것. vector_val = [1, 2, 3] 벡터 내에 데이터가 N가 있으면 N 차원 벡터라고 한다. 행렬 (matrix) 2차원 배열이라고 한다. 1차원 배열인 벡터가 여러 개 모여있는 것. matrix_val = [ [1,2,3], [4,5,6]] 텐서 (tensor) 3차원 이상의 배열을 의미한다. Tensorflow는 뭘까요...? 텐서의 개념을 이용하면 모든 배열의 모양을 이야기 할 수 있다. 스칼라 - 0 Rank Tensor 벡터 - 1 Rank Tensor 행렬 - 2 Rank Tensor 다차원 ..

파이썬 교육 Day 36(+ 머신러닝 딥러닝을 위한 사전 지식, 머신러닝 시스템, 프로젝트 주제 선정 등)

사용할 만한 머신러닝 / 딥러닝 모델을 만들기 위해서 알아야 할 사전 지식들 1. 데이터 수집 크롤링, 스크래이핑 1. HTML, CSS (selector) 웹 크롤링 (urllib.request / requests - bs4) 2. selenium 3. Naver / Kakao / google 등의 RESTful API 2. 데이터 저장 RDBMS, NOSQL + ( Hadoop - HDFS ) 1. MySQL, Oracle, Maria DB 등의 RDBMS 2. Redis, MongoDB 등의 NoSQL 3. 데이터 조회 및 분석( 시각화 ) Spark / Hive / Pandas / Matplotlib, seaborn 등이 포함 1. 상관 관계 조사하기 2. 인사이트 도출해 내기 4. 수학 Sum ..

728x90