2013년 12월 26일 목요일

m-cross validation

m-cross validation: 
m개의 subset으로 나누고, m-1개를 가지고 training, 나머지 1개로 validation
이것을 한번씩 번갈아 가며 수행하고, m번으로 평균을 계산한다.


이것을 하는 목적은, 해당 만들어낸 모델이 얼마나 데이터 셋과 무관하게 얼마나 잘 예측을 할 것인지 평가하기 위한 것이다. Predictive model이 실제 환경에서 얼마나 성능이 좋은지 보고자 하는 것. 

Overfitting

Overfitting문제: 

Supervised learning을 통해 만들어진 시스템이 학습 데이터 내에서는 데이터 분류를 매우 잘 하지만, 새로운 데이터에서는 그 분류 성능이 많이 떨어지는 상황을 말한다.

보통 그 이유는 학습을 너무 많이 했거나, 지나친 튜닝을 했거나, 데이터 셋이 편향되어 있거나 등이 있다. 데이터를 가지고 만든 모델과 시스템에서의 오버피팅은 어쩔 수 없는 문제.


따라서 가능한 많은 데이터를 가지고 학습을 하여 unseen data의 범위를 좁히거나, cross validation을 많이 하여 보다 general model을 도출하거나, 여러 개의 model을 가지고 비교하거나 하면된다.

2013년 2월 18일 월요일

플렉스터 m5 PRO 128G SSD 설치~

내 오래된 노트북에 새로운 뭔가가 필요하다고 생각되어
그렇게 소문이 대단한 SSD를 장만하게 되었다.


그게 바로 요놈. 플렉스터 M5 PRO 128G이다.
사실 나도 이 브랜드는 잘 모르지만 평이 괜찮고, 워런티 기간이 5년이라는 거에 귀가 팔랑팔랑대서 그만..


이게 개봉하고 난 뒤의 모습. 오른쪽의 때깔좋은 메탈재질의 썸띵이 바로 SSD

설치하는 건 생각보다 간단했다. 노트북 뒤판에 하드부분 나사만 풀고, hdd를 ssd로 바꿔주기만 하면되는거니까.

이게 장착된 모습. 디자인 잘빠졌다.

사용해보니 hdd보다 가벼움에 놀랐고, 조용한 것에 놀랐다.
그리고 성능도 괜찮은듯 하였으나...



거의 모든 영역에서 기준치의 반토막과 같은 모습이었다.
처음에는 내 SSD가 불량인가? 싶었지만 알고보니 내 노트북의 성능과 메인보드가 sata2 방식이기 때문이라는거 ㅠㅠㅠ

그렇지만 체감상으로는 굉장히 빠른것을 느꼈기에 만족하고 있다.
큰 탈이 없기를...

2012년 9월 12일 수요일

12/09/11

1.
임의 파일 하나 만들어서 트래커에 등록 후,
다른컴퓨터로 받아봄.

비공개형식으로하니 pex와 dht가 꺼지네. 조으다조으다

어떤트래커를 사용하냐에따라 연결하는데 까지 시간차이가 있는듯하다.

2.
일단 모두 덤프하는거 코딩
완전모두는아니고
컴퓨터 3대를 대상으로 해야하니까, 그 3대의 아이피만 골라서해야겠다.

3.
그리고나서 분석하는 코딩은......
자바로해야되나?
그냥 씨로해도되겠지. 몰라썅

2012년 9월 3일 월요일

OSI 7 계층과 특히 1, 2, 3, 4계층에 대해.

1 계층은 물리계층.
물리계층은 실질적으로, 물리적으로 연결된 선을 통해서 데이터를 주고받고한다.
각각 전선들의 물리적인 특성에 영향을 받으며, 속도에 따라 CAT1~6까지 있다.

2계층은 데이터링크계층.
상위계층에서 내려온 패킷에 MAC addr를 붙여 실질적인 다음행선지로 보내는 역할을 수행한다.

3계층은 네트워크계층.
원하는 목적지의 IP주소를 알아내어 상위계층에서 내려온 세그먼트에 IP와 관련된 헤더를 추가시킨다. 네트워크계층에서는 원하는 목적지로 가기위해 가장빠른 루트를 선택하는 라우팅 테이블을 작동시켜 저장한다. end-point가 물리적 패킷 전송을 담당한다.

4계층은 전송계층.
응용계층, 표현, 세션계층에서 내려온 응용프로그램을 구별하기 위해 port번호를 데이터에 추가시키고, 연결방식 tcp냐 udp냐를 선택해서 역시 데이터에 추가한다. 네트워크계층과는 다르게 논리적인 end-point가 연결을 담당한다.

567은 그냥 응용계층이라고 보면되고. 단순히 어플리케이션이 제공하는 인터페이스, 기본 프로토콜을 생각하면 된다.

그래서 패킷이 전달되는 과정을 생각해보면,
567계층에서 내려온 패킷에 목적지 응용프로그램에 맞는 포트번호와, 보내는포트번호(이것역시 응용프로그램에 맞거나 임의번호일 수 있다.)를 저장한다. 또한 연결지향이면 TCP 와 같은, 아니면 udp와 같은 프로토콜을 선택하여 필요한 데이터를 추가한다.

그리고 네트워크계층은 dns서버등을 이용하여 상대방의 IP주소를 알고, 현재 라우팅테이블을 가동하여 가장 최적의 경로를 계산한다. 그래서 그내용을 헤더에 추가하여 아랫단으로 보낸다.

데이터링크계층에서는 mac어드레스를 계산해야하는데, IP주소만으론 mac어드레스를 모르기때문에 ARP프로토콜을 이용해, 외부 네트워크망이라면, 라우터의 mac어드레스를 저장하여 라우터로 전송하는데 목표를 둔다. 그렇게 보내는 machine의 mac addr과 받는 machine의 mac addr를 저장하여 물리단으로 보내면 물리단은 해당 기계를 향하여 전송하게 된다.

중간에 스위치를 만나게되면, 스위치는 가지고 있는 라우팅 테이블에 mac주소와 연결된 포트번호가 있는데, 라우터 mac주소를 보게되면 라우터에 연결된 포트에 데이터를 보낸다. IP와 관련이 없다.

mac addr이란 랜카드의 물리적인 주소값으로, 대내외적으로 사용되는 IP와는 또다르다.
서브넷마스크란. 아이피주소는 네트워크 주소와 호스트주소로 구별할 수 있는데, 그것을 구별시켜주는 값을 서브넷마스크라 한다. 예를들어 C 클래스의 경우 서브넷마스크값이 255.255.255.0이라면 뒤 호스트주소만 마스킹되고 나머지는 원래 값을 유지하게 된다.
이걸 사용하는 이유는, 여러가지가 있겠지만, 낭비되는 IP를 방지하기 위한 이유도 존재한다.

2012년 8월 5일 일요일

BitTorrent bencode

metafile이나 통신시 문자열을 주고 받을 때, 바로 문자열을 주고 받는 방식이 아니라,
bencoded 된 문자열을 주고 받게 된다.

문자. String은 '문자열길이:문자열'로 나타내어 진다. 예를 들면 4:many, 7:evening 등
정수. integer는 'i십진수e' 형태. 예 i10e => 10,    i-30e => -30,     i0e => 0.
리스트. List 형태는 'l내용e' 로 이루어져 있는데, 예를 통해 보면,
 l3:man4:girli30ee => [man, girl, 30] 이라는 말
Dictionary. 리스트를 여러개 담을 수 있는 것.  d로 시작하며, e로 끝나고 다른건 같다.