분류없음

영단어 백업

2017.11.15 23:43

municipality 지방 자치제; 지방 자치제 당국

fruition 성과, 결실

tariff [테리프] 관세

outstrip 앞지르다

plead 애원하다

vindicate ~의 정당성을 입증하다, 오명을 씻다

trawl 대대적으로 조사하다, 샅샅히 흝다

desist 그만두다

breach 위반

envision 마음속에 그리다(상상하다)

hinder 저해하다, 을 못하게하다

maul (사람을 공격하여 살을 찢는) 상처를 입히다

reintroduce 재도입하다, 다시 들여오다

manoeuvre (조심해서 기술적으로 하는) 동작[움직임], 묘책

swing-by 행성 궤도 근접 통과

buffeting 난기류에 의한 항공기의 큰 진동

wobble 흔들리다, 흔들다, 떨다, 떨림

conceivably [컨시버블리] 상상컨대, 상상할 수 있는

scoop on someone (다른 사람이 모르는 정보를 줌)

give(take) a rain check 나중에 적당한 때로 연기하다

fend off ~을[~의 공격을] 막다   2. (질문·비난 등을) 막아내다[피하다]

busybody 참견하기 좋아하는 사람

inundate 1. 감당 못할 정도로 주다   2. 침수시키다

dystrophy 영양 실조[장애]

allegedly [알리젤리əlédʒidli] 주장한[전해진] 바에 의하면, 이른바

imperative 1. 반드시 해야 하는, 긴요한   2. 위엄 있는   3. 명령을 나타내는

i.e. = id est [읻 에스트] 즉, 바꿔 말하면

itty-bitty 아주 작은

AFAIK as far as i know

multivariate 다변수의, 다변량의

calculus 미적분학

prerequisites [|pri:|rekwəzɪt] 전제 조건

gradient 기울기, 경사도, 변화도

prime factor 소인수 (약수 중 소수인 것)

저작자 표시 비영리 변경 금지
신고
https://stackoverflow.com/questions/1088622/how-do-i-create-an-array-of-strings-in-c/1095006


2차원 배열 이용
char strs[string 갯수][string 길이 + 1];

// list init 가능
// char strs[string 갯수][string 길이 + 1] = { "가나다라", "마바사아", ... };

// loop 이용
for (int i = 0; i < 3; i++) {
	scanf("%s", &strs[i]);
	// strcpy(strs[i], strings);
}

printf("%s", strs[0]); // 처음 입력한 string 출력


또는 1차원 포인터 배열 이용
char *strs[string 갯수];
// list init 가능
// char *strs[string 갯수] = { "가나다라", "마바사아", ... };


또는 typedef 이용
typedef struct strs {
	char strs[255]; // 크기
}strs;

strs STRINGS[10]; // 10 strings 사용
scanf("%s", STRINGS[0].strs);
scanf("%s", STRINGS[1].strs);

printf("%s", STRINGS[1].strs);


저작자 표시 비영리 변경 금지
신고

다음 글을 읽어보면 프로젝트 템플릿과 코드 위저드가 변할 것을 알 수 있다.

https://blogs.msdn.microsoft.com/vcblog/2017/08/15/changes-to-project-templates-and-code-wizards-in-15-3/



C, C++ 등을 배우면서 콘솔 응용 프로그램을 만들 때 빈 프로젝트로 설정하는데

아래와 같이 하려면 어떻게 해야할까?




방법은 Windows 데스크톱 마법사로 프로젝트를 만드는 것이다.




Windows 데스크톱 마법사를 누르면 아래 사진처럼 창이 뜬다.

여기서 빈 프로젝트를 만들고 시작하면 끝



저작자 표시 비영리 변경 금지
신고



Medium freecodecamp의 Per Harald Borgen의 글을 바탕으로 합니다.

(링크: How to create a Neural Network in JavaScript in only 30 lines of code)



※ 필요한 것 (클릭 시 링크)

Synaptic.js (The javascript architecture-free neural network library for node.js and the browser)

Node.js


자바스크립트로 만들어 볼 간단한 신경망은 XOR 식을 푸는 신경망입니다.

예를 들어, (0, 1), (1,0) 을 입력하면 1, 나머지 (0, 0), (1, 1)을 입력하면 0


먼저, 아래 그림은 시그모이드(sigmoid) 뉴런을 표현합니다. (앞으로 만들 네트워크는 시그모이드 뉴런 이용 ReLU를 쓰고 싶지만)

(입력 받은 모든 값을 0과 1 사이 값으로 squash)



(입력 = 5, 출력 = 1, 화살표 = 시냅스, 갈색 -2 = bias, .파랑 7, 3 = weights

왜 5가 되냐면 두 개의 입력 0, 1을 자신의 weights와 곱해서 bias(-2)와 더하기 때문)

1 * 7 + 0 * 3 + (-2) = 5


코드


첫 번째로 해야 할 일은 레이어(layer)를 만드는 작업입니다. 이것은 synaptic.js를 이용하면 new Layer()로 만들 수 있습니다.

이 함수에 입력하는 수는 각 레이어가 얼만큼의 뉴런을 가질 지를 결정합니다.


먼저 synaptic.js를 사용할 준비를 하고

// init
var synaptic = require('synaptic');
var Neuron = synaptic.Neuron,
	Layer = synaptic.Layer,
	Network = synaptic.Network,
	Trainer = synaptic.Trainer,
	Architect = synaptic.Architect;


아래와 같이 레이어를 만들어 줍니다. (입력 뉴런 2개, 히든 뉴런 3개, 결과 뉴런 1개)

// layers
var inputLayer = new Layer(2);
var hiddenLayer = new Layer(3);
var outputLayer = new Layer(1);


그 다음, 이 레이어들을 연결하고 새 네트워크를 instantiate 하는 방법은 아래와 같습니다.

inputLayer.project(hiddenLayer);
hiddenLayer.project(outputLayer);

var myNetwork = new Network({
	input: inputLayer,
	hidden: [hiddenLayer],
	output: outputLayer
});


이제 아래와 같은 코드로 네트워크를 2만 번 훈련 시킬 수 있습니다.

// train the network - learn XOR
var learningRate = .3;
for (var i = 0; i < 20000; i++) {
  // 0,0 => 0
  myNetwork.activate([0,0]);
  myNetwork.propagate(learningRate, [0]);
  // 0,1 => 1
  myNetwork.activate([0,1]);
  myNetwork.propagate(learningRate, [1]);
  // 1,0 => 1
  myNetwork.activate([1,0]);
  myNetwork.propagate(learningRate, [1]);
  // 1,1 => 0
  myNetwork.activate([1,1]);
  myNetwork.propagate(learningRate, [0]);
}


activate 함수는 forward propagation, 즉 값을 네트워크에 보내 활성화 시킵니다.

forward propagation을 할 때마다 weight와 bias를 업데이트해야 하는 데 즉, backpropagation을 해줍니다.


backpropagationpropagate 함수를 이용합니다.

사용 방법은 learningRate(매 번 얼만큼 weight를 조정 해야 하는 지)와 [0]과 [1] 처럼

입력 받은 값의 올바른 결과를 알려줍니다. (예를 들어 [0,1] = [1])


이제 테스트 해보는 방법은 아래와 같습니다.

console.log(myNetwork.activate([1,1]));


위 코드를 입력하면 약 0에 가까운 수가 나오고 [0,1]을 보내면 약 1에 가까운 수가 나옵니다.


첨부 파일은 코드입니다. 실행은 node *.js 로 하세요.

XOR_equation.js

코드 보기






저작자 표시 비영리 변경 금지
신고



새로운 느낌이 들고 오랜만에 해보니 재미도 조금 있었다.

몇몇 옵션이 저장이 잘 안되는 것 같다. (그래픽 설정, 멀티 맵 필터 설정)

맵 에디터 그래픽은 리마스터 상태가 아니다.

멀티에서 같은 방을 들어가기 어렵다.




저작자 표시 비영리 변경 금지
신고

티스토리 툴바