목록전체 글 (28)
Codelog

✨ 전체 특성 중 2개의 특성 sepal length, petal length 만을 선택하여 사용하고, 150개의 데이터 중 Setosa 50개, Versicolor 50개만을 추출하여 100개의 데이터에 대해서 이진 분류를 진행한다. 1. 먼저 필요한 패키지와 라이브러리를 불러온다. import numpy as np import pandas as pd import matplotlib.pyplot as plt import tensorflow as tf 2. 시드(Seed)를 고정한다. np.random.seed(42) tf.random.set_seed(42) 3. Iris 데이터셋을 DataFrame 형태로 불러온 후 데이터 형태를 살핀다. df = pd.read_csv('https://archive.i..

💡 퍼셉트론 (Perceptron) 신경망을 이루는 가장 기본 단위를 퍼셉트론 이라고 한다. 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 구조이다. 위 그림에서 볼 수 있는 것처럼 퍼셉트론은 크게 두 부분으로 나눌 수 있다. 1. 가중치(Weight) - 편향(Bias) 연산 퍼셉트론은 여러 개의 신호를 입력받게 된다. 입력된 신호는 각각의 가중치와 곱해지고 그 결과를 더해주게 된다. 이러한 가중합(Weighted Sum)이 퍼셉트론의 첫 번째 단계이다. 2. 활성화 함수 (Activation Function) 활성화 함수는 계산된 가중합을 얼마만큼의 신호로 출력할지를 결정한다. 계단 함수 (Step function) 가장 간단한 활성화 함수로, 입력값이 임계값(여기서는 0)을 넘기면 ..

💡 Vector transformation 벡터 변환은 임의의 두 벡터를 더하거나 혹은 스칼라 값을 곱하는 것을 의미한다. 벡터 변환으로써의 매트릭스-벡터 곱 f 라는 transformation을 사용하여 임의의 벡터 [x1, x2]에 대해서 [2x1+x2, x1-3x2] 로 변환 여기서 원래 벡터 [x1, x2]는 유닛벡터를 이용하여 아래처럼 분리할 수 있는데, 분리된 각 유닛벡터는 transformation을 통해서 각각 2x1, x1과 x2, -3x2 라는 결과가 나와야 한다는 것을 알 수 있다. 이를 매트릭스 형태로 합치게 되면, 아래와 같은 T 매트릭스를 얻을 수 있다. 이 매트릭스를 처음 벡터에 곱했을 경우 transformation이 원하는 대로 이루어진다는 것을 알 수 있다. 즉, 임의의 ..

💡 Variance, 분산 분산은 데이터가 얼마나 퍼져있는지를 측정하는 방법이다. 이는 각 값들의 평균으로부터 차이의 제곱 평균값이다. 즉, 분산을 구하기 위해서는 일반적으로 평균을 먼저 계산해야한다. import pandas as pd import numpy as np import matplotlib.pyplot as plt import random # 랜덤한 50개의 정수를 포함하는 2 변수 설정. variance_one = [] variance_two = [] for x in range(50): variance_one.append(random.randint(25,75)) variance_two.append(random.randint(0,100)) variance_data = {'v1': varian..

💡 Regression import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.DataFrame( [[1, 3, 5, 7, 9], [2, 8, 14, 20, 26]], index=['mid', 'final'] ).T df['ones'] = np.ones(5) df output : X = df[['ones', 'mid']].values Y = df['final'].values.reshape(-1,1)# Transpose # 위의 공식 계산 beta = np.matmul(np.linalg.inv(np.matmul(np.transpose(X), X)), np.matmul(np.transpose(X), Y)) beta outp..

총 확률의 법칙 (The Law of Total Probability) A라는 특정 확률 변수에 대해, 가능한 모든 이벤트의 총 확률은 1이다. 즉, P(A) = ∑n P(An) = 1 조금 더 나아가서 2개의 변수를 고려한다면 (A와 B), 두 변수가 연관이 있는 경우, B가 일어난 상황에서의 A에 대한 확률 P(A)는 P(A|B)의 형태로 표현된다. (반대로 연관이 없는 경우에는 B가 일어난 상황에서 A에 대한 확률은 P(A)*P(B)이다.) 조건부 확률 (The Law of Conditional Probability) 다른 이벤트가 일어난 상황에서의 조건은 밴다이어그램을 이용해서 설명할 수 있다. 위의 식에 P(B)를 양변에 곱하면, P(A|B)P(B) = P(A∩B) 식을 얻을 수 있다. 이는 곧..

ANOVA (one-way) 이전에 배운 가설검정방법 → 1개 그룹의 평균이 특정 값과 같은지 (1-sample t-test) → 2개 그룹의 평균이 유의미하게 다른지 (2-sample t-test) ANOVA 가설검정방법은 2개 이상 그룹의 평균에 차이가 있는지를 확인하는 방법이다. Multiple Comparision 2개 이상의 여러 그룹을 비교하기 위해서 여러개를 하나하나씩 비교하는 것은 그룹 수가 늘어날수록 전체 에러도 점점 커지게 된다. 따라서 여러개의 그룹을 한꺼번에 비교하는 방법이 필요하다. Variation 여러 그룹간의 차이가 있는지를 확인하기 위해선 여러 그룹들이 하나의 분포에서부터 왔다 라는 가정을 생각해야 한다. 이를 위한 지표는 F-statistic 이며, F-value가 높다는..

문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 코드 # 프로그래머스 가장 큰 수 def soluti..