大數據-----大數據-機器學習-人工智慧

来源:https://www.cnblogs.com/baijindashuju/archive/2019/05/13/10857551.html
-Advertisement-
Play Games

1.大數據與機器學習的關係: 大數據領域我們做的是數據的存儲和簡單的統計計算,機器學習在大數據的應用是為了發現數據的規律或模型,用機器學習演算法對數據進行計算的到的模型,從而決定我們的預測與決定的因素(比如在大數據用戶畫像項目里,生成的特殊用戶欄位)。 2.大數據在機器學習的應用 目前市場實際開發模式 ...


1.大數據與機器學習的關係:

大數據領域我們做的是數據的存儲和簡單的統計計算,機器學習在大數據的應用是為了發現數據的規律或模型,用機器學習演算法對數據進行計算的到的模型,從而決定我們的預測與決定的因素(比如在大數據用戶畫像項目里,生成的特殊用戶欄位)。

2.大數據在機器學習的應用

目前市場實際開發模式中,應該在大數據哪一個階段層次應用到機器學習的相關技術呢,我們接下來來說明,首先目前大數據的架構模式列舉如下幾個

    2.1數據採集(ftp、socket)---數據存儲(hdfs)---數據清洗(MapReduce)----數據分析(hive)---sqoop導入-----存儲(mysql、oracle)---web顯示

    2.2數據採集(ftp、socket)---數據存儲(hdfs)---數據清洗(MapReduce)---列式資料庫存儲(hbase)-----thrift(協處理器)---web顯示

    2.3數據採集(ftp、socket)---數據存儲(hdfs)---數據清洗(MapReduce)----數據分析(hive)----impala(實時數據分析)---jdbc-----web顯示

    2.4數據採集(ftp、socket)---數據存儲(hdfs)---spark計算-----存儲(mysql、oracle)---web顯示

整體在開發完成後用分散式任務調度系統(azkaban、oozie)對以上架構進行周期運行計算。

而機器學習在大數據的應用階段為:數據分析(hive)--- 機器學習----sqoop導入、列式資料庫存儲(hbase)---- 機器學習------thrift(協處理器)

總結在大數據架構中,機器學習處於上層階段,在大數據進行計算之後向最終儲存或者直接web展現的時候需要機器學習來產生一個決策與預測的模型。

3.機器學習

    3.1機器學習的理論在1950年就已經提出,但是因為數據量的存儲機制落後,演算法結合度低下,以及我們對於數據處理速度的低下導致一直不能把技術落地,而在科技高速發展的今天,因為以上技術困境的解除,導致機器學習向陽而生,從而被廣泛應用,改變了人們的生活,

    3.2 機器學習是多領域交叉學科,涉及概率論、統計學、逼近學、凸分學、演算法複雜度理論等多門學科,專門電腦器怎樣模擬實現人類的學習行為,獲取行的知識和技能,然後重新改變已經有的知識結構來提高完善自身的性能。

    3.3 機器學習(ML)與人工智慧(AI)的關係:它是人工智慧的核心,是使電腦擁有智能的根本途徑,它的應用遍佈人工智慧的各個領域,它主要使用歸納、總和而不是演繹。

    3.3 機器學習的學習動作:針對經驗E(experience)和一系列任務T(tasks)和一定表現的衡量P,如果經驗E的積累,針對定義好的任務T可以提高表現P,就說明有學習能力。

    3.4 機器學習的應用:語音識別、自動駕駛、語言翻譯、推薦系統、無人機等等

    3.5 機器學習與深度學習的關係:深度學習是實現機器學習的一種技術深度學習使得許多機器學習應用得以實現,並拓展了人工智慧的整個領域。深度學習一一實現了各種任務,並使得所有的機器輔助變成可能。無人駕駛汽車、電影推薦等,都觸手可及或即將成為現實。人工智慧就在現在,也在未來。有了深度學習,人工智慧可能甚至達到像我們暢想的科幻小說一樣效果。

( 更簡單理解)人工智慧是祖輩,機器學習是父輩,深度學習是兒子輩!

    3.6 機器學習的運行方式:我們知道程式處理是由CPU(中央處理器)來計算運行的,但是目前我們開發應用中機器學習的計算大部分(深度學習)是通過GPU(圖形處理器)來計算運行的

    3.7 機器學習的概念:

    3.7.1 基本概念:訓練集,測試集,特征值,監督學習,非監督學習,半監督學習,分類,回歸

    3.7.2 概念學習:人類學習概念(如嬰兒):鳥,狗;車,房子;黑匣子和電腦 (怎麼認識和區分?)定義:概念學習是指從有關某個布爾函數(是或否)的輸入輸出訓練樣例中推斷出該布爾函數

    3.7.3 數據集:真實數據集

    3.7.4 行:樣本數據

    3.7.5 列:特征或者數據數據

    3.7.6 特征向量:每一個樣本中的數據組成的向量

    3.7.7 屬性空間:屬性章程的空間

    3.7.8 訓練集:用於模型訓練的數據集

    3.7.9 測試集:用於校驗模型的優劣程度

    3.7.10 訓練過程:(學習過程)使用訓練數據集+機器學習演算法==》模型

    3.8 監督學習:

監督(supervised)是指訓練數據集中的每個樣本均有一個已知的輸出項(類標label)

輸出變數為連續變數的預測問題稱為 回歸( regression )問題

回歸演算法:

• 簡單線性回歸

• 多元線性回歸

• Lasso回歸

• Ridge回歸

• ElasticNet

輸出變數為有限個離散變數的預測問題稱為 分類問題

分類演算法:

• 簡單線性回歸

• 多元線性回歸

• Lasso回歸

• Ridge回歸

• ElasticNet

    3.9 非監督學習:

人們給機器一大堆沒有分類標記的數據,讓機器可以對數據分類、檢測異常等。

聚類(KMeans)

 

降維(PCA,LDA)

薦一個大數據學習群 142974151每天晚上20:10都有一節【免費的】大數據直播課程,專註大數據分析方法,大數據編程大數據倉庫,大數據案例,人工智慧,數據挖掘都是純乾貨分享, 

    3.10 半監督學習:

半監督學習就是提供了一條利用“廉價”的未標記樣本的途徑

 

    3.11 強化學習:

是機器學習的一個重要分支,主要用來解決連續決策的問題。

圍棋可以歸納為一個強化學習問題,需要學習在各種局勢下如何走出最好的招法。

 

    3.12 遷移學習:

應用場景:

小數據的問題。比方說新開一個網店,賣一種新的糕點,沒有任何的數據,就無法建立模型對用戶進行推薦。但用戶買一個東西會反映到用戶可能還會買另外一個東西,所以如果知道用戶在另外一個領域,比方說賣飲料,已經有了很多很多的數據,利用這些數據建一個模型,結合用戶買飲料的習慣和買糕點的習慣的關聯,就可以把飲料的推薦模型給成功地遷移到糕點的領域,這樣,在數據不多的情況下可以成功推薦一些用戶可能喜歡的糕點。這個例子就說明,有兩個領域,一個領域已經有很多的數據,能成功地建一個模型,有一個領域數據不多,但是和前面那個領域是關聯的,就可以把那個模型給遷移過來。

個性化的問題。比如每個人都希望自己的手機能夠記住一些習慣,這樣不用每次都去設定它,怎麼才能讓手機記住這一點呢?其實可以通過遷移學習把一個通用的用戶使用手機的模型遷移到個性化的數據上面。

4.學習機器學習應該具備哪些知識

    4.1對概率要有基本瞭解,

    4.2瞭解微積分和線性代數的基本知識,

    4.3 掌握Python編程或者R語言編程(在公司企業開發常用Python來完成機器學習數據挖掘、在學術界用R語言來完成機器學習數據挖掘)

在企業中要求我們要達成的目標是:掌握機器學習演算法和應用框架通過分類及回歸來解決實際問題。

機器學習對應的職位:數據挖掘(用戶畫像方向)、NLP(自然語言處理)、推薦系統(推薦演算法、排序演算法)、計算廣告(CTR預估)、電腦視覺(深度學習)、語音識別(HMM,深度學習)註意:這些職位的前提是要有大數據開發相關經驗。

5.常用的十個機器學習的演算法

    5.1機器學習演算法通常可以被分為三大類 —— 監督式學習,非監督式學習和強化學習。監督式學習主要用於一部分數據集(訓練數據)有某些可以獲取的熟悉(標簽),但剩餘的樣本缺失並且需要預測的場景。非監督式學習主要用於從未標註數據集中挖掘相互之間的隱含關係。強化學習介於兩者之間 —— 每一步預測或者行為都或多或少有一些反饋信息,但是卻沒有準確的標簽或者錯誤提示。

    5.2決策樹:決策樹是一種決策支持工具,它使用樹狀圖或者樹狀模型來表示決策過程以及後續得到的結果,包括概率事件結果等。請觀察下圖來理解決策樹的結構。

 

 

從商業決策的角度來看,決策樹就是通過儘可能少的是非判斷問題來預測決策正確的概率。這種方法可以幫你用一種結構性的、系統性的方法來得出合理的結論。

    5.3 朴素貝葉斯分類器:朴素貝葉斯分類器是一類基於貝葉斯理論的簡單的概率分類器,它假設特征之前是相互獨立的。下圖所示的就是公式 —— P(A|B)表示後驗概率,P(B|A)是似然值,P(A)是類別的先驗概率,P(B)代表預測器的先驗概率。

 

現實場景中的一些例子包括:

檢測垃圾電子郵件
將新聞分為科技、政治、體育等類別
判斷一段文字表達積極的情緒還是消極的情緒
用於人臉檢測軟體
    5.4 隨機森林

在源數據中隨機選取數據,組成幾個子集

 

S 矩陣是源數據,有 1-N 條數據,A B C 是feature,最後一列C是類別

 

由 S 隨機生成 M 個子矩陣

 

這 M 個子集得到 M 個決策樹
將新數據投入到這 M 個樹中,得到 M 個分類結果,計數看預測成哪一類的數目最多,就將此類別作為最後的預測結果

 

    5.5 邏輯遞歸

當預測目標是概率這樣的,值域需要滿足大於等於0,小於等於1的,這個時候單純的線性模型是做不到的,因為在定義域不在某個範圍之內時,值域也超出了規定區間。

 

所以此時需要這樣的形狀的模型會比較好

 

那麼怎麼得到這樣的模型呢?

這個模型需要滿足兩個條件 大於等於0,小於等於1
大於等於0 的模型可以選擇 絕對值,平方值,這裡用 指數函數,一定大於0
小於等於1 用除法,分子是自己,分母是自身加上1,那一定是小於1的了

 

再做一下變形,就得到了 logistic regression 模型

 

通過源數據計算可以得到相應的繫數了

 

最後得到 logistic 的圖形

 

    5.6 SVM

support vector machine

要將兩類分開,想要得到一個超平面,最優的超平面是到兩類的 margin 達到最大,margin就是超平面與離它最近一點的距離,如下圖,Z2>Z1,所以綠色的超平面比較好

 

將這個超平面表示成一個線性方程,線上上方的一類,都大於等於1,另一類小於等於-1

 

點到面的距離根據圖中的公式計算

 

所以得到 total margin 的表達式如下,目標是最大化這個 margin,就需要最小化分母,於是變成了一個優化問題

 

舉個慄子,三個點,找到最優的超平面,定義了 weight vector=(2,3)-(1,1)

 

得到 weight vector 為(a,2a),將兩個點代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,進而得到超平面的表達式。

 

a 求出來後,代入(a,2a)得到的就是 support vector

a 和 w0 代入超平面的方程就是 support vector machine

    5.7 K最鄰近

k nearest neighbours

給一個新的數據時,離它最近的 k 個點中,哪個類別多,這個數據就屬於哪一類

慄子:要區分 貓 和 狗,通過 claws 和 sound 兩個feature來判斷的話,圓形和三角形是已知分類的了,那麼這個 star 代表的是哪一類呢

 

k=3時,這三條線鏈接的點就是最近的三個點,那麼圓形多一些,所以這個star就是屬於貓

 

    5.8 K均值

想要將一組數據,分為三類,粉色數值大,黃色數值小
最開心先初始化,這裡面選了最簡單的 3,2,1 作為各類的初始值
剩下的數據里,每個都與三個初始值計算距離,然後歸類到離它最近的初始值所在類別

 

分好類後,計算每一類的平均值,作為新一輪的中心點

 

幾輪之後,分組不再變化了,就可以停止了

 

 

    5.9 Adaboost

adaboost 是 bosting 的方法之一

bosting就是把若幹個分類效果並不好的分類器綜合起來考慮,會得到一個效果比較好的分類器。

下圖,左右兩個決策樹,單個看是效果不怎麼好的,但是把同樣的數據投入進去,把兩個結果加起來考慮,就會增加可信度

 

adaboost 的慄子,手寫識別中,在畫板上可以抓取到很多 features,例如 始點的方向,始點和終點的距離等等

 

training 的時候,會得到每個 feature 的 weight,例如 2 和 3 的開頭部分很像,這個 feature 對分類起到的作用很小,它的權重也就會較小

 

而這個 alpha 角 就具有很強的識別性,這個 feature 的權重就會較大,最後的預測結果是綜合考慮這些 feature 的結果

 

    5.10 神經網路

Neural Networks 適合一個input可能落入至少兩個類別里

NN 由若幹層神經元,和它們之間的聯繫組成 第一層是 input 層,最後一層是 output 層

在 hidden 層 和 output 層都有自己的 classifier

 

input 輸入到網路中,被激活,計算的分數被傳遞到下一層,激活後面的神經層,最後output 層的節點上的分數代表屬於各類的分數,下圖例子得到分類結果為 class 1

同樣的 input 被傳輸到不同的節點上,之所以會得到不同的結果是因為各自節點有不同的weights 和 bias

這也就是 forward propagation

 

    5.11 馬爾可夫

Markov Chains 由 state 和 transitions 組成

慄子,根據這一句話 ‘the quick brown fox jumps over the lazy dog’,要得到 markov chain

步驟,先給每一個單詞設定成一個狀態,然後計算狀態間轉換的概率

 

這是一句話計算出來的概率,當你用大量文本去做統計的時候,會得到更大的狀態轉移矩陣,例如 the 後面可以連接的單詞,及相應的概率

 

生活中,鍵盤輸入法的備選結果也是一樣的原理,模型會更高級

 

 

6.人工智慧(AI)

6.1經過預測分析,按照目前的人工智慧發展速度,在未來十年內我們會有40%的人會被人工智慧所取代,有一些行業被取代的比例是很高的,比如:翻譯、記者、助理、保全、司機、銷售行業、客服、交易員、會計、保姆等等,站在技術角度不考慮社會政策的前提下,那些平時工作性質是簡單重覆的崗位(這裡的簡單重覆已經不是指工作操作層面而是指工作邏輯層面),是必然會被取代的,甚至醫生也在被取代的範圍內。

6.2三次浪潮:在1956年就已經提出,是符號主義流派,專家系統占據主導地位。

1980年左右又開始流行,是統計主義流派,用統計模型解決問題

2010年以後,以神經網路、深度學習、大數據的流派開始流行。

6.3 在人工智慧的前兩次的階段都是興起之後又沒落了,一些關鍵技術沒有實際的落地,而如今的第三次浪潮已經深深的與我們生活結合了,比如我們打開手機,現在的任何一款APP都幾乎涉及了人工智慧技術,

7. 數據分析、數據挖掘和機器學習的關係

數據分析是從數據到信息的整理、篩選和加工的過程,數據挖掘是對信息進行價值化的分析。用機器學習的方法進行數據挖掘。機器學習是一種方法;數據挖掘是一件事情;還有一個相似的概念就是模式識別,這也是一件事情。而現在流行的深度學習技術只是機器學習的一種;機器學習和模式識別都是達到人工智慧目標的手段之一,對數據挖掘而言,資料庫提供數據管理技術,機器學習和統計學提供數據分析技術。
---------------------

推薦一個大數據學習群 142974151每天晚上20:10都有一節【免費的】大數據直播課程,專註大數據分析方法,大數據編程,大數據倉庫,大數據案例,人工智慧,數據挖掘都是純乾貨分享,

原文:https://blog.csdn.net/jinyusheng_1991/article/details/82796962


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 事務的特性: 原子性 一致性 持久性 隔離性 併發產生的錯誤: 五、事務的隔離級別 多個線程開啟各自事務操作資料庫中數據時,資料庫系統要負責隔離操作,以保證各個線程在獲取數據時的準確性。 5.1、事務不考慮隔離性可能會引發的問題 如果事務不考慮隔離性,可能會引發如下問題: 1、臟讀 臟讀指一個事務讀 ...
  • 字元串由幾個單片語成,一般情況之下以空格分隔來計算即可。 實現方法,參考下麵自定義函數: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-13 -- Up ...
  • 大約2年前,寫過一篇《字元串中去除多餘的空格保留一個(C#)》https://www.cnblogs.com/insus/p/7954151.html 今天,Insus.NET使用MS SQL Server來實現相同的功能。現Insus.NET已經把它寫成一個自定義函數。 SET ANSI_NULL ...
  • 1 查詢語句 查看賬戶下的所有表 1 select * from tab; 查看賬戶下的所有表的詳細信息 1 select * from user_tables; 1.1 select select 用於從數據看查詢數據。語法: 1 select field1,filed2,.. . 2 from ...
  • -->尋找低效的SQL語句 ,下麵的語句主要適用於從視圖v$sqlarea中獲得當前運行下且耗用buffer_gets較多的SQL語句 SELECT executions , disk_reads , buffer_gets , ROUND( ( buffer_gets - disk_reads ) ...
  • Rman常用命令 Preview選項 1) 顯示用於還原system表空間數據文件的備份文件 RMAN> restore datafile 2 preview; 2) 顯示用於還原特定的表空間的備份文件; RMAN> restore tablespace users preview; 3) 顯示執行 ...
  • 文章大綱 一、搜索引擎框架基礎介紹二、ElasticSearch的簡介三、ElasticSearch安裝(Windows版本)四、ElasticSearch操作客戶端工具--Kibana五、ES的常用命令六、Java連接ElasticSearch進行數據操作七、項目源碼與參考資料下載八、參考文章 一 ...
  • 最近Oracle資料庫總是出問題,於是卸載乾凈後重新安裝,安裝過程中遇到了一些問題於是百度解決,在這裡記錄下來方便以後查看。 win10系統安裝oracle11g時遇到INS-13001環境不滿足最低要求 在安裝時點擊setup.exe之後,出現了:[INS-13001]環境不滿足最低要求 這時,打 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...