퍼셉트론의 식

X1 * w1 + X2 * w2 + b 으로 입력 값을 출력 값으로 바꿔주는 함수를 활성화 함수 ( activation function) 라고 합니다.

 

이 함수는 여러 가지가 있는데, 일반적으로

 

단순 퍼셉트론에서는 계단 함수,

다층 퍼셉트론에서는 시그모이드 함수를 사용합니다.

 

계단 함수, 시그모이드 함수는 둘 다 비선형입니다.

그리고  활성화 함수로 ReLU 함수도 사용합니다.

 

 

반응형

'Coding > DeepLearning' 카테고리의 다른 글

학습 관련 기술들 - 최적화  (0) 2020.03.10
오차역전파법 ( 내용 추가 중 )  (0) 2020.03.10
신경망 학습  (0) 2020.03.08
신경망 Neural network 이란? - 2  (0) 2020.03.07
Perceptron 퍼셉트론이란?  (0) 2020.02.29

퍼셉트론은 여러 신호를 입력 받고, 하나의 신호를 출력한다.

 

이 때 출력 값은 전류가 흐른다 ( 1 ) , 혹은 흐르지 않는다 ( 0 )로 나온다.

 

입력이 X1, X2라고 하고, 결과가 Y라고 할 때,

 

 X1 * w1 + X2 * w2 θ 보다 크면 1, 작거나 같으면 0을 출력한다고 하자.

 

그럴 때,  θ (세타)를 임계값이라 하고, 

w1, w2를 가중치 (weight) 라고 한다.

 

 θ를 식에서 빼주어

 

X1 * w1 + X2 * w2 + b 가 0보다 크면 1, 0보다 작으면 0을 반환한다고도 할 수 있다.

 

이 때 b를 편향 ( bias )라고 한다.

 

우리는 이 식( 퍼셉트론 )으로 AND, OR, NAND을 x, y 그래프로 그릴 수 있지만, XOR은 그리지 못합니다.

 

이렇게 직선으로 표현 가능하면 선형, 불가능하면 비선형이라고 합니다.

 

이러한 문제를 우리는 여러 퍼셉트론을 합친 다층 퍼셉트론으로 해결가능합니다.

반응형

'Coding > DeepLearning' 카테고리의 다른 글

학습 관련 기술들 - 최적화  (0) 2020.03.10
오차역전파법 ( 내용 추가 중 )  (0) 2020.03.10
신경망 학습  (0) 2020.03.08
신경망 Neural network 이란? - 2  (0) 2020.03.07
신경망 Neural network 이란? - 1  (0) 2020.02.29

문자열 내에 원하는 문자 혹은 문자열이 포함되어 있는지 확인하는 함수이다.

 

ES6부터 지원한다하니 쓰기 전에 잘 확인해보시길

 

var original = "abcd" 내에 ab가 있는지 확인하려면

 

original.includes("ab");

 

이렇게하면 return 값이 있으면 true, 없으면 false로 반환한다.

 

 

반응형

얘도 매번 까먹어서 적어놓는다.

 

git add를 해서 stage에 파일들을 올려놓는데, 이때 가끔 잘못 올리는 경우가 허다하다.

 

이럴 때 

 

git reset을 해버리면 stage의 모든 내용을 내릴 수 있다.

 

혹은 원하는 파일만 내리려고할 땐,

 

git reset HEAD 파일명

 

이렇게 하면 된다.

반응형

'Coding > Git' 카테고리의 다른 글

Github 기존에 있던 프로젝트 github에 올리기  (0) 2020.02.27
git에 수정/추가된 코드를 올리는 법  (0) 2020.01.24
Github 시작하는법  (0) 2020.01.24

매번 할 때마다 까먹어서 저장용으로 올린다.

 

 

git remote add origin 자신이 올릴 깃 레파지토리 주소

 

git add .

(다 add 할거 아니면 add 할 파일만)

 

git commit -m "첫번째로 커밋할 내용"

물론 여기서 그냥 git commit해도 된다.

 

git push -u origin master

 

 

이렇게하면 끝,,,

 

제발 다음엔 안까먹길

 

반응형

'Coding > Git' 카테고리의 다른 글

git stage에 잘못 올린 것들 없애버리기  (0) 2020.02.27
git에 수정/추가된 코드를 올리는 법  (0) 2020.01.24
Github 시작하는법  (0) 2020.01.24

C++에서는 당연히 되서 javascript도 될거라 생각했는데 안되서 찾아보았다.

 

C나 C++에서는 a를 b로 바꾸려면 a+1을 해주면 알아서 변환되었다.

 

왜냐? 아스키 코드가 1차이나므로,,

 

하지만 javascript에서는 안된다,, 둘의 형이 다르다고,,,

 

그래서 ascii code로 변경해서 숫자로 저장한 뒤, 숫자에 더한 후 다시 문자로 변환해야한다,

 

심지어 이 과정에서 Number나 String 함수를 사용 못한다...

 

하지만 방법은 있다.

 

아스키 코드 (숫자)를 문자로 바꿀 때

 

 String.fromCharCode( 아스키 코드 값 );

 

을 하면 된다.

 

반대로 문자를 아스키 코드 값으로 바꿀 때 

 

var a = "a";

a.charCodeAt(0);

 

으로 바꾸면 된다. 

 

javascript에서는 문자열만 존재하여, charCodeAt에 들어가는 인자는 문자열의 인덱스라고 보면된다.

 

따라서 a.charCodeAt(0); 이라는 것은

 

a라는 문자열의 맨 앞글자를 아스키 코드로 바꾼다라고 보면 된다.

 

 

C++이 확실히 알고리즘 문제 풀기는 좋은거같다,,

반응형

알고리즘 문제를 푸는데, 숫자의 모든 자리의 수를 더하는 문제가 나왔다.

 

while(number > 0){
        sum+=number%10;
        number/=10;
    }

 

C++을 생각하고 이렇게 작성했는데, 문제가 발생했다.

 

C++은 자료형이 아예 정수형과 실수형이 나뉘어져있는데,

 

javascript는 둘의 구분이 없이 Number라는 자료형으로 통일되어 있어서, C++과 다르게 나누기를 하다보면,

정수에서 실수로 바뀌어서, 정확히 말하면 소수점이 발생하여 문제가 발생했다.

 

따라서 이 문제를 해결하기 위해서는 계산할 때, 소숫점을 버리면 문제가 해결되었다.

 

그 방법은

 

숫자를 var number = 1.6 이라고 하면

 

올림

Math.ceil(number)

= 2

 

내림

Math.floor(number)

= 1

 

반올림

Math.floor(number)

= 2

반응형

가장 간단한 방법은 +를 사용하는 것이다.

 

예를 들면 

 

"안녕"과 "하세요"를 합치고 싶다면

 

"안녕"+"하세요" 라고 사용하면 된다.

 

또 concat이라는 함수를 사용할 수 있는데,

 

"안녕".concat("하세요");

 

라고 한다면 합쳐진다.

 

var str1 ="안녕";

var str2="하세요";

 

라고 해서, 

str1 + str2;

str1.concat(str2);

이렇게해도 똑같이 이용된다.

 

그리고 기존의 배열에 새로운 배열을 합친 상태를 기존의 배열에 합치고 싶다면

 

str1 += str2;

str1 = str1.concat(str2);

 

이런식으로 사용하면 된다.

반응형

+ Recent posts