본문 바로가기

전체 글

02.11 [0] Orientation 1. 지도학습 : 정답(y) 알려주는 학습. 데이터 (X) 1-1 지도학습 문제점 ·회귀: 결과 수치, 양을 예측 linear problem ·분류: 범주, 성공/실패 classification ->회귀 문제를 분류문제로 바꾸어야 문제를 쉽게 해결 가능 2. 비지도학습 : 정답이 없는 학습 -> 어렵고, 가치 평가가 힘듦 지도학습을 위해 만들어짐. 2-1 비지도학습 방법 매출을 올리기 위해(목적달성) 분류. Segmentation (분할) : 효용가치를 기대하고 구매를 하는 고객. 효용가치 a, b, c, d, (e, f 잠재 효용가치) 사람마다 기대하는 효용가치가 다르겠지? 같은 효용가치를 원하는 사람들끼리 군집을 만들어서 A, B, C 고객군을 나누는 일. 효용가치 : a.. 더보기
02.07 [6] 옵티마이저 6. Adam class Adam: # 전개를 하고 묶는 작업을 거쳐야 Adam의 점화식과 일치한다는 것을 알 수 있다. """Adam (http://arxiv.org/abs/1412.6980v8)""" def __init__(self, lr=0.001, beta1=0.9, beta2=0.999): self.lr = lr self.beta1 = beta1 # B1 가중치, 관성과 미분치 미분할 때 필요 mn = B1mn-1 + (1 - B1) * df(xn) self.beta2 = beta2 # B2 가중치, 미분치 좌표별 제곱할 때 필요 vn = B2vn-1 + (1-B2)*df(xn)*(df(xn) self.iter = 0 # 보정작업에서 베타의 n 승해준 값 빼줘서 0에 편향되는 .. 더보기
02.04 옵티마이저 [6] 학습관련 기술들 크로스엔트로피의 최소점을 찾는 것이 좋은 신경망! Optimizer : 어떻게 빨리 산을 내려갈 것인가? # coding: utf-8 import numpy as np class SGD: """확률적 경사 하강법(Stochastic Gradient Descent)""" def __init__(self, lr=0.01): self.lr = lr def update(self, params, grads): # param이라는 건 딕셔너리 형태라는 뜻. 현재위치 param이 있으면 for key in params.keys(): params[key] -= self.lr * grads[key] # 현재 위치에서 학습률 * 기울기 값 빼주어 새로운 param으로 두라는 뜻임. class Mom.. 더보기
01.28 [0] 오차 역전파법 1.계산그래프 1) 자료 구조 : 노드(처리장치) + 에지(선) 최소한의 구조로 효율적으로 작성하는 능력 중요 연산자만 노드에 남기고, 데이터는 변수취급해 밖에서 입력시킨다. tensorflow에 따라 순차적으로 계산한다. '순전파' 왼->오 '역전파' 오->왼 ☆미분 계산할 때 쓰인다. 2) 국소적 계산 pipe & filter -> 컨베이어 벨트 위에서 고정된 파이프와 필터에 들어가 척척 계산 전체 계산 과정이 복잡하더라도, 해당 노드에서의 국소적 계산에만 초점을 맞춘다.(각각의 노드에서 분업) 3)장점 (1) 문제를 단순화 (2) 중간계산결과 보관가능 (3) 역전파로 미분 효율적 계산 가능 : 역류한다 가중치를 살짝 바꾼다면(dx 변화된 x값) 마지막에 반환된 손실치도 변한다(.. 더보기
01.26 softmax(확률), 추론(배치처리), 손실함수 [0] 신경망 p90 1. 출력층 설계하기 1)softmax (1)e^a/ sum(e^a) A = np.array([1.5,2,2.2]) #아주 적은 차이의 리스트를 만들어본다. exp_A = np.exp(A) #자연상수의 a승 print(exp_A) sum_exp_A = np.sum(exp_A) #자연상수 a승의 전체 합 Y = exp_A/sum_exp_A #전체 합으로 자연상수의 a승을 하나하나 나누어준다 print(Y) #셋을 합하면 1이 나온다. globFunc에 def softmax로 작성. (2)오버플로우 현상 해결하기. 자연상수^a/sum(자연상수^a) ==(자연상수-C)^a/sum((자연상수-C)^a) 같다는 원리를 로그함수를 이용해 배웠다. 그러니 숫자 너무 커지지 않게 애초에 e에서 입.. 더보기
01.25 퍼셉트론, 신경망 [0] 퍼셉트론 (x1,x2) w1,w2,임계값 = 1,1,1 w1*x1+w2*x2>임계값 = 1반환 w1*x1+w2*x2에러난다. 1. 'module' object is not callable ->뒤에.py 붙여봄 2. No module named 'AND.py'; 'AND' is not a package -> 여전히 안됨 import numpy as np import ANDArray print(ANDArray.NAND(1,1)) ->해결: 함수파일이름.쓰려는함수() 2)편향 더하기 import numpy as np x = np.array([0,1]) #입력 w = np.array([0.5,0.5]) #가중치 b = -0.7 #편향 print(w*x) #원소별 곱 print(np.sum(w*x)) #원.. 더보기
01.24 [1]헬로 파이썬 p36 1. 넘파이 x= np.array([1,2,3],float) y=np.array([2,4,6],float) z=np.array([2.2,4.4,6.6,7.7],float) error : operands could not be broadcast together with shapes (3,) (4,) #operands= 피연산자 # broadcast = 퍼뜨려서 계산 x는 3열이고 z는 4열이라서 에러남. 1) 차원의 개념 점=0차원 선=1차원 선의 직교(서로의 값이 완전 불일치) 2차원 group by a = [1,2,3,4] a의 4과목 성적 b = [5,6,7,8] b의 4과목 성적 점수 더하기 2종류 group by human a,b 각각의 총점 [10] [26] group .. 더보기
01.19 오늘 직면한 에러코드 1. wb = webdriver.Chrome("C:/Users/User/Desktop/JUNGJAEEUN/재미진조/chromedriver.exe") url="https://korean.visitkorea.or.kr/list/ms_list.do?choiceTag=여행지&choiceTagId=" wb.get(url) wb.find_element_by_id("3").click() # 클릭까지 완료 time.sleep(10) title_list=[] for i in range(1,11): wb.find_element_by_class_name('''page_box''').find_element_by_id('''i''').click() time.sleep(10) spot=wb.find_elements_by_css_.. 더보기