CS

CS/Design Pattern

OOP(Object Oriented Programming)

객체지향(OOP)의 이해 객체지향(OOP)의 맥락에서 객체는 속성과 함수로 구성 ex) Car 라는 객체가 있을 때 속성 : fuel, speed, steering wheel, coordinate... 함수 : accelerate(), takeLeft()... 객체지향 프로그래밍 : 객체 객체의 특성 - 객체는 다른 객체와 상호작용함 - 프로그램으로 무언가를 구현할 때 그 세계관(scope) 내부의 의미있는 정보의 단위들 - 실제 눈에 보이는 물리적인 객체가 아닌 추상적인 객체로 생각해야 객체지향 프로그래밍 : 클래스 클래스 사용하여 특정 객체 표현 가능 - 클래스는 속성과 행동을 포함하는 객체를 정의 - 속성은 데이터의 요소이고 함수는 특정 작업 수행 - 클래스에는 객체의 초기 상태를 설정하는 생성자 ..

CS/Computer Architecture

CPI 관련 문제

https://covenant.tistory.com/68 [컴퓨터 구조]Chapter 1. Computer Abstractions and Technology [Class of Computers] Personal computers - General purpose, variety of software. - Subject to cost/performance trade off. Server computers - Network based - High capacity, performance, reliability. -.. covenant.tistory.com

CS/System Programming

Introduction

Operating System(OS) 컴퓨터 사용자와 컴퓨터 하드웨어 사이의 중개자 역할 Operating system 의 목표 - 컴퓨터 시스템 사용을 편리하게 한다. - 컴퓨터 하드웨어를 효율적으로 사용한다. 기본 OS 개념 - Multi-use environment 여러 유저가 동시 사용하는 환경 - Process and Scheduling 여러 프로그램 동시 실행 - User space and Kernel space 여러 프로그램을 독립적으로 작동하도록 Address space를 관리하고 User 레벨과 Kernel 레벨을 별도로 관리한다 - Basic and Advanced I/O 컴퓨터 시스템의 주요 자원이 주변장치(I/O)를 통로를 제공한다. 장단점 장점 - 오픈소스 : developer v..

CS/Machine Learning

[이미지 분류(CNN)]이미지 데이터 구경하기

두 가지 이미지 셋을 사용하려고 한다. 각 숫자는 흑백의 정도를 나타내고 있다. 28* 28 =784개의 숫자인데, 각각 0에서 255 사이의 값으로 나타난다. 이 이미지 하나는 2차원 형태로 되어있고 784차원 공간의 한점으로 표현되어 있는 거라고 볼 수 있다. 이번엔 자동차 이미지이다. 32 * 32칸인데 컬러 이미지이다. 흑백과 다른 점이 있는데 2차원 숫자 집합이 3개 존재한다는 거다. 빨강, 녹색, 파랑 으로 나뉜다. 칼라는 각 칸에 3개의 숫자가 들어간다고 보면 된다. 0~255 의 값인건 아까와 같다. 강아지 사진 하나의 속성을 보면 이미지 크기를 확인할 수 있는데 컬러 이미지니까 데이터가 저만큼 들어간다고 볼 수 있겠지 이제 이미지 데이터가 어떻게 구성되는지를 알게되었다. mnist 와 c..

CS/Machine Learning

[이미지 분류(CNN)]데이터와 차원

차원 표의 열의 관점 vs 데이터 포함 관계의 관점 으로 나누어 볼 수 있다. 표의 열의 관점이라고 해보자. 관측치가 5개인 다음과 같은 데이터가 있는데 5개의 점으로 표현해보자 만약에 습도라는 변수를 추가하면 다음과 같이 될 것이다. 3차원으로! 결국 관측치는 N차원 공간의 한 점이고 변수의 개수는 공간의 차원수가 될 것이다. 데이터를 기하학적으로 표현할 수 있게 된다는 것은 데이터의 가까운 정도를 정밀하게 숫자로 나타낼 수 있게 된다는 것이다. 이번엔 차원을 데이터 포함 관계의 관점으로 바라봐 보자. 데이터 포함관계는 배열의 깊이와 관련이 있다. 아이리스 데이터를 보자 열이 4개니까 4차원이다. 관측치 하나를 코드로 표현해보자. 하나의 배열에 값이 들어가 있는 모양을 1차원이라고 한다. x1의 sha..

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-모델을 위한 팁 (appendix 2)

학습이 잘 되는 모델 사용할 레이어 tf.keras.layers.BatchNormalization() tf.keras.layers.Activation('swish') 데이터 보스턴 집값 예측: https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv 아이리스 품종 분류: https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv BatchNormalization에 대한 원리는 나중으로 미뤄두고 일단 사용하는법에 집중해보자 전에 했었던 코드 그런데 이제 BatchNormalization 이란걸 추가해줘보자 레이어 3개를 쌓은 셈이다. 이 구조로 만들면 ..

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-데이터를 위한 팁(appendix 1)

데이터 타입 조정 https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris2.csv 변수(칼럼) 타입 확인: 데이터.dtypes 변수를 범주형으로 변경: 데이터['칼럼명'].astype('category') 변수를 수치형으로 변경: 데이터['칼럼명'].astype('int') 데이터['칼럼명'].astype('float') NA 값의 처리 NA 갯수 체크: 데이터.isna().sum() NA 값 채우기: 데이터['칼럼명'].fillna(특정숫자) 일단 데이터를 한번 불러와보자 품종이 0으로 뜨는데 세가지 품종을 각각 0,1,2 의 데이터로 바꿔놓은 상태이다. 범주형 데이터임. 원핫 인코딩을 해줘보자. 원핫인코딩이 안되는 걸 볼 수 있음..

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-히든레이어

퍼셉트론 하나로만 이루어진 모델말고 퍼셉트론 여러개로 이루어진 신경망같이 생긴 딥러닝 모델을 알아보자 깊은 신경망을 만드는건, 기존의 퍼셉트론을 여러개 연결하면 되는거다. 입력부분을 input layer 라고 하고 출력부분을 output layer 라고 하는데 그사이에 추가한 부분을 hidden layer 라고 한다. 이러면, hidden layer 를 입력으로 받아들이는 퍼셉트론이 필요하다 그리고 hidden layer의 첫번째 결과(h1)를만들기 위해선 하나의 퍼셉트론이 필요할거다. 이렇게 연속적으로 퍼셉트론을 연결하여 거대한 신경망을 만드는 것이다. 이게 딥러닝 인공지능망! 이걸 코드로 만들려면 다음과 같이 적으면 되는데 H=tf.keras.layers.Dense(5, activation='swis..

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-학습의 실제, 아이리스 품종 분류

https://docs.google.com/spreadsheets/d/11DAONRZ92ob0T0YRIT5KgU9vNeO28bYNvteu_-fbRV0/edit#gid=0 딥러닝 워크북 회귀 (mse) 온도,판매량,W,B,Loss,예측 (w*온도+b),예측 - 판매량,(예측 - 판매량)^2 21,42,1.969,0.526,0.036891,41.875,-0.125,0.015625 22,44,dLoss / dW,dLoss / dB,prevLoss,43.844,-0.156,0.024336 23,46,122.2291,5.2961,7.028832,45.813,-0.187, docs.google.com 이곳에 있는 자료를 보고 공부했다. dt만큼 W와 B를 움직여보면서 loss 값이 커지는지, 작아지는지 확인하고(우..

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-보스턴 집값 예측

이런 데이터가있다고 해보자. 1부터 13까지의 특성들이 14에 영향을 미친다. 독립변수들과 종속변수라고 할 수 있겠다. 이 관계를 식으로 나타내면 다음과 같다. 결과가 정확히 나오진 않지만 비슷한 값을 얻을 수 있다. 이런 복잡한 공식은 머신러닝이 만들어준다. 학습을 잘 시킨다면 더 정확한 값을 얻을 수 있을거다. 레모네이드 판매량 예측 때 했던 순서대로 보스턴 집값도 예측해보자 y를 수식으로 나타내면 저렇게 나타낼 수 있는데 이런 모형을 퍼셉트론이라고 하고 각 w들을 가중치 , b는 bias (편향)이라고 한다. 만약에 종속변수를 두 개라고 해보자. 그러면 저런 모형이 나올거다. 수식도 두개가 생기겠지. colab 에 작성을 해보자 텐서플로우랑 판다스를 임포트 해주고 데이터를 가져와 주자. 그다음에 ...

CS/Machine Learning

[머신러닝 야학]텐서플로우(python)-레모네이드 판매량 예측

지도학습의 빅픽쳐 지도학습을 하기 위해서는... 1. 과거의 데이터가 있어야 함. -> 원인(독립변수)과 결과(종속변수)를 분석해 내야함. 2. 모델의 구조를 만든다. 3. 데이터로 모델을 학습(FIT) 한다. 4. 모델을 이용한다. Jupyter notebook 을 구글 서비스 내에서 사용할 수 있도록 만든게 Colaboratory 이전에 딥러닝 스터디를 하면서 깔았던 적이 있다. 그러니 패스! 표를 다루는 도구 '판다스' import pandas as pd 를 해주면 데이터를 불러오고 분류하는 기능을 쓸 수 있게 된다. 실습을 통해 배울 도구들 - 파일 읽어오기 : pd.read_csv('/경로/파일명.csv') - 모양 확인하기 : print(데이터.shape) - 칼럼 선택하기 : 데이터[['칼럼..

CS/Machine Learning

[머신러닝 야학]머신러닝1 정리

머신러닝 야학 3기에 참가신청을 했다.(21.7.19) 저번에 딥러닝을 맛 봤었는데 다시 한번 다지고 싶어서! 커리 큘럼은 이렇게 되는데 머신러닝1은 빨리 할 수 있을 것 같아서 머신러닝1 듣고 텐서플로우를 들으려고 한다. 일단 오늘은 머신러닝1 을 들으며 정리하겠다. https://teachablemachine.withgoogle.com/ Teachable Machine Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required. teachab..

CS/Machine Learning

역전파 편미분 계산 정리

Back propagation 에 대한 계산을 손으로 써보며 정리해보았다 그래도 직접 써보면서 보니까 흐름은 이해가 가는 것 같다.. 이게 이런 얘기였구나~ 이렇게?

CS/Machine Learning

[모두의 딥러닝]lec10-4: 레고처럼 넷트웍 모듈을 마음껏 쌓아 보자

https://www.youtube.com/watch?v=YHsbHjTBx9Q&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=33&ab_channel=SungKimSungKim 이제 원하는대로 network을 조립하면 된다 레고처럼 x의 입력을 넣고 레이어를 지나 y의 출력이 되는 neural network 를 레고처럼 생각하자 몇단인지는 자신의 마음 이런 형태만 있는게 아니라 다양한 구조로 만들 수가 있다 이런 구조로 만들수도 있다 ​ 이렇게 출력이 두개로 나가는 구조일 수도있고 입력이 여러개일수도 있다 RNN 상상력을 발휘해서 구조를 만들자 ​

CS/Machine Learning

[모두의 딥러닝]lec10-3: Dropout 과 앙상블

https://www.youtube.com/watch?v=wTxMsp22llc&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=32&ab_channel=SungKimSungKim 오버피팅이라는 것이 있었다 오른쪽처럼 그래프를 구불구불하게 만드는것 어떤 케이스에서는 정확도가 100이겠지만 다른 곳에서는.. 어떤 케이스에서는 0.99 정확도인데 다른 테스트 데이터에서는 정확도 낮다 지금까지 보지못한 케이스이기 때문 실전에서 사용하기 어렵다 -> 문제 ​ 레이어가 많아 질수록 정확도를 에러율이 떨어진다 학습이 잘되는 것처럼 보임 그런데 실제 데이터로 한걸 보면 에러율이 좀 높아진다 높아지는 저 부분이 오버피팅 된다고 할 수 있겠다 ​ ​ 오버피팅의 해결법 ​ 더 많은 학습데이..

CS/Machine Learning

[모두의 딥러닝]lec10-2: Weight 초기화 잘해보자

https://www.youtube.com/watch?v=4rC0sWrp3Uw&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=32&ab_channel=SungKim 딥러닝을 잘하는 법 두번째. 초기값을 어떻게 할 것인가 이건 우리가 겪었던 문제이다 ​ 해결방법 1.ReLu 사용하기 2. 초기값을 제대로 설정하기 ​ 코드는 바꾼게 없는데 cost함수가 바뀐다 왜 그러냐면 w을 랜덤값으로 줬기 때문이다 ​ 예를 들어보자 chain rule 이다 w를 0으로 줬다고 하자 x가 0이 되고 다 뒤에도 0이 된다 ​ 그러니 초기값을 잘 줘야한다 0을 주면 안되고 ​ RBM에 관한 이미지 이다 w을 조절하는 방법인데 입력값을 쏘고 출력값을 다시 향하게 한다 encoder/decod..

CS/Machine Learning

[모두의 딥러닝]lec10-1: Sigmoid 보다 ReLU가 더 좋아

https://www.youtube.com/watch?v=cKtg_fpw88c&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=31&ab_channel=SungKim XOR 같은 문제를 풀때에는 한개가 아닌 두개의 유닛을 사용한다고 배웠다. 각 유닛의 끝에는 sigmoid가 붙어있었다. 이걸 Activation function 이라고 부르기도 한다 ​ 코드로 구현할때 두개의 w,b를 썼었다. 3단은 어떻게 할까? 몇개를 출력하는지 입력하는지 주의해서 작성 마지막은 1개 여야함 ​ 9단 레이어 해보기 tensorboard로 시각화하기 실행을 시킨 결과가 다음과 같다. 2개로 한 것 보다 결과가 안좋다. 왜일까? 정확도가 올라갔다 내려갔다 하는 문제 Backpropagati..

CS/Machine Learning

[모두의 딥러닝]ML lab 09-1: Neural Net for XOR

https://www.youtube.com/watch?v=oFGHOsAYiz0&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=28&ab_channel=SungKim import tensorflow.compat.v1 as tf import numpy as np tf.disable_v2_behavior() tf.set_random_seed(777) # for reproducibility x_data = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=np.float32) y_data = np.array([[0], [1], [1], [0]], dtype=np.float32) X = tf.placeholder(tf.float32, [No..

CS/Machine Learning

[모두의 딥러닝]lec9-2: 딥넷트웍 학습 시키기 (backpropagation)

https://www.youtube.com/watch?v=573EZkzfnZ0&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=27&ab_channel=SungKim 지난번에는 XOR 문제를 두개의 유닛으로 구성된 neural network으로 풀수 있다는 것을 알아보았다 대신 w와 b는 주어졌었는데 이 값들을 어떻게 자동적(기계적으로) 학습할 수 있을까 이번 강의의 주제. ​ w의 값이 어디서 시작하든 cost함수에서 기울기를 구해서 계속 내려가면 global minimum에 도달할 수 있을 것이다 이것을 구현하기 위해선 미분값이 필요하다 ​ 어떤 예측한 값과 원하는 값의 차이 error을 앞으로 돌려서 다시 계산하는 알고리즘 Back propagation ​ 저 수식..

CS/Machine Learning

[모두의 딥러닝]lec9-x: 특별편: 10분안에 미분 정리하기

https://www.youtube.com/watch?v=oZyvmtqLmLo&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=26&ab_channel=SungKim Backpropagation에 쓰일 기본 미분개념들을 알아보자 ​ 미분은 원래 알던 그대로 공식 맞춰서 쓰면된다. ​ 다음은 편미분. xy를 x에 관해서 미분하면 y는 상수취급 되는거니까 결과는 y이다. 뭐,, 이런식 2x를 x+x로 나누어 미분해도 결과는 같다는 내용.. 합성함수의 미분법은 원래 알던대로! 안에 함수도 한번더 미분해줘야하는것 (요즘 교양으로 기초대학수학 신청해서 듣고 있는데 딥러닝 수학파트에 도움이 되는것같다)

CS/Machine Learning

[모두의 딥러닝]lec9-1: XOR 문제 딥러닝으로 풀기

https://www.youtube.com/watch?v=GYecDQQwTdI&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=26&ab_channel=SungKim 2-3개의 유닛을 합치면 풀수 있다는 걸 알아냈다 ​ 처음부터 보자 XOR은 둘이 달라야 1이 되는 개념이다 ​ weight과 bias가 저렇게 주어졌다고 가정해보자 계산해보면 다음과 같다(표를 다 채운 모습이다) XOR의 결과를 보면 원하는대로 값이 잘 나온다 ​ 그림을 하나로 뭉쳐서 그려보자 여기서 다른 조합의 값들도 가능할까? 두개의 유닛을 하나로 합친거라고 생각한다 w의 차원이 늘어났다 b 또한 차원이 늘어났다 ​ 이것을 수식으로 정하면 다음과 같은데 앞부분만 보면 k로 나타낼수있을테고 뒷부분은 Y로..

CS/Machine Learning

[모두의 딥러닝]ML lab 08: Tensor Manipulation

참고영상 https://www.youtube.com/watch?v=ZYX0FaqUeN4&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=24&ab_channel=SungKim 각각의 김밥을 element라고 할 수 있고, 인덱스를 정해줄 수 있겠다 rank는 몇차원 array냐는거고, shape은 몇개의 element가 있냐는 거다 그래서 1차원에, 7개 있다는 소리! 내가 특정한 자리의 element를 가져오고 싶으면 t[0]이런식으로 가져올 수 있겠고 slice를 활용해서 가져올 수도 있겠다. 차원이 늘어난다면? rank는 2이고, shape는 4랑 3이 되겠다. 3개씩 들어있는데 4개 있는거니까 ​ axis는 축이다. 다음슬라이드에서 더 자세히 보자 rank는 4이..

CS/Machine Learning

[모두의 딥러닝]lec 08-1: 딥러닝의 기본 개념: 시작과 XOR 문제

참고영상 : 모두의 딥러닝 뉴런을 수학적으로 만든 모델 Activation Functions 들어오는 신호 x w이 곱해지고 일정한 기준을 넘어가면 1로 나가고 아니면 0으로 나간다 ​ 이런 기계를 하드웨어로 만들었다 이런식으로,,, 특정한 input값에 대해 출력을 낸다 and 와 or을 예측할 수 있게 할 수 있을까? 할 수 있을 것같다. 그러면 XOR은? xor은 값이 다를 때 1이 된다. 기계를 만들어서 이 xor를 하려고 하는데 잘 안된다 linear하게 선을 그어도 정확도가 50프로 밖에 안된다. 한 교수가 69년도에 책을 냈는데 XOR은 지금 가지고 있는 걸로는 풀수 없다고 증명을 했다 ​ 이런 레이어에서 아무도 못한다! 나중에 가서야 할 수 있는 방법이 나옴 네트워크가 연결되어 있고 wb를..

CS/Machine Learning

[모두의 딥러닝]ML lab 07-2: Meet MNIST Dataset

참고영상 : https://www.youtube.com/watch?v=ktd5yrki_KA&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=21&ab_channel=SungKim 실전 데이터를 사용해서 모델을 만들어 보자 MNIST라는 dataset이다 옛날에 미국 우체국에서 우편번호를 손으로 쓰는데 이 글씨를 자동으로 컴퓨터가 읽게 만들도록 하려고 만들어둔 data set이라고 한다. ​ 데이터를 자세히 살펴보자 다음은 28픽셀 * 28픽셀 의 데이터이다 한자리씩 따지면 784개의 픽셀이 될 것이다. X 의 placeholder를 만들때 shape로 784개를 줄 것이다. ​ None인 것은 우리가 원하는 만큼 데이터를 줄 수 있다는 의미이고. ​ Y 데이터는 예측하는..

CS/Machine Learning

[모두의 딥러닝]ML lab 07-1: training/test dataset, learning rate, normalization

참고영상:https://www.youtube.com/watch?v=oSJfejG2C3w&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=20&ab_channel=SungKim ​ 별도의 test set으로 모델을 평가해보고 learning rate에 대해서 알아보자 ​ 이제부터는 data를 training 이랑 test로 datasets를 나누는 거다 ​ training set으로 학습을 하고 test set으로 (모델에게는 새로운 데이터) 모델을 평가하는 것이다. ​ y_data는 one-hot으로 주어지는 것 같다. 전체코드는 이러할 것이다. ​ 출력되는 prediction 과 accuracy 는 test data를 기반으로 한 것이기 때문에 의미가 있다 ​ 예전에는..

CS/Machine Learning

[모두의 딥러닝]lec 07-2: Training/Testing 데이타 셋

참고 : https://www.youtube.com/watch?v=KVv1nMSlPzY&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=19&ab_channel=SungKim 만약에 training set 데이터를 머신러닝 모델에 넣고 학습 시키고 이 학습시킨 모델에 똑같은 training set 데이터를 넣으면 어떻게 될까? 100% 완벽한 답을 낼 수 있을수도 있을 것이다 -> 나쁜 방법,,! 똑같은 문제로 또 시험을 본다고 생각해보자.. 좋은 방법이 아니잖아 ​ ​ ​ 그래서 데이터에 한 3:7로 나누고 7은 training set 3은 test set으로 정한다 test set은 냅두고 training set으로만 모델을 만들어서 학습시키고 나중에 test set..

CS/Machine Learning

[모두의 딥러닝]lec 07-1: 학습 rate, Overfitting, 그리고 일반화 (Regularization)

참고 : https://www.youtube.com/watch?v=1jPjVoDV_uo&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=18&ab_channel=SungKim ​ learning rate을 조절하는 방법 데이터를 선처리하는 방법 오버피팅을 방지하는 방법에 대해서 이야기 해보자 ​ ​ ​ gradient descent라는 알고리즘을 이용할때 우리는 learning rate라는걸 썼었다. 이렇게 임의의 값으로 지정해 줬었지 ​ 그런데 이 learning rate을 잘 정하는 게 중요하다 learning rate은 쉽게 설명하면 gradient descent에서 한발짝(step)이라고 할 수 있다. 이 step이 너무 크면 어떻게 될까? 최저점을 찾아야 하는데..

CS/Machine Learning

[모두의 딥러닝]ML lab 06-2: TensorFlow로 Fancy Softmax Classification의 구현하기

참고영상https://www.youtube.com/watch?v=E-io76NlsqA&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=17&ab_channel=SungKim ​ 이번엔 fancy softmax classification 좀 더 이쁘게 만들어보자는 의미 ​ 주어진 X에 대해서 학습할 W을 matmul로 곱하고 이걸 logits(score)이라고 부르자 ​ 그리고 softmax를 통과시켜서 확률로 받아들이자 ​ 보면서 다시 복습해보자 ​ cost를 작성했다 1번을 좀 간편하게 만들고 싶다 그래서 2처럼 작성했다 ​ 이를 위해선 softmax_cross_entropy_with_logits() 라는 함수를 이용한다 이를 이용해서 cost_i를 구하고 이 cost..

CS/Machine Learning

[모두의 딥러닝]ML lab 06-1: TensorFlow로 Softmax Classification의 구현하기

https://www.youtube.com/watch?v=VRnubDzIy3A&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=16&ab_channel=SungKim y 값이 실수로 저렇게 2.0, 1.0, 0.1 이렇게 나오면 이걸 softmax를 통해서 A B C 가 나올 확률이 나오도록 하기 확률을 다 더했을 때에는 1이 되어야 한다. ​ tensorflow로 이걸 구현해보자 softmax라는 function을 제공하기 때문에 갖다 쓰면된다 scores 들을 logit이라고 부르기도 함 ​ XW는 tf.matmul(X,W)+b로 쓰면 된다 ​ ​ loss function은 위처럼 나타내면 된다. cost를 minimzie 하는 건 어떻게 했었지? 미분한 값에다가 l..

CS/Machine Learning

[모두의 딥러닝]ML lec 6-2: Softmax classifier 의 cost함수

Y값이 나오면 0과 1사이의 값으로 변환시켜줄거다 저 p를 다 더하면 1이 되도록 ​ 이게 Softmax라는 함수이다 n개의 값을 softmax에 넣으면 0에서 1사이의 값으로 변환시켜주고 p, 즉 확률로 (다 더하면 1이 되도록) 변환시켜준다 ​ 저렇게 p 중에 제일 큰 값을 찾아서 1로 만드는 방법을 구현할 수도 있을 것이다 one-hot encoding 이라고 한다 그럼 a를 고를수 있겠다 ​ 여기 까지 했으면 예측 모델 hypothesis는 설계했다 cost function을 설계해보자 S는 예측 값이고 Y는 실제 값일 것이다. ​ ​ 이 Y의 실제 값은 B 이며 2번째 줄의 예측값은 B여서 맞는거고 3번째 줄의 예측값은 A여서 틀린 거다 ​ 저 ⊙ 이건 element 곱인데 양쪽을 각각 곱해주면..

dawonny
'CS' 카테고리의 글 목록 (2 Page)

...