기본 콘텐츠로 건너뛰기

머신러닝에 전반적인 개요

머신러닝이라는게 뭔가.. 이해해보고자 
여기저기서 조사한 자료를 나름대로 모아서 정리해봤습니다 
뭐.. 약간에 참고가 되길 바라며 ~


텐서플로우 강좌

파이썬 강좌

딥러닝 기초 강의 사이트


요기 좀 괜찮음 



1. 머신러닝 ( = 기계학습)
     인공지능의 한 분야, 컴퓨터가 학습할 수 있는 알고리즘과 기술을 개발하는 분야
     - 키워드 : 표현, 일반화
     - 표현(representation) : 데이터 평가
     - 일반화(generalization) : 데이터 처리



2. 학습 유형
     기. 비지도 학습 (Unsupervised Learning)
          1) 설명
               - 입력값에 대한 목표치가 주어지지 않는다.
               - 통계학의 밀도추정(Density Estimation)과 연관이 있으며, 데이터의 주요 특징을 요약하고 설명 할 수있게 된다. 

     나. 지도 학습 (Supervised learning)
          1) 설명
               - 훈련 데이터로 부터 "하나의 함수”를 유추해 내기 위한 머신러닝(기계학습)의 한 방법
               - "A @ B # C = Y” 처럼 (A, B, C) 와같은 변수와 (Y)라는 결과값(lable)이 대량 존재할때
                 위 훈련데이터(Training Data Set)를 사용해서 학습 시킴으로써
                 @와 #이 어떤 관계를 갖는지 "함수를 유추”하는것을 지도학습이라고 한다.
               - 위에서 유추한 함수를 사용하여 예측하고자 하는 A, B, C 값을 대입 했을때 결과값 Y를 추출해 낼 수 있다.

          2) 알고리즘 종류
               - Support vector machine (서포트 벡터 머신)
               - Hidden Markov model (은닉 마르코프 모델)
               - Regression (회귀 분석)
               - Neural network (신경망)
               - Naive Bayes Classification (나이브 베이즈 분류)

          3) 평가
            모델링 -> 훈련 -> 평가 ( 정밀도(Precision), 재현율(Recall) )
         

     다. 준 지도 학습 (Semi-Supervised Learning)
          1) 설명
               - 목표값이 표시된 데이터와, 표시되지 않은 데이터를 모두 훈련에 사용
               - 목표값이 표시된 데이터가 적고, 표시되지 않은 데이터를 많이 갖는 훈련데이터일 경우 사용
               - 비지도학습에 비해 시간과 비용을 절약하고 정확성을 높일 수 있다. 

           2) 접근방향
               - 특징점과 목표값의 결합분포를 모델링하고, 목표값이 없는 데이터에 대해서는 목표값을 "잃어버린 데이터"로 처리
               - 기댓값 최대화 알고리즘(EM알고리즘) 에 대입하여 최대가능도를 구한다. 

     라. 강화 학습 (Reinforcement Learning)
          1) 설명
               - 어떤 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취할경우, 에이전트는 환경으로부터 포상(양수/음수)을 얻게된다.
               - 에이전트가 앞으로 누적될 포상을 최대화 하는 일련의 행동으로 정의되는 정책을 찾는것이 강화 학습니다.          
               - 장/단기 포상 간에 트레이드오프(=선택에 의한 손익)가 존재하는 문제를 다루는데 적합 (엘리베이터 스케쥴링, 통신망, 체스 등)

     마. 심화 학습 (Deep Learning)
          1) 설명
               - 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 머신러닝 알고리즘의 집합
               - 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야
               - 훈련데이터가 있을경우 컴퓨터가 이해할 수 있는 형태(이미지의 경우 픽셀정보를 열벡터로 표현)로 표현하여 학습
               - 음성인식, 영상인식, 자연어 처리, 약물 발견과 독성학, 고객 관계 관리 등에 적용
     
          2) 알고리즘 종류
               - Neural Networks (신경망)
               - DNN (Deep Neural Networks : 심층 신경망) 
               - CNN (Convolutional Neural Networks : 합성곱 신경망)  ★
               - RNN (Recurrent Neural Network : 순환 신경망) ★
               - RBM (Restricted Boltzmann Machine : 제한 볼츠만 머신)
               - DBN (Deep Belief Networks : 심층 신뢰 신경망)
               - DQN (Deep Q-Networks : 심층 Q-네트워크)

          3) 참조
               - 디스트빌리프(2011) -> 텐서플로(2015)

               - 디스트빌리프
                : 2011년 구글브레인팀에서 만든 첫번째 머신러닝 시스템
                : 검색, 음성검색, 광고, 구글포토, 구글맵스, 스트리트뷰, 번역, 유투브 등 실 서비스에 디스트빌리프의 딥러닝뉴럴네트워크가 적용

               - 텐서플로     
                : 2015년 구글브레인팀에서 만든 두번째 머신러닝 시스템 (Android, IOS, 64bit Linux, OS X 지원)
                : 텐서플로 연산은 상태를 가지는 데이터 흐름 유향그래프로 표현된다. 

               - 켄쇼(Kensho)
                






所谓的赛车跑法是什么? 想了解一下 

我们整理好各地调查资料,整理好了自己的资料 

什么...希望能稍作参考~





텐서讲座

http://learningtensorflow.com/index.html



파이썬讲座

https://wikidocs.net/2



深度学习基础讲义网站

http://hunkim.github.io/ml/



http://sanghyukchun.github.io/57/



聊以充饥 

http://newsight.tistory.com/68





1.机械跑步(=机器学习)

人工智能领域,开发计算机学习的算法和技术的领域.

-关键词:表现,普通话

-表现(representation):数据评价

-一般化(generalization):数据处理





2.学习型模式

元气비지도(Unsupervised Learning)

1)说明

-对于输入值的目标值不设定目标值,您怎么看?

-与统计学的密度推定(Density Estimation)有关联,可以简要地概括数据的主要特征。 



我。 指导学习(Supervised learning)

1)说明

-从训练数据中抽取"一种函数"的机器跑机(机械学习)的一种方法

-如"A@B#C"和"Y"一样(A,B,C)等变数和(Y)这种결과값(Y)的lable

用上面地训练数据(Training Data Set)来学习

@和#有何关系,"类首推首"叫做指导学习。

-在使用上面的函数进行推测的函数,在想要进行预测的A、B、C的时候,可以提取出결과값Y。



2)算法类

-Support vector machine(支持方向)

-Hidden(藏青色)

-Regression(回归分析)

-Neural(神经网)

-Naive Bayes(나이브베이즈分类)



3)评价

面试->训练->评价(Precision),重现率(Recall)





全部。 教导主任学习指导(Semi Learning)

1)说明

-用于显示目标值的数据和未标注的数据全都用于训练

-显示目标值的数据较少、未标注的数据较多时使用的数据

-与비지도学习相比,可以节省时间和费用,提高准确性。 



2)接近方向

-将특징점和目标值的结合分布在一起,对于没有目标值的数据,将目标值定为"丢失的数据"。

-进入기댓값最大化算法(EM搜寻算法),寻找最大的可能性。 



라. 强化学习(Reinforcement Learning)

1)说明

-探索某种环境的经纪人认识到目前的状态,采取某种行动时,经理会从环境中获得褒奖(양수/负数)。

-您将采取一系列措施,以使经纪人今后将累计的奖金变成最大化的一系列行动,从而寻求更多的政策。 

-장/短期奖励之间存在问题(选择通过选择的损益)存在问题(电梯스케쥴링、通信网、国际象棋等)



山药 深入学习(Deep Learning)

1)说明

-通过비선형변환技法的组合,试图实现高水准的抽象画法的集合

-사람의사고방식을컴퓨터에게가르치는기계학습의한분야

-如有训练数据,可将电脑所理解的形态(以图片为例)表现为"以牙还牙",以此来学习。

-适用语音识别、影像识别、자연어处理、药物发现、毒性、客户关系管理等



2)算法类

-Neural(神经网)

-DNN(Deep Neural Networks:Deep신경망)) 

-美国有线新闻网(CNN)Networks:(합성곱Neural)】★神经网(Convolutional신경망)。

-RNN(Recurrent Neural Network:循环神经网)★

-RBM(Restricted Boltzmann Machine:제한머신)

-DBN(Deep Belief Networks:深层信任神经网)

-DQN(Deep Q-Networks:深层Q-网络)



3)参考

-디스트belif(2011)->텐서(2015)



-디스트belif

:2011年在谷歌Brain King创建的第一个机器跑步系统

:搜索、语音搜索、广告、Google포토、谷歌地图、街景、翻译、YouTube等服务应用于디스트的深度学习



-텐서 

:2015年谷歌大脑团队研制的第二个机器跑步系统(Android,IOS,64 bit Linux,OS X)

:텐서演算采用了状态保持状态的数据流흐름。 

댓글

이 블로그의 인기 게시물

리눅스 부팅시 스크립트 실행하기

서버를 끄고 켤때  실행되어야할 명령 혹은 프로세스들이 있을것이다. 이것들을 서버를 켜고 매번 직접 실행시켜준다면 누락의 위험도 잇고.. 번거롭기도 하고  그리하여  윈도우즈에서 시작프로그램에 등록하면 컴퓨터가 다 켜졌을때 알아서 실행해주듯이 리눅스에도 이와같은 기능이 있다.  ============================================================= 기본배경지식 리눅스는 부팅이되면서  런레벨에 맞는 작업을 수행하며  각 런레벨의 작업은 아래와 같이 분리된다.  /etc/rc.d/rc0.d           runlevel 0 /etc/rc.d/rc1.d             runlevel 1 /etc/rc.d/rc2.d             runlevel 2 /etc/rc.d/rc3.d             runlevel 3 /etc/rc.d/rc4.d             runlevel 4 /etc/rc.d/rc5.d             runlevel 5 /etc/rc.d/rc6.d             runlevel 6 /etc/rc.d/rc.local         모든 부팅작업이 완료된 다음 마지막에 수행  ============================================================= 부팅시 스크립트 실행하기  방법 1. 난이도 (하),  rc.local 에 등록하기. rc.local 을 편집기로 열어서  vi  /etc/rc.d/rc.local    실행하고자 하는 스크립트를 작성  톰캣을 실행한다고 했을때 예제 : su - root -c /tomcat/bin/startup.sh  위에서 root 부분은 사용자계정으로 실행하고싶을 시 사용자계정을 적용해주면 되고.. 뒤에 톰캣 startup.sh 경로는 본인에 상황에 맞는 경로로 ~  방법 2. 난이도 (중) 서비스로 등록하기  방법2는 .. 조금 내용도 길고 이해가 필요하므로 잘 정리되어있는 이곳을 참조하자.  http

Redhat 7, CentOS 7 이상버전의 locale 설정 (언어설정)

레드햇과, 센트오에스 6점대 버전까지는 /etc/sysconfig/i18n 이곳에 인코딩설정을 해서 처리했었지만 7부터는 i18n을 사용하지 않는다. 필요할법한 명령어들을 정리해봤으니 참고해서 사용하면 되겠다. 1. 현재 언어셋팅상태 확인 env |grep -e LANG -e LC 또는 locale 2. 시스템에서 지원 가능한 캐릭터셋 확인 localectl list-locales 3. 콘솔명령어를 통해 locale설정 변경 localectl set-locale LANG={적용할 캐릭터셋} ex) localectl set-locale LANG=ko_KR.euckr 4. 캐릭터셋 수동설정 vi /etc/locale.conf 로 파일을 연다음 아래 내용을 작성 LANG={적용할 캐릭터셋} ex) LANG=ko_KR.euckr 설정 완료후 재부팅시 locale명령을 통해 원하는 캐릭터셋이 유지되는지 확인

vscode (visual studio code) 한글 인코딩 설정

1. 파일 -> 기본설정 -> 설정 에서 나오는 설정화면 우측에 아래 두개 내용을 추가 "files.encoding" : "EUC-KR" , "files.autoGuessEncoding" : true 위에는 항상 EUC-KR 로 인코딩하겠다는 기본설정을 바꾸는 내용이며 아래는 현재 파일에 알맞은 인코딩을 알아서 찾겠다는 내용이라고 한다 끝 !