목록분류 전체보기 (421)
외로운 Nova의 작업실

- and, or 연산 퍼셉트론 실습 먼저 데이터를 준비합니다. import tensorflow as tf T = 1.0 F = 0.0 bias = 1.0 def get_AND_data(): X = [ [F, F, bias], [F, T, bias], [T, F, bias], [T, T, bias] ] Y = [ [F], [F], [F], [T] ] return X, Y def get_OR_data(): X = [ [F, F, bias], [F, T, bias], [T, F, bias], [T, T, bias] ] Y = [ [F], [T], [T], [T] ] return X, Y def get_XOR_data(): X = [ [F, F, bias], [F, T, bias], [T, F, bias], ..

- 딥러닝의 탄생 배경 딥러닝은 아주 오래전에 논리적인 연산을 하기위해 만들어진 퍼셉트론에서부터 시작합니다. 퍼셉트론을 이해하면 딥러닝에대해 알아갈 수 있습니다. - 퍼셉트론 퍼셉트론은 두개의 입력이 있을때 하나의 뉴런으로 두개의 입력을 계산한뒤 0 또는 1을 출력하는 논리적인 연산 모델입니다. 아래는 퍼셉트론의 식입니다. z = w1x1 + w2x2 + bias(편향값) 이후 z값을 구한다음 z값에대한 활성화 함수(0과1을 구분하는 함수)로 0과 1을 출력합니다. 그림으로 설명하면 아래와 같습니다. 아래는 활성화 함수로 사용하는 스텝 함수입니다. 이렇게 0과 1을 출력하는데, and 연산에 맞는 w1,w2,bias 값과 or 연산에 맞는 w1,w2,bias의 값을 구할 수 있습니다. 예를 들어 w1 =..
시스템 보안 - 이벤트 뷰어 이벤트 뷰어 : 윈도우에서 로그를 조회하고 관리하는 도구 애플리케이션 로그(application.evtx) : 응용 프로그램이 남기는 다양한 이벤트 시스템로그(system.evtx) : 시스템 시작 및 RDP 연결 등의 로그 보안 로그(security.evtx) : 로그인 성공 및 네트워크 로그인 로그 - 감사 정책 개체 액세스 : 파일 디렉터리등에대한 객체 기록 계정 액세스 : 계정 관리 이벤트 감사 계정 로그온 이벤트 : 도메인 계정에 대한 로그온 성공 권한 사용 : 권한 사용의 성공 및 실패 감사 디렉토리 서비스 액세스 : AD 개체의 사용자가 액세스 감사 로그온 이벤트 : 로컬 계정에 대한 로그온/오프 감사 시스템 이벤트 : 시스템 시작 또는 종료 감사 정책 변경 : ..

- 주성분 분석 주성분 분석이란 고차원의 데이터를 저차원의 데이터로 차원 축소하는 알고리즘입니다. 주로 고차원의 데이터를 3차원 이하의 데이터로 바꿔서 시각화 하는데 많이 사용되며 유용한 정보만을 살려서 적은 메모리에 저장하거나 데이터의 노이즈를 줄이고 싶을때도 사용되는 알고리즘입니다. 먼저 주성분 분석의 작동원리에 대해 알아보겠습니다. 이해하기 쉽게 시각화 가능한 2차원의 데이터를 1차원의 데이터로 축소하는 과정을 알아보겠습니다. 아래는 2차원의 데이터입니다. 위 데이터를 1차원으로 변경하기 위해 x1 좌표로 옮겨보겠습니다. x1 좌표로 옮기게되면 1차원으로 됬긴하지만 많이 중첩되어 데이터를 구분하기 어려워진 것을 눈으로 확인할 수 있습니다. 그러면 x2는 어떨까요? x2 좌표로 옮겨도 동일한 것을 알..

- 로지스틱 회귀 앞서 다룬 선형 회귀 모델로 이진 분류 문제를 풀 수 있을까요? 선형 회귀의 예측값은 수치값으로 나와서 참 또는 거짓을 분류하는 문제에 적합하지 않습니다. 단, 선형 회귀의 예측값을 입력값으로 받아 참 또는 거짓으로 분류하는 모델을 고려해볼 수 있습니다. 이번장에서 배울 로지스틱 회귀 모델은 선형 회귀를 입력으로 받아 특정 레이블로 분류하는 모델입니다. 로지스틱 회귀의 작동 원리는 다음 그림과 같습니다. 왼쪽은 선형 회귀 그래프로 x라는 입력이 들어왔을떄 wx+b라는 결과값을 출력합니다. 이 결과값이 오른쪽 그래프인 시그모이드 함수의 입력값으로 들어가 0부터 1까지의 사이값을 출력합니다. 출력값이 0.5 이상일 경우에는 참, 0.5 이하일 경우에는 거짓으로 분류하는 분류 모델로 사용할 ..

- 선형 회귀 선형 회귀 분석이란 고나찰된 데이터들을 기반으로 하나의 함수를 구해서 관찰되지 않은 데이터의 값을 예측하는 것을 말합니다. 간단하게 축구선수의 슛횟수와 획득한 점수표로 다음 슛횟수에대한 점수는 몇이 되는지 예측하는 선형 회귀 AI를 이해해보겠습니다. 위 표를 보고 다음과 같이 도식화 할 수 있습니다. 이 축구선수가 4번의 슛을 시도할 경우 몇점을 획득하게 될까요? 하나의 함수를 구해보겠습니다. y=ax+b라는 1차함수를 생각할 경우 y=x라는 함수 공식이 관찰된 데이터에 100% 적용된다는 것을 확인할 수 있습니다. 이 축구선수가 4번의 슛을 쏠경우 함수에 따라 4개의 골을 성공할 것이라고 예측할 수 있습니다. - 평균 제곱 오차 그렇다면 데이터가 아래의 상황일때 더 나은 회귀함수를 찾는 ..

- 군집화 군집화는 비지도학습의 일종으로 데이터의 특징만으로 비슷한 데이터들끼리 모아 군집된 클래스로 분류합니다. 예를 들어, 한교실에 있는 학생들의 키 값만 가지고. 키큰 그룹, 키 작은 그룹으로 나누고 싶을때 사용하는 알고리즘이 바로 군집화입니다. - K 평균 알고리즘 K 평균 알고리즘은 간단하면서도 강력한 군집화 알고리즘입니다. 기본적으로 다음과 같은 순서로 진행됩니다. 1. 데이터 준비 2. 몇개의 클래스로 분류할 것 인지 설정 3. 클러스터의 최초 중심 설정 4. 데이터를 가장 가까운 클러스터로 지정 5. 클러스터 중심을 클러스터에 속한 데이터들의 가운데 위치로 변경 6. 클러스터의 중심이 바뀌지 않을때 까지 4번 5번과정을 반복 수행 예를 들어 학생들의 키와 몸무게 데이터로 키크고 건장한 체격..

- 앙상블 앙상블 기법이란 여러개의 분류 모델을 조합해서 더 나은 성능을 내는 방법입니다. 각 분류 모델의 값을 더해서 가장 최적의 값을 도출하는 기법입니다. - 배깅 배깅은 마치 상당히 연주하기 힘든 바이올린 연주곡을 두 세명의 초급 바이올린 연주자가 나누어 연주함으로써 한명의 중급 바이올린 연주자가 연주하는 것보다 더 나은 연주를 할 수 있는 것과 유사합니다. 의사결정 트리는 과대적합되기 쉽다는게 단점인데 이는 편향적이라는 의미입니다. 배깅은 한가지 분류 모델을 여러개 만들어서 서로 다른 학습 데이터로 학습시킨 후(부트스트랩), 동일한 테스트 데이터에대한 서로다른 예측값을 투표로 통해(어그리게이팅) 가장 높은 예측값으로 최종 결론을 내리는 기법입니다. 즉, 의사결정 트리를 일부러 편향적인 모델을 여러..

- 나이브 베이즈 나이브 베이즈는 확률 기반 머신러닝 분류 알고리즘입니다. 나이브 베이즈를 예시를 통해 이해해보겠습니다. 치킨집에서 손님이 주문을 할때 맥주를 주문할지 안할지 예측해보겠씁니다. 이때 다음과 같은 기존 손님들의 주문 내역이 있습니다. 저녁에 손님이 한 명 와서 주문을 합니다. 이 경우 손님이 맥주를 주문할 확률은 조건부 확률이게됩니다. 즉, 저녁에 와서 주문을 할 확률이기 떄문입니다. 이때 나이브 베이즈는 조건부 확률을 계산하는 자신만의 공식으로 계산하게됩니다. 결국 답은 저녁인 5개중에 3개가 주문을 했기때문에 0.6이라는 값을 도출해냅니다. 이런식으로 특징을 많이 뽑아내어 경우의 수를 만들고 나이브 베이즈에 학습시키면 조건부 확률에따라 답을 도출해냅니다. - 가우시안 나이브 베이즈 가우..

- 의사 결정 트리 의사결정 트리는 데이터 분류 및 회귀에 사용되는 지도학습 알고리즘입니다. 의사결정 트리의 가장 큰 장점은 다른 알고리즘에 비해 결괏값이 왜 어떻게 나왔는지 이해하기 쉽다는 것입니다. 또한 수학적인 지식이 없어도 결과를 해석하고 이해하기 쉬우며, 수치 데이터 및 범주 데이터에 모두 사용 가능하다는 장점이 있습니다. 단점으로는 과대적합의 위험이 높다는 것입니다. 의사결정 트리 학습시 적절한 리프 노드의 샘플 개수와 트리의 깊이에 제한을 둬서 학습 데이터에 너무 모델이 치우치지 않게 주의해야합니다. - 의사 결정 트리 특징 의사결정트리로 사람의 성별이 무엇인지 맞춰본다고하면 아래처럼 한번의 질문으로 바로 맞출 수 있을 것입니다. 이러한 질문을 의미있는 질문이라고 하며 이러한 질문을 가장 먼..