기본 콘텐츠로 건너뛰기

머신러닝에 전반적인 개요

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


텐서플로우 강좌

파이썬 강좌

딥러닝 기초 강의 사이트


요기 좀 괜찮음 



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)

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

댓글

이 블로그의 인기 게시물

웹 개발하면서 보안을 유지하기 위한 기본지식

몇개월전에 만들었던 웹기반 (HTML5, CSS3, Flash Player(VideoJS)) VOD플레이어에서 보안이슈가 발생했다. 웹또한 서버를통해 통신을하지만 사용자의 PC에서 실행되는만큼 클라이언트의 개념이 있으며 Javascript 야말로 클라이언트에서 작업하게 되는 영역이라는 점에서 보안상에 이슈 발생.  이유인즉슨  무료로 제공되고 있는것과 유료로 제공되고있는 서비스에 대하여  javascript 단에서 서비스 허용여부를 결정하게될경우  해킹을 통해 이부분을 우회하여 서비스이용이 가능했다는점.. 모든 인증이나, 중요데이터는 java 로 코딩해서 서버단에서 결단이 나도록 했어야했는데 이건 너무 기본적이면서도 아쉬운 실수를 저지르고 말았다..  하하..  많은 분들이 이런 부분을 간과할수도있을듯하여 작성해봅니다.  요즘 보안이슈가 많을탠데 모두들 보안 화이팅 ! 

Android 스마트폰 기본 웹브라우저(Chrome:크롬) 호출하는 스키마(URL Scheme)

신용카드결제 페이지 주소를 카톡으로 던졌을때 카톡 내부에서 결제가 이루어지다보니 결제완료까지 정상적으로 처리되지 않는 경우가 발생한다더라 그래서 생각해본게.. 1) 카카오통 채팅방  2) 링크 전송  3) 링크를 클릭하면 스마트폰애 내장된 웹브라우저를 실행하는 URL스키마 실행  4) 실행된 웹브라우저에서 결제페이지로 이동 이 절차를 거치면 카톡 외부로 나와서 독립적인 웹브라우저상에서 결제를 진행하기때문에 정상처리가 가능할것이라고 판단 찾다 찾다가.. 알아낸것이 안드로이드 (가능) - 롤리팝부터 크롬 브라우저가 기본앱이다 - 크롬을 호출방법 intent://www.naver.com#Intent;scheme=http;package=com.android.chrome;end  아이폰 (조건부 가능) - 사파리를 호출하는 앱스키마가 없으며, 사파리를 통해서 검색어를 입력한 검색기능만 가능 - 크롬브라우저 앱이 설치되어있을경우 아래와같이 호출 가능 googlechrome:////www.naver.com <사용법> < html > < body > < script >      var currentOS = "else" ;      var mobile = ( /iphone | ipad | ipod | android/ i .test(navigator.userAgent.toLowerCase()));      if (mobile) {          var userAgent = navigator.userAgent.toLowerCase();          if (userAgent.search( "android" ) > - 1 )             currentOS = "android" ;          else if

tomcat 80포트 사용설정 및 GET방식 인코딩설정

톰캣 7.0 기준 server.xml 원본에 작성되어있는 내용중에서 아래와같은 내용이있다. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />   1. 80포트 사용설정 외부에서 웹서버에 접근했을때 주소뒤에 www.xxx.com:8080   처럼 8080포트를 쓰지않는 방법은 두가지가 있는것같다.    - 첫번째 방법 - server.xml 수정 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />    - 두번째방법은 내가 작성한 리눅스 iptable를 수정하는것. 80포트로 들어온내용을 8080으로 리다이렉트시켜서 톰캣설정 변견없이 작동하게하는것이다. http://blog.naver.com/cyk7890/40189933263   2. GET 방식 한글인코딩 설정 - URIEncoding="UTF-8" 추가 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true" />