반응형

머신러닝 7

C# 머신러닝 프로젝트: NOCHES 멤버의 말투를 잡아라!

환영합니다, Rolling Ress의 카루입니다. ​ C# 으로 머신러닝 모델을 학습시킬 수 있다는 걸 알고.. 부리나케 준비했습니다. NOCHES 친구들과 함께 실험을 진행했는데, 확인해보시죠. Rolling Ress 실험 개요 ======================== 진행자: 카루 진행기관: Rolling Ress ​ 피실험자: ㄴ**, ㅂ**, ㅅ**, ㅅ**, ㅇ** ​ 실험 개요: - 머신러닝을 통한 기계의 언어 분류 - 피실험자의 NOCHES 카톡 데이터를 사용할 예정 ​ - 개인의 카톡 데이터를 학습시킨 뒤 임의의 문장을 넣었을 때 누구의 말투와 가장 비슷한지 알려줌 ​ 기대 효과: - 다른 멤버 말투 따라하기 전에 진짜 그 멤버 말투인지 검증 가능 ​ 피실험자 유의사항: 없음. 평소처럼..

[C# ML] C#으로 머신러닝 모델 구축하기 (ML.NET)

환영합니다, Rolling Ress의 카루입니다. import sklearn import tensorflow 보통 머신러닝과 딥러닝 학습을 할 땐 파이썬을 사용하죠. ​ 그런데 제 주력 언어는 C#입니다. (원래는 C++이었지만, 최근에 UWP 개발을 하면서 바뀌었어요...ㅎㅎ) 그런데 C#에서는 파이썬의 사이킷런과 텐서플로를 이용하기 힘들죠. 뭐, IronPython을 이용해서 편법을 쓸 수는 있어요. 그런데 C#에서는 dynamic으로 받아야 하고, 무엇보다 C#은 컴파일 언어인데 비해 파이썬은 인터프리터 언어라, 괴리감이 엄청납니다. 그래서 힘들더라고요. https://dotnet.microsoft.com/en-us/learn/ml-dotnet/get-started-tutorial/install M..

C# & .NET 2022.02.20

머신러닝&딥러닝 기초(5): 결정 트리, 교차 검증과 그리드 서치, 앙상블

이진 분류에는 트리가 제격이다. 두 가지의 애매한 것들이 있을 때, 이진 트리를 분류할 수 있다. 이때 트리는 위에서 아래 방향으로 진행되며, 조건식이 참인 경우 왼쪽으로, 거짓인 경우 오른쪽으로 진행된다. 보통 자료 저장용 트리의 경우엔 값이 작으면 왼쪽으로, 크면 오른쪽으로 저장된다. 그러나 머신러닝에서의 결정 트리는 약간 다르다. 지금 보면 트리 내부에 조건식이 하나 달려있다. 이것을 토대로 조건식이 참인 노드는 왼쪽으로, 거짓인 노드는 오른쪽으로 파생된다. gini는 gini impurity, 지니 불순도를 뜻한다. 음성 클래스 비율을 n, 양성 클래스 비율을 p라 할 때, 지니 불순도 g는 이렇게 계산할 수 있다. ​ 어느 한 쪽에 클래스가 치우칠수록 gini 불순도는 0에 가까워진다. 0에 도..

머신러닝&딥러닝 기초 (4): 머신러닝 기초 다지기

환영합니다, Rolling Ress의 카루입니다. ​ 눈이 아파요. target data에 둘 이상의 클래스가 포함된 것을 다중 분류(multiclass classification)라고 한다. 이것은 시그모이드 함수의 함수식이다. 수학시간에 노가다를 뛰었던... 그래프를 보면 알겠지만, 시그모이드 함수는 다음과 같은 성질을 갖는다. 이 함수는 양 끝 값(이란 건 없지만, 그래프에서 직관적으로 볼 수 있듯이)이 0과 1에 각각 수렴한다. 즉, 모든 실수를 0과 1 사이에 대응시킬 수 있다는 의미이다. 어쩌면 이걸 가지고 전체 실수의 개수와 (0, 1)의 실수의 개수가 같다는 걸 증명해도 되긴 하겠다. 뭐...그래. 아무튼, 치역이 (0, 1)이므로 (극한값까지 잘 응용한다면) 0~100%의 확률을 추출하는..

머신러닝&딥러닝 기초(3): 회귀분석

환영합니다, Rolling Ress의 카루입니다. 이번 글은 길어요. 회귀란, 두 변수 사이의 상관관계를 분석하는 것이다. 비례, 반비례, 뭐 여하튼 이런 관계가 있으면 한 변수에 대해 다른 변수의 값을 예측해볼 수 있다. 예를 들어, ​자, 자연수의 집합에서 정의된 함수 f를 위와 같이 정의하자. 정의역과 공역이 모두 자연수다. X가 1, 2, 3, 4, ...가 될 동안 Y는 2, 4, 6, 8, ...이 되어간다. 그럼 여기서 함수 f를 추론할 수 있다. 그렇다면 2, 4, 6, 8, 다음엔 뭐가 나올까? 간단하게 2, 4, 6, 8, 다음은 658임을 생각할 수 있다. 함수 y=f(x)의 함수식을 구해보면 위와 같이 나온다. 쉽다. ...는 사실 농담이었습니다. 콜록. ​ 아무튼, 저건 뭐 그냥 ..

머신러닝&딥러닝 기초(2): 머신러닝의 학습과 편향

환영합니다, Rolling Ress의 카루입니다. ​ 어제 좀 삼천포로 빠졌죠. 다시 마음 잡고. 머신러닝의 알고리즘은 supervised learning(지도 학습)과 unsupervised learning(비지도 학습)으로 구분된다. 지도 학습은 training data(훈련 데이터)가 필요한데, input(입력 데이터)과 target(타깃 정답)으로 구성된다. 그리고 각 요소를 구분해주는 것들을 feature이라고 한다. Supervised learning은 target을 '맞추는' 것을 목표로 학습한다. Unsupervised learning의 경우 target, 즉 정답이 없으므로 맞추는 게 아니라 데이터 파악 및 변형에 사용된다. 데이터를 구했는데 정답target이 없다면, 비지도 학습을 사용..

머신러닝&딥러닝 기초 (1): 머신러닝 기초를 배우며...

환영합니다, Rolling Ress의 카루입니다. ​ 이 카테고리는 제가 책을 읽으면서 내용을 정리하는 곳으로 쓸까 해요. 나중에 제가 다시 찾아볼 수 있게끔...사탐방 딱 대 남들이 설문돌릴 때 나는 코퍼스와 빅데이터로 승부한다 ​ 자, 시작하죠. 인공지능artificial intelligence의 정의는 단순하다. 인공적인 지능. 끝. ​ 그런데 그 뒤에는 훨씬 복잡한 것들이 자리하고 있다. 인공지능을 "어떻게" 만들 것인가? 인공지능은 그동안 발전을 거듭하며 마치 우리가 투자한 주식처럼 떡락과 떡상을 반복했다. ​ 인공지능에는 두 가지 종류가 있다. - 강인공지능(일반인공지능): 영화 속 인공지능. 인공지능이 정말 인간처럼 행동하는 것 - 약인공지능: 아직까지, 현실의 인공지능. 인간 보조 역할밖에..

반응형