본문 바로가기

전체 글62

기획의도에 맞게 각 기능 UI구축 from PyQt5 import QtWidgets, QtCore import sys,pickle,keyboard # 메인 프로그램 UI 및 슬롯 구축 class main(QtWidgets.QWidget): def __init__(self): super().__init__() self.setWindowFlag(QtCore.Qt.WindowMinimizeButtonHint,False) self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint,False) self.setMinimumSize(178,45) self.pbt1 = QtWidgets.QPushButton('키로거', self) self.pbt2 = QtWidgets.QPushButton('뷰어', self) s.. 2020. 5. 20.
Gradient descent(경사하강법, 경사하강알고리즘) - 텐서플로우(tensorflow) 경사 하강 알고리즘, 경사 하강법 Cost(W,b)의 값을 최소화 하는 W,b값을 구함. import tensorflow as tf x_data = [?, ?, ?, ?, ?] y_data = [?, ?, ?, ?, ?] with tf.GradientTape() as tape: hypo = W * x_data + b cost = tf.reduce_mean(tf.square(hypo - y_data)) W_grad, b_grad = tape.gradient(cost, [W,b]) with tf.GradientTape() as tape: Gradient(기울기) Tape(기록) 이후 tape에 gradient메서드를 실행하여 cost에 대한 W와b의 편미분 값을 tuple로 전달. learning rate .. 2020. 5. 20.
기획 키보드 입력을 기록하는 keyloger만들기 1. gui는 qt를 이용 2. 키입력 레코딩은 keyboard 모듈 사용 3. 메인 프로그램 - 레코딩 프로그램 - 뷰어 프로그램 4. 키 입력시 활성화 되어있는 창 이름과 프로세스 이름 얻어오기 및 저장 5. pickle 모듈로 레코딩 데이터 이진파일로 저장 [메인 프로그램] 레코딩 프로그램과 뷰어 프로그램을 선택하여 실행할수 있도록 제작. (필수아님. 각각 프로그램으로 만들어도 될듯) [레코딩 프로그램] gui가 필요없지만 종료등의 편의를 위해 gui제작. 프로그램 실행시 자동으로 레코딩 시작. 일정 시간마다 레코딩 종료후 pickle모듈로 저장 및 레코딩 재실행 프로그램 종료시 진행중인 레코딩종료 및 저장 [뷰어 프로그램] pickle모듈로 저장된 이진.. 2020. 5. 20.
순차문, 조건문, 반복문 순차문 말처럼 순서대로 진행하는것 입니다. x = 2 print(x) # 2 x = x + 2 print(x) # 4 조건문 어떤것이 참일 경우에만 실행. x = 5 #만일 x = 17이라면? → Finis만 출력됨 if x 20: print('Big') print('Finis') # Small # Finis if는 if 조건문: body 일때 조건문이 참이면 body부분을 실행한다. 반복문 body부분의 코드를 '반복'한다. 예시는 while문으로 들겠습니다. while 조건문: body 와 같은 형태로 조건문이 참일때 body를 실행합니다. 위의 if와 똑같죠? 하지만 끝나는 것이 아닌 다시 조건문을 확인합니다.. 2020. 5. 19.
배우기 앞서서 에러부분 ^ Syntax Errors : 에러내용 앞으로 파이썬을 사용해 프로그래밍을 하면서 문법오류를 상당히 자주 목격할수 있습니다. 저 또한 처음 배울때 상당히 많이 조우했으며 괜찮은 코드 처럼 보이는데도, 다시 수정해도 다시금 오류가 뜰수 있습니다. 문법오류가 뜨는것이 부족한 프로그래머라는 것을 의미하진 않습니다. 단지 무엇을 하려는건지 파이썬이 이해하지 못했을 뿐입니다. 짜증날수도 있지만 문법오류에 익숙해지셔야 합니다. 5번째 줄의 else의미를 모르겠어..!! 들여쓰기가 안돼서인가 햇갈려 ㅠㅠ 무슨 말이 하고싶은거야 ㅠㅠㅠ 라고 말하는거죠 우리가 파이썬 언어를 배우고 이해하는것이 파이썬이 우리 언어를 배우고 이해하는것보다 훨씬 쉽습니다. 파이썬의 코드는 문장으로 구성되어있습니다.. x = 2 x.. 2020. 5. 19.
Linear Regression(선형회귀) 구현 및 Cost의 최소화 - 텐서플로우(tensorflow) import tensorflow as tf x_data = [1, 2, 3, 4, 5] y_data = [1, 2, 3, 4, 5] W = tf.Variable(3.5) b = tf.Variable(1.0) # hypothesis = W * x + b hypo = W * x_data + b H(x) = 가설함수 hypotthesis라고 하며 파이썬(tensorflow)에서 구현할수 있도록 변경 # cost = (hypo - y_data) ** 2 cost = tf.reduce_mean(tf.square(hypo - y_data)) 코스트함수. 가설에 의한 출력 - 실제출력 한 값의 제곱값들의 평균 tf.reduce_mean() v = [1., 2., 3., 4.] tf.reduce_mean(v) # 2... 2020. 5. 19.
Regression(회귀) - 텐서플로우(tensorflow) 사전적 의미 회귀, 후퇴, 되돌아간다 사용되는 의미 "Regression toward the mean" -Sir Francis Galton- 어떤 데이터가 상당히 크거나 작은 값을 가지고 있더라도 이는 전체적인 평균에 회귀하려는 특징이 있다. Linear Regression (선형회귀) 직선의 방정식 y = ax + b (a : 직선의 기울기, b : 직선의 y절편) Linear Regression == a와 b를 구하는것 Cost 예측데이터에서 실제데이터 값을 뺀 값. 작으면 작을수록 데이터를 잘 대변한다 == 예측에 성공했다. Cost == loss == error 동일한 뜻으로 사용된다. Linear Regression에서 가장 중요한것은 Cost값을 최소화 하는것. Cost Function 가설함.. 2020. 5. 19.
머신러닝 용어 및 개념 - 텐서플로우(tensorflow) 머신러닝이란? 직역 - 기계학습. 즉 기계 스스로 학습하는것. 알고리즘과 머신러닝의 차이 입력값이 순서대로 2, 3, 4일때. 알고리즘 3x+2와 같이 알고리즘이 정해져있음. [출력] 8, 11, 14 이때에 5를 입력시 17을 출력 머신러닝 Wx + b로 가설함수 수립. 입력값에 대한 출력값(데이터 표본)을 통한 학습 W = 3, b = 2와같이 학습이 완료됨 5입력시 17출력. Supervised learning 레이블을 사전에 정의해 줄수 있고 추후에 입력되는 데이터가 어떠한 레이블에 속하는지 예) 고양이, 개, 토끼 등이 학습된 상태에서 사진 입력시 어떤 동물인지 출력. Unsupervised learning 레이블을 사전에 정의해 줄수 없고 그때그때 판단해야 하는것 예) 연관된 뉴스 (비슷한 뉴.. 2020. 5. 18.