国产a v无码专区亚洲av_国产精品无码v在线观看_亚洲A∨精品无码一区二区_亚洲无线码一区国产欧美国日产

某學院人工智能實驗室解決方案


總體設計

根據學校人工智能實驗室理念架構,按照模塊化的設計思想,整個實訓實驗室結構規劃如下:
在120人規模的實驗室室建設中,使用先進的多租戶技術將實驗室分為30個實驗組(每組4人),并為授課教師提供獨立實驗環境,除管理學生實驗內容外,可同時進行科研項目開發。
實驗室依據業務屬性,共分為3個功能區:
1)實驗區:學生學習人工智能實驗室課程內容和實際操作實驗課程的區域,根據每組學生數量配置終端(PC);
2)實驗設備區:放置實驗室實驗設備的區域,包括服務器、網絡設備和軟件,所有的實驗內容均運行在該實驗設備區內;
3)實驗管理區:老師管理區和演示區,負責演示實驗課程內容并對所有實驗組的實驗設備做監控和管理。
學生可分為不同實驗小組進行實戰練習,每個小組內不超過5人,集群可將計算、存儲資源隔離,使實驗小組間底層隔離,互不影響;教師區實驗設備性能較高,除帶領學生外,還可承接校內大數據集中、應用開發等項目。
人工智能一體機方案
服務器將按照學校要求提供對應配置的人工智能一體機,提供企業級機架式(非刀片式)服務器,模塊化架構,可堆疊,優先考慮高密度服務器。通過軟硬件一體化裝置實現計算、存儲、網絡、虛擬化和應用融合的緊密集成的平臺。
每個獨立物理計算節點的技術要求如下:
1、系統擴展性和擴容性:采用橫向擴展的架構,可隨著節點的增加而使得CPU、內存、存儲、網絡等均在一種平衡模式上增加,確保擴展沒有瓶頸。支持在線升級,保證隨數據存儲和計算需求的增長而平滑升級。平臺由多個單機組成的大數據集群架構,所有組件可選配萬兆以太網或者Infiniband網絡或者千兆以太網互聯。為保證平臺7×24小時連續可用性,系統必須支持在線擴展,系統擴展時不需要停機,系統擴展時,平臺整體性能保持基本同比增長
2、關鍵應用的高可用性:采用工程化設計,可提供高級別的高可用性。所有故障類型均可得到防護,包括磁盤、服務器、網絡等簡單故障,以及站點故障和人為失誤等復雜故障。擁有完整的冗余的硬件保護,包括冗余的供電電源、冗余的風扇等。
3、支持PCIE-SSD閃存加速:允許用戶將頻繁訪問的表數據保存在SSD中緩存中,同時不常訪問的數據仍保存在磁盤中。這種方式兼具SSD的高性能與磁盤的大容量和低成本。允許用戶任意指定數據庫表、分區和段的數據駐留在SSD上。在SSD閃存中實現列式存儲,更進一步提高SSD閃存加速效果,在TPC-DS基準測試中性能提升10倍以上。
4、通過中斷優化、內核優化、BIOS優化、NUMA優化實現分布式處理能力提升。
人工智能教學平臺方案

 


 

教學平臺為整個系統提供教學、教務管理功能,提供班級、教師、學生的管理權限、課程計劃、學習記錄、學習成績、實驗報告等管理功能,系統采用B/S架構,兼容主流瀏覽器,如谷歌、火狐等。教學平臺主要功能如下:
3.1 教學管理功能
支持管理員、班主任、教師、學生等多種角色。
支持學籍管理,包括:班級的增刪、編輯;教師的增刪、編輯;學生的增刪、編輯。
3.1.1 班級管理
提供對專業下屬班級的增加、刪除、修改、查詢功能。
3.1.2 學生管理
提供對班級內學生的管理,學生內容包含姓名、學號、所屬班級、所屬專業、聯系手機、登錄次數等內容。
3.1.3 交流日志查詢
對實訓機分享交流的內容進行查詢,包含交流IP、相關學員、相關老師、實訓機編號、交流內容等內容。
3.1.4 成績管理
對于學習中心在線學習的學習考核成績進行管理,包含查詢及刪除等功能。
3.1.5 考試管理
支持考試管理,包括:增刪、編輯試題;發布班級考試通告;在線考試,并自動完成批閱(客觀題);查詢考試成績及正確答案;生成考試報表,并可查看及下載。
3.2 在線學習功能
3.2.1 開通課程計劃
對于學習開課計劃的字段內容包含計劃名稱、授課講師、授課時間段、開通狀態、允許申請周期,允許申請人數等,功能提供綁定課程計劃相關實訓平臺課程、授課助教、云試驗機綁定、實驗任務綁定等功能。
3.2.2 學習記錄功能
提供每個學生在學習中心平臺內學習課程的學習記錄,包含日期、計劃、課程、章節、學習IP等。
3.2.3 學習行為報表
對所有學生的課程學習記錄進行統計,包含個體統計、班級統計、全體統計等。
3.3 在線實訓功能
3.3.1 學生實訓操作
提供學生根據姓名、學號、密碼登錄系統進行實訓操作,學生只需安裝瀏覽即可進行試驗任務操作;提供實訓課程在線學習功能、試驗機在線操作、試驗報告提交、試驗機界面截圖、記錄課程學習時長等。
3.3.2 測驗習題管理
提供對課程相關的習題管理,題型包含單選、多選、判斷題等類型,對習題進行增、刪、改、查操作。
3.4 后臺管理功能
3.4.1 分級權限功能
系統分為總管理員、助教等二級管理角色,總管理員進行管理所有的功能點,助教可以進行班級管理、學生管理、開課計劃制作、試驗機遠程協助等。
3.4.2 試驗機桌面分享
提供試驗機桌面分享功能,如學生在學習、操作云試驗機的過程中,有問題可以向老師發起協助請求,助教在收到請求時,可以遠程訪問學生的試驗機,并指導如何操作。

 


 

3.4.3 平臺集群架構支撐
平臺基于x86服務器本地的計算與存儲資源,分布式存儲,計算集群可以動態調整,從數臺到數千臺之間彈性擴展,按需構建應用。支持VMWare、HyperV等虛擬化軟件。
集成MapReduce、Spark、Storm、Tez、Sparkstreaming、Flink 等多種計算框架,利用yarn資源管理做統一管理,可在同一份數據集上運行多種計算,支持離線計算、實時計算、流式計算、全文檢索、數據挖掘等數據應用能力。
3.4.4 平臺集群管理功能
平臺采用B/S架構提供實訓機集群管理,對實訓室所屬服務器進行新增、刪除、備份、恢復及遷移功能。
集群基于分布式管理,提供大數據集群管理系統,功能包含Hadoop、Hive、HBase、Sqoop、Flume、kafka、Spark、Scala等節點部署及管理,提供實時監控集群的CPU、內存、硬盤等使用率及相關信息,可以對管理節點、計算節點進行啟動、停止等操作管理。

 


 

平臺具有靈活性和可管理性。管理員可以對試驗平臺內的虛擬資源創建、監控、資源調整、快照和遷移等進行靈活的調整,方便用戶得到足夠的計算和存儲資源。
人工智能實驗系統方案
4.1 系統方案

4.1.2 容器化部署
為了方便系統后期擴容升級。本次系統采用基于docker swarm的容器化本地部署方式。

容器化部署介紹
開發過程中一個常見的問題是環境一致性問題。由于開發環境、測試環境、生產環境不一致,導致有些bug并未在開發過程中被發現。而Docker的鏡像提供了除內核外完整的運行時環境,確保了應用運行環境一致性。
由于Docker確保了執行環境的一致性,使得應用的遷移更加容易。Docker可以在很多平臺上運行,無論是物理機、虛擬機、公有云、私有云,甚至是筆記本,其運行結果是一致的。因此用戶可以很輕易的將在一個平臺上運行的應用,遷移到另一個平臺上,而不用擔心運行環境的變化導致應用無法正常運行的情況。
Docker使用的分層存儲以及鏡像的技術,使得應用重復部分的復用更為容易,也使得應用的維護更新更加簡單,基于基礎鏡像進一步擴展鏡像也變得非常簡單。
Docker容器化部署具有以下優勢:
(1)標準化應用發布,docker容器包含了運行環境和可執行程序,可以跨平臺和主機使用;
(2)節約時間,快速部署和啟動,VM啟動一般是分鐘級,docker容器啟動是秒級;
(3)方便構建基于SOA架構或微服務架構的系統,通過服務編排,更好的松耦合;
(4)節約成本,以前一個虛擬機至少需要幾個G的磁盤空間,docker容器可以減少到MB級;
(5)方便持續集成,通過與代碼進行關聯使持續集成非常方便;
(6)可以作為集群系統的輕量主機或節點,在IaaS平臺上,已經出現了CaaS,通過容器替代原來的主機。
4.1.3 平臺功能
提供圖形化拖拽工具構建相關業務模型,支持 用戶進行數據集成、數據預處理、特征工程、模型訓練、模型發布等整套模型開發流程,降低數據挖掘開發門檻。
支持多種數據源接入,支持傳統關系型數據庫、MPP數據庫、HDFS(txt、ORC、Parquet等數據格式)、Hive、HBase、Elastic Search、本地文件(CSV、JSON等數據格式)等多種數據存儲方式接入。
提供豐富的分布式統計算法、機器學習及深度 學習基礎算法庫,包括數據預處理,數值分析,特 征工程、分類、聚類、回歸、深度學習、驗證評估、 NLP 等通用算法,并提供自定義算法支持,方便數據 分析人員進行數據分析與挖掘的相關工作。
整合主流深度學習框架,包括 Tensorflow、MXNet,通過將深度學習框架與Hadoop體系融合,幫助數據科學家以及分析人員敏捷構建DNN,CNN等模型,使用全量數據樣本進行模型訓練,提高算法 的精準度。
支持挖掘標準PMML模型導入導出,方便模型管理與使用。支持模型協作,多人協作模型開發模式。支持基于模型訓練結果,通過圖形界面構建相應的應用服務,并通過容器化的方式打包與運行。
4.2 數據抽取
數據抽取系統是本項目建設的基礎設施,也體現了數據集成的一種模式,它的優點是簡化數據集成拓撲結構,提供共享基礎服務,對于跨部門大范圍的數據整合與服務,是一種集約化的技術解決方案。
4.2.1 技術框架
數據交換平臺框架如下圖所示,主要包括批量數據交換和實時數據服務。

 


 

1、批量數據交換
批量數據交換服務用于源系統數據獲取、主數據管理、數據容災等數據物理落地的應用場景。
(1)數據交換服務
批量數據交換方式包括基于日志變化的數據捕獲模式和前置機、中間庫的模式。
前置機、中間庫的模式(傳統的數據交換模式):先由源系統開發單位開發接口,推送數據至中間庫,再通過交換平臺將中間庫的數據抽取至數據中心。此種方式適合更新頻次不高的行業基礎數據,可以通過制定定期交換的計劃,使生產庫數據推送的頻率與準確性得到保證。
(2)數據轉換服務
數據轉換服務是對采集后的數據按數據中心的數據標準執行數據的清洗、轉換與加載。
2、實時數據服務
實時數據交換服務是基于ESB等SOA基礎設施,將數據中心的數據以服務接口的形式供各類業務系統實時調用。
4.2.2 平臺功能
數據交換平臺主要功能是定義數據交換存儲策略、基礎數據交換標準;對授權用戶開放業務數據訪問的定制服務;業務管理信息系統的信息流轉,根據需要提供業務之間的數據共享與交換,包括以下幾個部分:
1、數據導入管理
數據導入管理需實現數據抽取、數據轉換、數據裝載功能。數據抽取實現從不同的數據源中抽取出系統所需數據,包括全量抽取、增量抽取、主從抽取、條件抽取、聯合抽取、文件析取、Web Service抽取等多種方式。數據轉換需要將所抽取的數據轉換為符合數據中心標準的數據,包括映射變換、行列互換、自定義轉換等多種靈活的轉換形式。數據裝載,在數據轉換成所需格式后需要將抽取過來的數據裝載到資源庫。
2、數據導出管理
實現數據中心的各種形式的數據導出,包括EXCEL、XML等中間格式。
3、數據共享
針對各種應用場景對數據需求的不同,提供相應的數據共享實現方式。對于一些數據服務內容涉及與其他行業數據共享,要求采用遠程訪問的方法,保證平臺無關性,實現跨平臺的互操作,比如Web Service訪問接口等;對于行業內的數據共享,要求采用數據交換的方式,實現異構數據庫間的數據交換。
4、數據服務
在數據資源庫之上建立數據封裝層,將數據封裝為Rest風格的Web Service規范的接口,數據中心的庫表通常情況下不暴露給數據需求方直接調用。
4.3 數據預處理
系統按照數據中心統一標準規范對各部門共享數據進行處理,實現中心前置庫至融合庫整個過程多個環節的數據抽取、清洗、轉換、比對和加載的管理。
4.3.1 系統架構
數據融合系統實現數據抽取、轉換和加載的數據加工處理核心功能,并利用二次開發接口開發數據處理任務管理,實現數據處理的任務定義、任務監控;開發數據處理的規則管理,實現數據處理的規則定義、規則查詢,可以調用這些規則進行數據處理;開發數據目錄,實現匯集庫、基礎庫、融合庫的數據資源目錄的維護和查詢。
下圖為數據融合系統功能架構圖,構建的數據加工處理子系統,實現了中心前置庫和應用系統歷史庫到匯集庫的數據標準化處理、匯集庫到基礎庫的數據比對、抽取處理、基礎庫到融合庫的數據加載,以及匯集庫到融合庫的數據關聯、加載處理。

 


 

4.3.2 系統功能
數據融合系統主要由數據融合方法和過程、任務管理、規則管理和數據目錄管理4個子系統組成。
本系統能夠實現以下功能:
1、對數據中心除決策支持各種主題或專題信息資源以外的信息進行編目,顆粒度到表一級,數據目錄能夠按數據類型、部門、業務主題等多個維度進行分類。
2、目錄管理與安全管理功能相結合,提供權限控制功能,只有擁有相應權限的用戶才能夠對各類目錄信息進行維護或查詢。
3、使用主流數據模型設計。如星形結構、雪花型結構等。
4、提供數據抽取、轉換和加載的數據加工處理核心功能。
5、提供數據處理規則管理,實現數據處理的規則定義、規則查詢。
6、提供數據處理任務管理,實現數據處理的任務定義、任務配置、任務監控。
4.4 數據探索
數據探索平臺主要提供針對數據和服務的管理,并對所提供的數據和服務的獲取接口和資源目錄進行管理,方便與各類專題數據進行有效整合。數據管理平臺包含且不僅包含如下功能:元數據管理和數據質量管理、數據規范符合性審查服務管理。

 


 

4.4.1 元數據管理
元數據管理是保證數據準確性的重要技術手段,大數據平臺因為平臺混合搭配會造成數據分開存儲和使用,需要采取集中式管理模式進行統一元數據管理,滿足業務人員和技術人員的元數據查詢、分析、維護的需求。元數據管理系統貫穿數據中心的整個生命周期,為用戶提供高質量、準確和易于管理的數據。

 


 

元數據涵蓋了數據中心建設過程中源系統、數據交換、數據存儲和數據應用的全過程,如下圖所示,在不同階段所產生的各類元數據,均需要統一的規劃與管理。
數據管理系統的功能主要包括:
1、指標庫管理
指標是業務應用系統中重要的數據資源之一,對業務運行分析和管理決策支持起到重要的支撐作用。指標庫管理應用的目標是提高指標的規范性以及指標管理的規范性,保障系統用戶對指標理解一致,同時保障系統與外部系統有效互動。
2、業務術語自助學習
業務術語自助學習應用是面向業務操作人員的業務術語查詢和幫助應用,提供符合業務人員操作習慣的功能界面,以靈活、便捷的自助學習方式,增進業務用戶對系統中相關報表、指標、維度和應用服務等術語的理解,幫助用戶更好地使用系統。
3、維表庫管理
維表庫管理是指基于元數據,實現對數據源系統維表庫、數據中心標準維表庫分別管理,從而建立一套標準的維表庫體系,實現標準維表庫與源系統維表庫之間的關聯管理,其目的是有效處理源系統維表庫與標準維表庫之間的維度數據統一,支撐本期業務應用系統與源系統的數據質量協同和兩級數據中心元數據互通。
4、接口管理
本期業務系統數據交換中存在大量數據接口,基于元數據進行接口管理并建立接口元數據維護機制,能夠提高接口元數據質量,為源系統變更協同管理奠定基礎。
5、輔助應用優化
元數據對數據中心的數據、數據加工過程以及數據間的關系提供準確的描述,利用血緣分析、影響分析和實體關聯分析等元數據分析功能,可識別與系統應用相關的技術資源,結合應用生命周期管理過程,輔助進行系統應用優化。
6、輔助安全管理
數據中心建立完成后,所存儲的數據和提供的各類分析應用,涉及到各類敏感或涉密信息。因此在數據中心建設過程中,須采用全面的安全管理機制和措施來保障系統的數據安全。
元數據管理系統安全管理模塊負責數據中心的數據敏感度、涉密性和各環節審計日志記錄管理,對數據中心的數據訪問和功能使用進行有效監控。為實現數據中心對敏感數據和涉密信息的訪問控制,安全管理模塊應以元數據為依據,由元數據管理模塊提供敏感數據定義和涉密信息定義,輔助安全管理模塊完成相關安全管控操作。
7、數據目錄管理
數據目錄管理基于元數據模型的建立,通過檢索與樹狀目錄的形式,快速查找不同類型的數據資源,并查看該項數據的各項指標狀況。
4.4.2 數據質量管理
數據質量管理包括對數據源、數據源接口、數據實體、處理過程、數據應用和業務指標等相關內容的管控機制和處理流程,也包括對數據質量管控和處理的信息總結和知識應用等輔助內容。
對于新數據的流程為:“錄入——檢查——反饋問題——修改”;

對于已有系統的數據,流(liu)程為“評估(gu)——核查(反(fan)饋)——轉換——入庫”。

數據質量管理主要功能包括:源系統變更協同管理、數據質量監控、數據質量問題處理、數據質量評估、數據質量報告、數據質量知識庫和數據質量對外服務等:
1、源系統變更協同管理
源系統的業務流程變更或庫表、維度和接口等內容變更,將對數據資源中心各類應用系統產生影響。源系統變更協同管理調用元數據管理模塊分析功能對源系統變更信息進行影響評估,并將變更信息及時告知數據質量管理人員,避免數據源變更引起各類應用系統數據質量問題。
2、數據質量監控
數據質量監控是根據預先配置的規則或算法,監控數據采集和規則校驗,并依據稽核和檢查過程中發現的數據質量異常情況進行告警和拓撲呈現的過程。數據質量監控由9個主要功能環節構成,包括數據采集、源系統關鍵數據稽核、源系統維表稽核、數據實體檢查、處理過程檢查、關鍵指標檢查、告警管理、拓撲呈現和規則配置。
3、數據質量問題處理
數據質量問題處理模塊提供一個統一的數據質量問題入口,系統自動監控所發現的問題以及技術人員和業務人員手工提交的問題,統一通過該入口進行問題單的填寫和提交,并觸發問題處理流程
4、數據質量評估
數據質量評估包括源接口基礎數據質量評估和數據資源中心各業務系統指標關聯性分析兩部分。其中,源接口基礎數據質量評估由數據質量管理人員根據需要發起,根據評估指標和評估方法,對基礎數據的數據質量進行評價,得到評估結果以作為系統質量改進的參考和依據。數據資源中心系統指標關聯性分析是通過對指標進行關聯性檢查發現潛在的數據質量問題。
5、數據質量報告
數據質量報告是對源系統變更協同管理、源系統核心數據及維表稽核、數據資源中心系統日常監控以及數據質量評估等過程累積的各種信息進行匯總、梳理、統計和分析,形成統計報告的過程。數據質量報告提供了一個集中展示數據中心數據質量狀況的窗口,供相關人員總結經驗、沉淀知識和改進方法,不斷提高數據質量管理系統的數據質量問題的處理能力。
6、數據質量知識庫
數據質量知識是在數據資源中心系統使用及運維過程中,由數據質量管理子系統收集的有關數據及過程問題的處理經驗總結。該類知識可作為未來數據質量問題解決方法的參考,并可以按關鍵字的形式進行索引和分類管理。
4.5 特征工程
支持常見特征工程流程,包括特征變換、特征重要性評估、特征選擇、特征生成等,包括且不限于歸一化、標準化、離散化、one-hot編碼等
支持特征工程自動化,包括自動特征變換、自動特征生成以及自動特征選擇等。
4.5.1 數據挖掘模塊
Mahout是Apache Software Foundation(ASF)旗下的一個開源項目,提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便快捷地創建智能應用程序。Mahout包含許多實現,包括聚類、分類、推薦過濾、頻繁子項挖掘。此外,通過使用Apache Hadoop庫,Mahout可以有效地擴展到分布式計算中。
MLLib是Spark項目的一個子模塊,MLlib也提供了一套基于Spark處理引擎的機器學習和數據挖掘的算法庫。
4.5.2 數據挖掘引擎
主要的機器學習的算法目前在MLlib中都已經提供了,分類回歸、聚類、關聯規則、推薦、降維、優化、特征抽取篩選、用于特征預處理的數理統計方法、以及算法的評測。
目前支持:支持分布式apiori/fp-growth算法;支持分布式k-means/層次聚類算法;支持分布式svm算法;支持分布式神經網絡算法;支持回歸算法;支持分布式隨機森林算法;支持分布式協同過濾算法,支持時間序列算法;支持分布式決策樹C5.0算法;支持分布式樸素貝葉斯算法;支持分布式梯度提升樹。
是AMPLab發布的一個R開發包,為Apache Spark提供了輕量的前端。SparkR提供了Spark中彈性分布式數據集(RDD)的API,用戶可以在集群上通過R shell交互性的運行job。處R接口外,也支持Python接口的調用。
4.6 建模算法
4.6.1 功能概述
本次前沿技術輔助發現系統采用了業界領先的大數據,人工智能,自然語言處理技術,確保整個系統能夠更好的輔助前沿技術發現。具體算法包括但不限于BERT、序列標注、條件隨機場、LSTM、支持向量機、邏輯回歸、隨機森林、線性回歸、決策樹回歸、K均值聚類、協同過濾、關聯分析、TF-IDF、Word2Vec、受限玻爾茲曼機、KMP算法、LCS算法等。
4.6.2 BERT算法
BERT是谷歌公司AI團隊今年十月最新發布的模型,在機器閱讀理解頂級水平測試SQuAD1.1中表現出驚人成績:全部兩個衡量指標上超越人類,并且還在11種不同NLP(自然語言處理)測試中創出最佳成績。谷歌團隊成員Thang Luong表示BERT開啟了NLP的新時代。

 


 

BERT有以下優勢:
1.BERT擁有一個深而窄的神經網絡。
2.BERT模型能夠聯合神經網絡所有層中的上下文來進行訓練。
3.BERT只需要微調就可以適應很多類型的NLP任務,這使其應用場景擴大,并且降低了訓練成本
BERT算法證明了通過大規模語料集預訓練的技術,能夠大幅度提升各類文本閱讀理解的效果;證明了使用Transformer來作為特征提取方法,以及雙向學習機制,能達到超過已有算法優異效果;證明通過遮蔽語言模型進行無監督學習的機制,可以優雅的引入領域知識;未來在學術界傳統認為很難處理的一些文字閱讀理解任務上,計算機有望能夠全面超越人類。

4.6.3 序列標注算法
序列標注模型的訓練廣泛應用于NLP的若干基礎組件之中,例如分詞,詞性標注,實體識別,信息抽取等任務的基礎模型都屬于序列標注模型。常用的序列標注模型有隱馬爾科夫模型(HMM),條件隨機場(CRF)或適用于序列標注的深度學習模型(Bi-LSTM+CRF)等。傳統序列標注模型在小數據的訓練樣本中效果相對較好,而深度學習在應對大數據量時具有更加明顯的優勢。
首先將標注樣本針對具體的任務和算法進行轉化,將文本序列根據標注結果轉換為BMES或其他的標簽體系。對于機器學習模型,根據不同任務,可以選擇不同的特征,例如char級別,word級別,詞性特征,甚至是否包含關鍵詞等等。而深度學習模型一般使用下文會提到的字詞向量特征作為輸入。
除了特征以外,還需要對訓練數據進行一定的預處理,例如數據平衡,對于關鍵信息抽取任務,可以采取把標注信息周圍內容進行裁剪的方式,既可以避免數據不平衡的問題,也可以縮短訓練時間,減小模型的大小。
對于多字段的信息抽取任務或者多任務(分詞、詞性標注、句法分析)的文本分析任務。既可以訓練若干個單獨模型,也可以使用單一的聯合模型進行訓練。
4.6.4 條件隨機場算法
CRF即條件隨機場(Conditional Random Field)是一種判別式無向圖模型。與HMM不同的是CRF的當前狀態可以與整個觀測序列x相關。如下圖所示:
CRF 模型結構
CRF條件概率公式
其中是定義在兩個相鄰狀態之間的狀態轉移特征函數,用來刻畫前一個狀態和當前狀態的轉移概率,為狀態轉移特征函數對應的貢獻權重值。是定義在觀測序列時刻i的狀態特征函數,用來刻畫觀測序列x對于i時刻狀態變量的影響,類似的為狀態特征函數對應的權重。
以詞性標注任務為例:
公式 CRF特征公式
上式的狀態轉移特征刻畫當前時刻的觀測值為“knock”,當前時刻狀態值為V,下個時刻狀態值為P時的特征。一般工程中實際上使用的多為線型鏈CRF,即狀態轉移函數的輸入不考慮x,只考慮當前時刻的狀態和下個時刻的狀態。
公式 CRF特征值得分
上式的狀態特征刻畫當前時刻觀測值為“knock”時,當前時刻狀態值為V的特征。
4.6.5 雙向LSTM算法
隨著深度學習的發展,深度學習的序列標注模型得到了廣泛的應用。深度學習序列標注模型的輸入一般為詞向量,相比于CRF的one-hot表示會有更強的泛化能力。網絡結構如下圖所示,雙向LSTM網絡替代了CRF中狀態特征函數的作用,LSTM可以學到更加復雜的特征以及更長的上下文特征。雙向LSTM由一個接受順序詞向量輸入的LSTM層和一個接受逆序詞向量輸入的LSTM層組成,一個包含前文特征,一個包含后文特征,將兩者的輸出拼接則包含了上下文特征。LSTM后的CRF層則建模狀態變量的轉移特征。最后的CRF層已經成為深度學習序列標注模型的標配,因為深度學習序列模型建模輸出標簽轉移概率較為困難。
Bi-LSTM+CRF模型結構
4.6.6 支持向量機算法
SVM(Support Vector Machine)指的是支持向量機,是常見的一種判別方法,是一個有監督的學習模型。SVM的主要思想可以概括為兩點:1.它是對線性可分的情況進行分析,對于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本轉化為高維特征空間使其線性可分。2.它基于結構風險最小化理論之上在特征空間中構建最優超平面,使得學習得到全局最優化。
SVM原理是幾何間隔最小化:
對于線性不可分問題,通過核函數實現特征空間的隱式映射。
如圖,是從二維空間到三維空間的變換:
SVM使用核函數解決低維空間現行不可分問題
4.6.7 邏輯回歸算法
邏輯回歸(Logistics Regression,LR)模型其實是在線性回歸的基礎上,套用了一個邏輯函數。邏輯回歸是一種廣義回歸,y=wx+b,其中w和b是待求參數。Logistic回歸通過函數L將wx+b對應一個隱狀態p,p=L(wx+b),然后p與1-p的大小決定因變量的值。
Logistic回歸可以使二分類,也可以是多分類,但二分類更為常用。
Logistic Regression將線性函數的結果映射到了sigmoid函數中的(0,1)區間中。
sigmoid函數圖形如下: 
Sigmoid函數圖
h(x)<0.5說明當前數據屬于A類;h(x)>0.5說明當前數據屬于B類。
4.6.8 隨機森林算法
隨機森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數決定的。決策樹相當于一個大師,通過自己在數據集中學到的知識對于新的數據進行分類。隨機森林就是希望構建多個臭皮匠,希望最終的分類效果能夠超過單個大師的一種算法。
隨機森林生成方法:
1.從樣本中通過重采樣的方式產生n個樣本
2.假設樣本特征數目為a,對n個樣本選擇a中的k個特征,用建立決策樹的方式建立最佳分割點
3.重復m次,生成m棵決策樹
4.多數投票機制來進行預測。
4.6.9 線性回歸算法
線性回歸(Linear Regression),數理統計中回歸分析,用來確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法,其表達形式為y=w'x+e,e為誤差服從均值為0的正態分布,其中只有一個自變量的情況稱為簡單回歸,多個自變量的情況叫多元回歸。注意,統計學中的回歸并如線性回歸非與嚴格直線函數完全能擬合,所以我們統計中稱之為回歸用以與其直線函數區別。舉個Andrew Ng機器學習講義中美國俄亥俄州Portland Oregon城市房屋價格為例: 
這個例子中近簡化使用房屋面積一個因子作為自變量,y軸對應其因變量房屋價格。所以我們機器學習的線性回歸就變為對于給定有限的數據集,進行一元線性回歸,即找到一個一次函數y=y(x)+e,使得y滿足當x={2104,1600,2400,1416,3000,...},y={400,330,369,232,540,...} 如下圖所示: 
對于線性方程的求解,是屬于線性代數的范疇。首先要判斷是否有解及是否有唯一解;其次具體求解方法則有矩陣消元法,克萊姆法則,逆矩陣及增廣矩陣法等等。 
對于大多數給定數據集,線性方程有唯一解的概率比較小,多數都是解不存在的超定方程組。對于這種問題,在計算數學中通常將參數求解問題退化為求最小誤差問題,找到一個最接近的解,即術語松弛求解。
4.6.10 決策樹回歸算法
決策樹是一種基本的分類與回歸方法,本文敘述的是回歸部分。回歸決策樹主要指CART(classification and regression tree)算法,內部結點特征的取值為“是”和“否”,為二叉樹結構。
所謂回歸,就是根據特征向量來決定對應的輸出值。回歸樹就是將特征空間劃分成若干單元,每一個劃分單元有一個特定的輸出。因為每個結點都是“是”和“否”的判斷,所以劃分的邊界是平行于坐標軸的。對于測試數據,我們只要按照特征將其歸到某個單元,便得到對應的輸出值。
4.6.11 K均值聚類算法
K均值聚類算法是先隨機選取K個對象作為初始的聚類中心。然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對象就代表一個聚類。一旦全部對象都被分配了,每個聚類的聚類中心會根據聚類中現有的對象被重新計算。這個過程將不斷重復直到滿足某個終止條件。終止條件可以是沒有(或最小數目)對象被重新分配給不同的聚類,沒有(或最小數目)聚類中心再發生變化,誤差平方和局部最小。
具體做法為:先隨機選取K個對象作為初始的聚類中心。然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對象就代表一個聚類。一旦全部對象都被分配了,每個聚類的聚類中心會根據聚類中現有的對象被重新計算。這個過程將不斷重復直到滿足某個終止條件。終止條件可以是以下任何一個:
1)沒有(或最小數目)對象被重新分配給不同的聚類。
2)沒有(或最小數目)聚類中心再發生變化。
3)誤差平方和局部最小。
4.6.12 協調過滅算法
主要思想是基于群體智慧,利用已有大量用戶群過去行為數據來預測當前用戶最可能感興趣的東西。這種方法克服了基于內容方法的一些弊端,最重要的是可以推薦一些內容上差異較大但是又是用戶感興趣的文檔。構成CF(Collaborative Filtering)的兩種主要技術:基于領域的方法和隱語義模型。
1)基于領域的方法
該方法重點關注文檔之間的關系或者用戶之間的關系,基于文檔的方法是根據用戶對和他感興趣的文檔相似的文檔評分,來對該用戶的偏好文檔建立模型。
基于文檔的協同過濾核心思想:給用戶推薦那些和他們之前喜歡的文檔相似的文檔。主要分為兩步:計算文檔之間的相似度和根據文檔的相似度和用戶的歷史行為給用戶生成推薦列表。
第一步:使用下面的余弦相似度公式定義文檔的相似度 
從上面的定義看出,在協同過濾中兩個文檔產生相似度是因為它們共同被很多用戶喜歡,兩個文檔相似度越高,說明這兩個文檔共同被很多人喜歡。這里面蘊含著一個假設:就是假設每個用戶的興趣都局限在某幾個方面,因此如果兩個文檔屬于一個用戶的興趣列表,那么這兩個文檔可能就屬于有限的幾個領域,而如果兩個文檔屬于很多用戶的興趣列表,那么它們就可能屬于同一個領域,因而有很大的相似度。
第二步:根據文檔的相似度和用戶的歷史行為給用戶生成推薦列表,通過如下公式計算用戶u對一個文檔j的興趣 
其中,Puj表示用戶u對文檔j的興趣,N(u)表示用戶喜歡的文檔集合(i是該用戶喜歡的某一個文檔),S(i,k)表示和文檔i最相似的K個文檔集合(j是這個集合中的某一個文檔),Wji表示文檔j和文檔i的相似度,Rui表示用戶u對文檔i的興趣(這里簡化Rui都等于1)。
基于用戶的協同過濾算法最重要一點是相似用戶的計算。包括找到與目標用戶興趣相似的用戶集合、找到這個集合中用戶喜歡的、并且目標用戶沒有聽說過的文檔推薦給目標用戶。可以使用上述的余弦相似度方法計算相似度。在推薦的時候,需要從矩陣中找出與目標用戶u最相似的K個用戶,用集合S(u,K)表示,將S中用戶喜歡的文檔全部提取出來,并去除u已經喜歡的文檔。 
在實際應用中,相似度的計算很多種方法,如余弦相似度、皮爾遜相關度等。其實不同的相似度計算方法有各自的優缺點,適用不同的應用場景,可以通過對比測試進行選取。一般來說,基于用戶的推薦系統中,皮爾遜相關系數效果要好一些。基于文檔的推薦中,余弦相似度方法比皮爾遜的表現更好。在實際業務中,相似度的計算方法都有很多變種,過于冷門和過于熱門的文檔對衡量用戶間的相似度時區分度不好,這時就需要進行剪枝。下面的相似度計算方法將降低熱門文檔對用戶相似度的影響。 
這種基于K近鄰的選取相似用戶的方法,相似度的閾值設置對結果影響很大,太大的話召回文檔過多,準確度會有下降。
2)隱語義模型
該方法把文檔和用戶映射到相同的隱語義空間。這個空間試圖通過描述文檔和用戶兩種實體在因子上的特征來解釋評分,而這些因子是根據用戶的反饋自動判斷出來的。
用隱語義模型來進行協同過濾的目標是揭示隱藏的特征,這些特征能解釋觀測到的評分。該模型包括pLSA(Probability Latent Semantic Analysis)模型、神經網絡模型、LDA(Latent Dirichlet Allocation)模型,以及由用戶-文檔評分矩陣的因子分解推導出的模型(也叫基于SVD的模型,Singular Value Decomposition)。由于矩陣因子分解技術在線上業務的準確性和穩定性的突出表現,已經成為協同過濾算法的首選。達觀數據的推薦系統也大量使用了這種技術,并做了諸多性能和效果優化。
CF模型視圖捕捉用戶和文檔之間的交互作用,正式這些交互作用產生了不同的評分值。設為總體評分值,未知評分的基準預測綜合考慮了用戶和文檔兩個因子 
參數表示用戶和文檔的與評分平均值的偏差。我們可以通過解決最小二乘法的問題來估計的值 
在上述這個公式中,第一項用來尋找與已知評分數據擬合得最好的。正則化項通過對參數的復雜性增加懲罰因子來避免過擬合問題。這個最小二乘法問題可以通過隨機梯度下降(SGD,Stochastic gradient descent)算法有效地解決。
矩陣因子分解模型把用戶和文檔兩方面的信息映射到一個維度為的聯合隱語義空間中,因此用戶-文檔之間的交互作用被建模為該空間的內積。相應地,每一個文檔都有一個維向量相關,每一個用戶都與一個維向量相關。給定一個文檔向量的維度值代表了該文檔擁有這些因子的程度。取值大小反應了文檔擁有這些因子的積極或者消極程度。給定一個用戶的維度值代表了用戶對這些因子的偏好程度。同樣地,這些值的大小反映了用戶對這些因子的消極或者積極的評價。 
為了學習模型中的參數,也就是,我們可以最小化以下正則化的平方誤差 
常量控制了正則化程度,一般通過交叉驗證來獲得。
考慮隱式反饋信息可以增加預測準確度,這些隱式反饋信息提供了用戶愛好的額外信息。這對于那些提供了大量隱式反饋但是僅僅提供少量顯式反饋的用戶尤為重要。這就出現了一些根據用戶評分的文檔來對用戶的某個因子建模的方法,這里談一下SVD++,這種方法能夠提供比SVD更好的準確度。
為了達到上述目的,我們增加了第二個文檔因子集合,即為每一個文檔關聯一個因子變量。這些新的文檔因子向量根據用戶評分的文檔集合來描述用戶的特征。模型如下:
例如,如果一個用戶對中的一些文檔有某種類型的隱式偏好(如他買過它們),對中的文檔又另一種類型的偏好(如他贊過它們),就可以使用下面的模型:
在處理用戶行為數據的過程中,需要考慮時間因素的影響,畢竟用戶的偏好是隨著時間變化的。比如,用戶會改變對特定導演或者演員的看法。矩陣分解的方法也能很好地對時間效應進行建模。得到擴展模型time SVD++如下:
每一次迭代的時間復雜度仍然與輸入大小呈線性關系,而運行時間大概是SVD++算法的兩倍,原因是更新時序參數需要額外的花費。重要的是,收斂速度并沒有受時序參數化的影響。
4.6.13 關聯分析算法
關聯分析又稱關聯挖掘,就是在交易數據、關系數據或其他信息載體中,查找存在于項目集合或對象集合之間的頻繁模式、關聯、相關性或因果結構。
關聯分析是一種簡單、實用的分析技術,就是發現存在于大量數據集中的關聯性或相關性,從而描述了一個事物中某些屬性同時出現的規律和模式。
關聯分析是從大量數據中發現項集之間有趣的關聯和相關聯系。關聯分析的一個典型例子是購物籃分析。該過程通過發現顧客放入其購物籃中的不同商品之間的聯系,分析顧客的購買習慣。通過了解哪些商品頻繁地被顧客同時購買,這種關聯的發現可以幫助零售商制定營銷策略。其他的應用還包括價目表設計、商品促銷、商品的排放和基于購買模式的顧客劃分。
4.6.14 TF-IDF算法
Tf-idf是一種用于信息檢索與文本挖掘的常用加權技術。tf-idf是一種統計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。在一份給定的文件里,詞頻(term frequency,tf)指的是某一個給定的詞語在該文件中出現的頻率。這個數字是對詞數(term count)的歸一化,以防止它偏向長的文件。對于在某一特定文件里的詞語 ti來說,它的重要性可表示為:
以上式子中ni,j是該詞在文件 dj中的出現次數,而分母則是在文件 dj中所有字詞的出現次數之和。
逆向文件頻率(inverse document frequency,idf)是一個詞語普遍重要性的度量。某一特定詞語的idf,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取以10為底的對數得到:
其中
|D|:語料庫中的文件總數
:包含詞語ti的文件數目(即 ni,j != 0的文件數目)如果詞語不在數據中,就導致分母為零,因此一般情況下使用 
然后tfidf i,j = tfi, j * idfi
某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的tf-idf。因此,tf-idf傾向于過濾掉常見的詞語,保留重要的詞語。
4.6.15 Word2vec算法
Word2vec主要用于挖掘詞的向量表示,向量中的數值能夠建模一個詞在句子中,和上下文信息之間的關系,主要包括2個模型:CBOW(continuous bag-of-word)和SG(skip-gram),從一個簡單版本的CBOW模型介紹,上下文只考慮一個詞的情形,如圖所示, 
Word2vec圖
假設只有一個隱層的神經網絡,輸入層以及輸出層均為詞的one-hot編碼表示,詞表大小假設為V,隱層神經元個數為N,相鄰層的神經元為全連接,層間的權重用V*N的矩陣W表示,隱層到輸出層的activation function采用softmax函數, 
其中wI,wj為詞表中不同的詞,yj為輸出層第j個神經元的輸出,uj為輸入層經過權重矩陣W到隱層的score,uj’為隱層經過權重矩陣W到輸出層的score。訓練這個神經網絡,用反向傳播算法,先計算網絡輸出和真實值的差,然后用梯度下降反向更新層間的權重矩陣,得到更新公式: 
其中,η為更新的步長,ej為模型預測以及真實值之間的誤差,h為隱層向量。
圖2為上下文為多個詞時的情況,中間的隱層h計算由 
改為 
即輸入向量為多個上下文向量相加求平均,后續的參數學習與上文的單個詞的上下文情況類似。遍歷整個訓練集context-target詞對,經過多次迭代更新模型參數,對模型中的向量的影響將會累積,最終學到對詞的向量表示。
Skip-gram跟CBOW的輸入層和輸出層正好對調,區別就是CBOW是上下文,經過模型預測當前詞,而skip-gram是通過當前詞來預測上下文。 
Skip-gram
目前為止,對詞表中的每個詞,有兩種向量表示:input vector和output vector,對應輸入層到隱層權重矩陣W的行向量和隱層到輸出層權重矩陣W'的列向量,從等式4、5可以看出,對每一個訓練樣本,都需要遍歷詞表中的每一個詞,因此,學習output vector的計算量是非常大的,如果訓練集或者詞表的規模大的話,在實際應用中訓練不具可操作性。為解決這個問題,直覺的做法是限制每個訓練樣本需要更新的output vectors,google提出了兩個方法:hierarchical softmax和negative sampling,加快了模型訓練的速度,再次不做展開討論。由于wordvec在NLP領域的巨大成功,Oren Barkan and Noam Koenigstein受此啟發,利用item-based CF學習item在低維latent space的embedding representation,優化item的相關推薦。
詞的上下文即為鄰近詞的序列,很容易想到,詞的序列其實等價于一系列連續操作的item序列,因此,訓練語料只需將句子改為連續操作的item序列即可,item間的共現為正樣本,并按照item的頻率分布進行負樣本采樣。
4.6.16 受限玻爾裝曼機算法
本質上來說,RBM是一個編碼解碼器:將原始輸入數據從可見層映射到隱藏層,并且得到原始輸入數據的隱含因子,對應的是編碼過程;然后利用得到的隱藏層向量在映射回可見層,得到新的可見層數據,對應的是解碼過程。而優化目標是希望讓解碼后的數據和原始輸入數據盡可能的接近。在推薦場景中,可以獲取到用戶對文檔的評分矩陣,進過RBM的編碼-解碼過程處理后,不僅得到了已有評分對應的新評分,同時對未評分的文檔進行預測,并將預測分數從高到低排序就可以生成推薦列表。換句話說,就是將RBM應用到協同過濾中。
對傳統的RBM進行改進:可見層使用Softmax神經元;用戶只對部分文檔評分,而對于沒有評分的文檔使用一種特殊的神經元表示,這種神經元不與任何隱藏層神經元連接。具體結構如圖所示。 
受限玻爾茲曼機
圖中可以看到,Softmax神經元是一個長度為K的向量(圖中K為5),并且這個向量每次只有一個分量為1,而且第i個單元為1僅當用戶對該文檔打分為i是才會置為1,其余為0。從而可以得到可見層單元和隱藏層單元被激活的概率:  
使用前面提到的CD算法,各個參數的學習過程如下: 
RBM經過學習以后,可以得到整個網絡的全部參數。給定一個用戶u和一個文檔i,預測評分R(u, i)過程如下:
1)將用戶u的所有評分作為RBM的softmax單元的輸入
2)對于所有的隱藏單元j計算激活概率
3)對于所有的k=1,2,…,K,計算
4)取期望值作為預測結果,比如
以上RBM只用到用戶對文檔的評分,忽略了很重要的信息:用戶瀏覽過哪些文檔,但是并沒有評的情況。條件RBM (Conditional Restricted Boltzmann Machine)對這種信息可以進行建模。 
RBM
其中r是m維的向量,為1的話,表示用戶對瀏覽過第i個電影,加入r之后的條件概率:
權重D的學習過程:
4.6.17 KMP算法
Knuth-Morris-Pratt字符串查找算法(簡稱為KMP算法)可在一個主文本字符串S內查找一個詞W的出現位置。此算法通過運用對這個詞在不匹配時本身就包含足夠的信息來確定下一個匹配將在哪里開始的發現,從而避免重新檢查先前匹配的字符。
4.6.18 LCS算法
最長公共子序列(LCS)是一個在一個序列集合中(通常為兩個序列)用來查找所有序列中最長子序列的問題。這與查找最長公共子串的問題不同的地方是:子序列不需要在原序列中占用連續的位置。最長公共子序列問題是一個經典的計算機科學問題,也是數據比較程序,比如Diff工具,和生物信息學應用的基礎。它也被廣泛地應用在版本控制,比如Git用來調和文件之間的改變。
一個數列S,如果分別是兩個或多個已知數列的子序列,且是所有匹配此條件序列中最長的,則S稱為已知序列的最長公共子序列。對于一般性的LCS問題(即任意數量的序列)是屬于NP-hard。但當序列的數量確定時,問題可以使用動態規劃在多項式時間內解決。

案例搜索
合作聯系
010-82872655
典型案例