일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- datastructure
- jvm
- Class
- Spring Security
- zgc
- redis
- Kotlin
- MergeSort
- Java
- C++
- While
- JPA
- 자료형
- ansible
- datatype
- lambda
- Fluent-bit
- For
- SpringBoot Initializr
- programmers
- 연산자
- Sprint Security
- g1gc
- UserDetails
- Algorithm
- quicksort
- If
- IAC
- JavaScript
- 기초
- Today
- Total
목록BLOG HOME (78)
뭐라도 끄적이는 BLOG
JUnit은 Java개발자가 가장 많이 사용하는 테스팅 프레임워크입니다. The State of Developer Ecosystem in 2021 Infographic The State of Developer Ecosystem 2021 is a detailed report about the programming community, which covers the latest trends in languages, tools, technologies, and lifestyles of developers. www.jetbrains.com JUnit5는 Springboot 2.2이후부터 기본 JUnit 버전을 5로 제공하게 되었습니다. 그리고 Java 8 이상을 필요로 합니다. 이 외에 TestNG, Spock등..
다중 클래스 분류 이진 분류는 어떤 물체인지 표현할 필요없이 맞는지 아닌지 만 표현하면 됩니다. 하지만 다중 분류에서는 어떤 물체인지 표현 해야 합니다. 정답을 어떻게 표현할 것인가? (원핫 인코딩) 한개의 값만 1이고, 나머지 값은 0인 벡터로 표현하는 기법 원 핫 인코딩된 벡터는 미리 매핑해둔 Table을 이용해 어떤 물체인지 알 수 있습니다. 원 - 핫 인코딩의 희소 표현 Sparse Vector : 대부분의 값이 0 이고 크기가 있는 값이 희소하게 나타나는 벡터 반대로 밀집표현(Dense Presentation)이 있습니다. 얕은 신경망을 이용한 다중 클래스 분류 한가지 확률만 100%이고 나머지는 0%인 것이 정답입니다. 실제 알고리즘 출력을 확률로 변환하기 위해 Softmax 함수를 사용합니다..
입력의 범주를 추정하는 분류(Classification)에 대해 조금 더 자세히 알아봅니다. 학습 샘플을 잘 나누는 선을 Decision Boundary라고 합니다. 로지스틱 회귀 이전에는 데이터를 잘 표현하는 방향으로 데이터를 따라가도록 선을 그었다면 로지스틱 회귀는 선형 회귀와 비슷하나, 범주형 데이터를 분류하는 방향으로 선을 긋는다. 로지스틱 회귀는 범주형 데이터를 대상으로 하는 회귀. 분류 기법으로 볼 수 있습니다. 로지스틱 회귀는 선형 회귀와 비슷하지만, 범주형 데이터를 분류하는 방향으로 선을 긋는것 입니다. Sigmoid Function 값이 작아질 수록 0, 커질수록 1에 수렴 모든 실수 입력 값에 대해 출력이 정의됨 출력이 0~1사이로, 확률을 표현할 수 있음 입력값이 0에 가까울 수록 출..
단순 선형 회귀 데이터를 가장 잘 표현하는 선형식을 찾는 동작 arg는 오른쪽 수식에 가장 작은 값을 가지는 w를 찾는다. 라는 의미입니다. 에러를 제곱한 부분입니다. 1/2이 붙는 이유는 미분시 상수값을 없애기 위한 관습입니다. MSE를 최소로 하는 w를 찾아라 w와 b를 지정하여 추정한 선형 회귀의 값(y)과 실제 (yi)값의 오차를 제곱한 값들의 평균이 가장 낮은 점을 찾는 것이 선형회귀의 핵심입니다. 단순 선형되귀는 독립변수(입력)이 하나이므로, 추정해야 할 변수도 하나입니다. 단, bias를 포함하면 2개가 됩니다. 평균 제곱 오차 MSE를 이용해, 고양이의 길이와 체중의 오차를 종합적으로 판단할 수 있습니다. 다중 선형 회귀 얕은 신경망과 회귀 알고리즘 얕은 신경망으로 회귀를 수행할 경우, 출..
뉴런의 수학적 표현 뉴런은 수학적으로 두 벡터의 내적으로 쉽게 표현할 수 있습니다. bias가 없으면 오직 원점에서만 값의 이동이 이루어집니다 자유롭게 선을 그어주기 위해 편향을 넣어주는 것이 일반적입니다. w 벡터를 transpose하여 x벡터와 곱한 값과 벡터의 내적은 같기 때문에 위와 같은 공식이 나옵니다. y 는 activation function( transpose(w) * x + b) 인 것입니다. 전결합 계층의 수학적 표현 FC 계층은 여러 개의 뉴런을 한곳에 모아둔 것으로, Matrix 곱셈 연산으로 표현 됩니다. 입력 계층(Input Layer) 입력 계층은 아무런 연산도 일어나지 않습니다. 신경망의 입력을 받아서 다음 계층으로 넘기는 역할 무엇을 입력으로 주어야 하는가? → 특징추출 문..
Neuron의 표현 Graph의 Node와 Edge를 이용해 표현한다. 여기서 Node는 단일 뉴런 연산을, Edge는 뉴런의 연결성을 의미한다. Node에서는 weight와 입력데이터를 곱하고 그결과들을 모두 더하는 일련의 과정을 모두 포함합니다. 인공신경망 뉴런이 모여서 서로 연결된 형태를 인공신경망(Artificial Neural Network)라고 부릅니다. 딥러닝은 인공신경망을 기반으로한 머신러닝을 말하는 것입니다. 전결합 계층 뉴런이 모인 한 단위를 계층(Layer)라고 하며, 이전 계층과 모든 뉴런이 서로 연결된 계층을 Fully-Connected Layer(Dense Layer)라고 합니다. 얕은 신경망(Shallow Neural Network) 입력, 은닉, 출력의 3가지 계층으로 되어 ..
Large learning rate : overshooting 너무 많은 값을 뛰어넘기 때문에 정상적인 값을 출력하지 못합니다. Small learning rate : takes too long, stops at local minimum 작은 값을 이용한 learning rate는 너무 오랜 시간이 걸립니다. 보통 시작 learning rate를 0.1부터 시작하여 줄이거나 늘리면서 값을 맞춰 나갑니다. Data(X) preprocessing for gradient descent 데이터에 큰 차이가 있을때도 문제가 있습니다. 이것을 해결하기위해 normalize를 해줘야합니다. 데이터의 중심을 0으로 그리고 특정 값안에 들어갈수 있도록 normalize를 해주는 것입니다. Overfitting 둘중 왼쪽..
Logistic Regression Logistic Regression은 Linear Regression의 Hypothesis를 z변수라고 하고 z변수를 Sigmoid Function의 변수로 사용한 공식을 Hypothesis로 사용한 Regression입니다. Logistic Regression의 결과 값은 0과 1사이의 값이 나오며 이것을 통하여 Classification도 가능하기 때문에 Logistic Classification이라고도 부릅니다. Multinomial Classification Logistic Regression이 2개의 범주만을 분류하는 것이라고 한다면 Multinomial Classification은 3개 이상의 범주가 있고 이것을 분류하는 것을 의미합니다. 왼쪽 그림에서 볼 ..
Binary Classification Spam Detection → Spam or Ham Facebook feed : show or hide Credit Card Fraudulent Transaction detection : legitimate or fraud Classification에서 가장 기본적인 것은 Binary Classification입니다. 이것은 분류를 2가지 항목으로만 분류하는 것을 말합니다. 이것은 Logistic Regression 또는 Logistic Classification이라고 부르기도 합니다. 대표적인 예로 스팸메일인지 아닌지 구분하는것, 주가가 오를지 내릴지 구분하는 것, 시험에 통과할지 떨어질지 구분하는 것을 모두 Logistic Regression이라고 할 수 있습니..
Recap 우리의 가설이 무엇인지 기억해야 합니다. 가설이 정해졌을때 Cost function이 어떻게 계산하는지 생각해 봐야합니다. cost function이 나오면 이것을 최소화하기 위한 알고리즘을 생각해 봐야 할 것입니다. Multi-variable feature 이전의 경우에는 1개의 입력 변수를 사용하는 Regression이였습니다. 하지만 수많은 Linear한 현상들 중에서 1개의 변수에 따라 결과가 달라지는 것 보다 여러개의 변수의 영향에 의해 결과가 달라지는 현상이 더 많습니다. 예를들어 2번의 퀴즈와 1번의 중간고사 총 3개의 점수들을 통해 기말고사의 성적을 예측하는 문제는 3개의 입력 변수를 가지는 Linear Regression입니다. 이렇듯 여러개의 변수를 갖는 Linear Regr..