主頁 > 後端開發 > 基于基因資料的神經網路模式分類研究

基于基因資料的神經網路模式分類研究

2020-10-02 10:04:38 後端開發

1.1引言

近年來,隨著基因技術在醫學中的廣泛應用,基于基因資料的計算機輔助診斷迅速發展起來,計算機輔助診斷可以提高醫生診斷的準確率,協助醫生對病人病因進行判斷和識別并有助于預防疾病,在特征提取的基礎上進行模式分類是基于基因的計算機輔助診斷的重要步驟,如人工神經網路等分類方法已廣泛的應用于疾病診斷及預防系統之中,

人工神經網路的研究已有半個多世紀的歷史,起源于20世紀40年代,20世紀80年代開始蓬勃發展,如今出現了研究的新熱潮.人工神經網路的研究主要是直接模擬人腦的結構和功能,具有生物神經網路的某些特性,在自學習、自組織、聯想、及容錯方面具有較強的能力,能用于聯想、識別和決策.概率神經網路是20世紀90年代初提出來的一個分類網路,它以貝葉決策和密度函式估計為理論基礎,廣泛應用于模式識別和模式分類領域.因此,研究概率神經網路的模式識別具有重要的理論意義和應用前景,

1.2人工神經網路的發展及研究現狀

人工神經網路(Artificial Neural Network),亦稱為神經網路(Neural Networks,NN),是由大量神經處理單元(神經元Neurons)廣泛互連而成的網路,是對人腦的抽象、簡化和模擬,反映人腦的基本特征,人工神經網路的研究是從人腦的生理結構出發來研究人的智能行為,模擬人腦資訊處理的功能,

人工神經網路能模擬人類大腦的某些功能和思維方式,從而更好地解決模式識別、組合優化和智能控制等一系列本質上非計算的問題,它有如下優點:具有很強的自學習和自適應能力,可以處理不確定或不知道的系統;具有很強的資訊綜合能力,能同時處理定量和定性的資訊,能很好地協調多種輸入資訊關系;具有很強的魯棒性和容錯性,因為資訊是分布貯于網路內的神經元中;采用并行處理方法,使得計算快速;可以充分逼近任意復雜的非線性關系等,經過近半個世紀的發展,神經網路理論已在許多研究領域取得了廣泛的成功,神經網路和其它演算法的結合和交叉,構造混合神經網路模型,是當前神經網路研究的主要趨勢,如神經網路和模糊邏輯結合,建立模糊神經網路;將混沌理論和神經網路結合建立混沌神經網路;將優化演算法和神經網路結合,利用優化演算法優化神經網路的結構或權值;將小波分析和神經網路結合建立小波神經網路;貝葉斯學習以及粗糙集理論和神經網路結合等,都是當前神經網路研究的熱點,

到目前為止,神經網路的型別已多達數百種,神經網路的理論研究和實際應用有了引人注目的發展,神經網路在向縱深發展的同時,也在向模糊技術、進化計算等智能方法相結合的方向上發展,并廣泛應用于模式識別等多個領域,尤其是在模式識別方面,神經網路所表現出來的能力超過了包括統計方法、靜態方法和人工智能方法在內的傳統方法,

1.3 研究意義

神經網路通俗來講,就是人們平時所說的“人工智能”,這個詞是神經網路在人類大腦上歷史基礎的結果,神經網路是基于人類大腦作業的簡化模型-這就解釋了與人腦相關的神經網路術語,例如,神經網路是經過訓練的,而訓練的程序被稱為"學習",神經網路,例如多層的感知器,甚至使用被稱為"神經元"的內部結構,神經細胞由此接收輸入并且以不同的強度發射信號,人工神經元網路是生物神經網路的一種模擬和近似,它從結構、實作機理和功能上模擬生物 神經網路,從系統觀點看,人工神經元網路是由大量神經元通過極其豐富和完善的連接而構 成的自適應非線性動態系統,

模式識別是一種從大量資訊和資料出發,在專家經驗和已有認識的基礎上,利用計算機和數學推理的方法對形狀、模式、曲線、數字、字符格式和圖形自動完成識別的程序,模式識別包括相互關聯的兩個階段,即學習階段和實作階段,前者是對樣本進行特征選擇,尋找分類的規律,后者是根據分類規律對未知樣本集進行分類和識別,廣義的模式識別屬計算機科學中智能模擬的研究范疇,內容非常廣泛,包括聲音和語言識別、文字識別、指紋識別、聲納信號和地震信號分析、照片圖片分析、化學模式識別等等,在現實世界中,人類發出的聲音、印刷或者書寫出的文字、眼睛看到的風景,以及測量器輸出的信號等,以各種各樣的模式存在著,如果計算機能夠聽出并且分辨出這些模式,就能夠簡單地輸入到計算機,并且可以送到工專業人員的作業負擔,把模式輸入到計算機后,通過一系列的處理,就可對其進行識別,

在模式識別中有很多方法:統計模式識別方法,句法結構模式識別,人工神經網路模式識別,前面兩者在實際應用程序中都顯示出各自的局限性,而人工神經網路的研究起源于對生物神經系統的研究,采用反向傳播(BP)網路,具有良好的模式分類能力,引入模糊邏輯理論,能較好地處理一些資料的不確定性問題,因此它對待識別的物件不要求有太多的分析與了解,具有一定的智能化處理的特點,由于具有良好的容錯能力、分類能力強、并行處理能力和自學習能力,因而,采用神經網路識別方式是一種很好的選擇,

傳統的分類方法對于同類相聚,異類分離比較有優勢,但客觀世界中許多事物在樣本空間中的區域分割曲面非常復雜,相近的樣本可能屬于不同的類,而遠離的樣本可能屬于同一類1,模式是對某些感興趣的客體的定量描述或結構描述,模式類是具有某些共同特征的模式的集合,模式分類可分為兩種型別,分類和聚類,分類是在類別知識等導師資訊的指導下,將待識別的輸入模式分配到各自的模式類中去,聚類是無導師的分類方法,它是將相似的模式樣本劃歸為一類,而將不相似的分離開,實作了模式樣本類內相似性和類間分離性,通過聚類,可以發現原始樣本的分布特性,

神經網路對外界的輸入樣本具有很強的識別能力,可以發現輸入樣本自身的聯系和規律以及輸入樣本和期望輸出之間的非線性規律,因此在模式分類方面具有傳統分類方法無法比擬的優點,人工神經網路在模式分類方面提出了大量了網路模型,發現了許多學習演算法,

通常所說的神經網路結構,主要指它的連接方式,從拓撲結構上考慮,神經網路屬于以神經元為節點,以節點間的有向連接為邊的一種圖,其結構大體上可分為層狀和網狀兩大類:層狀結構的神經網路是由若干層組成,每層中有一定數量的神經元,下相鄰層中的神經元為單向連接,同層內的神經元不能連接:在網狀結構的神經網路中,任何兩個神經元之間都可能雙向連接,一般常見的神經網路有如下幾種網路結構,

前向網路(前饋網路),前向網路通常包括許多層,其特點是只有前后相鄰兩層之間的神經元存在相互連接,各神經元之間沒有反饋,每個神經元可以從前一層接收多個輸入,并只有一個輸入送給下一層的各神經元,三層前向網路分為輸入層、隱含層和輸出層,在前向網路中有計算功能的節點稱為計算單元,而輸入節點無計算功能,

反饋網路,反饋網路從輸入層到輸出層有反饋,即每個節點同時接收外來輸入和來自其它節點的反饋輸入,其中也包括神經元輸出信號引回到本身輸入成的自環反,這種反網路的節點都是一個計元,

相互結合型網路,這種網路在任意兩個神經元之間都可能有連接,Hopfield網路和Boltzman機均屬于這種型別,在無反饋的前向網路中,信號一旦通過某個神經元,該神經元的處理程序就結束了,而在相互結合網路中,信號要在神經元之間反復傳遞,網路處于一種不斷改變狀態的動態之中,從某初試狀態開始,經過若干次的變化,才會達到某種平衡狀態,

3.1.2神經網路的學習和訓練

人腦中有一個典型的神經元通過許多樹突的精細結構,收集來自其它神經元的資訊,當它收到的興奮輸入足夠大于它的抑制輸入時,神經元將通過軸突發出電話性脈沖,經突觸結構影響其它的神經元,這便發生了學習行為,因此,可以認為神經網路學習的本質特征在于神經細胞特殊的突觸結構所具有的可塑性連接,而如何調整連接權值就構成了不同的學習規則,學習規則就是修改神經網路的權值和偏置值的方法和程序(也稱這種程序是訓練演算法),其目的是為了訓練網路來完成某些作業,現在有很多型別的神經網路學習規則,如Hebb學習規則、Delta學習規則、Wdirow-Hoff學習規則等,大致可以將其分為有監督學習和無監督學習兩大類,

有監督學習,為了使神經網路在實際應用中能解決各種問題,必須對它進行訓練,就是從應用環境中選出一些樣本資料,通過不斷地調整權矩陣,直到得到合適的輸入輸出關系為止,這個程序就是對神經網路的訓練程序,這種訓練程序需要外界監督,提供訓練資料(樣本資料),權值的調整是基于獎懲式的規則:當網路的輸出朝正確的方向變化時,調整權值以強化(獎勵)此方向的變化;而當網路的輸出朝著錯誤方向變化時,權值將朝著榷訓(懲罰)的方向變化,這種學習方法雖然簡單,并能夠根據訓練資料準確地調整出所需的權矩陣,但它也同時要求訓練資料能夠代表實際的應用環境,并且為了適應環境的變化,需要重新調整權值,這樣當學到新知識時,就容易遺忘舊的知識,

無監督學習,無監督學習的訓練資料集中,只有輸入而沒有目標輸出,訓練程序中神經網路將自動地提取各輸入資料的特征,并將其分成若干類,經過訓練好的網路能夠識別訓練資料集以外的新的輸入類別,并相應獲得不同的輸出,

3.2 SOM神經網路

SOM網路是Kohonen于1981年提出的,它引入了網路的拓撲結構,并在這種拓撲結構上進一步引入變化鄰域概念來模擬生物神經網路中的側抑制現象,從而實作網路的自組織特性,SOM網路的無監督學習方式更類似于人類大腦中生物神經網路的學習,其重要特點是通過自動尋找樣本中的內在規律和本質屬性,自組織、自適應地改變網路引數和結構,

自組織映射演算法的基本目標是尋找較小的原型集來存盤一個大的輸入集,而這些原型集能夠提供對輸入空間的良好近似,從分類角度說,自組織映射通過尋找最優參考向量集合來對輸入模式進行分類,這個原型集就是自組織網路的權值向量,因此特征映射提供了對輸入空間的良好近似,

SOM網路能夠根據其學習規則對輸入的模式自動進行分類,即在非監督的情況下,對輸入模式進行自組織學習,通過反復地調整連接著輸入和輸出的權值向量,最終使得這些權值反映出輸入樣本之間的相互距離關系,并在競爭層中將分類結果表示出來,當外界輸入不同的樣本到SOM網路中,一開始時輸入樣本引起輸出興奮的位置各不相同,但通過網路自組織后會形成一些輸出群,它們分別代表了輸入樣本的分布,反映了輸入樣本的圖形分布特征,

SOM網路使輸入樣本通過競爭學習后,相似的輸入靠得比較近,不同的分得比較開,以此將一些無規則的輸入自動排開,在連接權的調整程序中,使得權值的分布與輸入樣本的概率密度分布相似,所以SOM網路可以作為一種樣本特征檢測器,在樣本排序、樣本分類以及樣本檢測方面有廣泛地應用,

SOM 網屬于自組織映射神經網路 SOM神經網路接收外界的輸入模式時會分為不同的對應區域各區域對不同的輸入模式會有不同的回應特征利用這個特征可以對輸入模式進行分類,

5.2 BP神經網路建模

為了降低神經網路的規模和提高網路的性能,我們必須對原始采樣資料進行預處理和特征提取,其中后者非常關鍵,我們采用在神經網路模式識別系統中應用很廣泛的PCA主分量分析方法,而神經網路分類器的設計則是最重要的,我們采用BP多層前饋網路實作,

5.2.1 BP神經網路演算法設計與實作

經過PCA主分量分析處理后的特征維數取為10,故神經網路的輸入層節點數為10,輸出層節點數為3,網路期望輸出值按輸入正面左向時設定為1000,

為了區分分類結果,區分邊界定義為0.9即當三個節點輸出有一個大于0.9時認定為該類,沒有一個大于則認定是假幣,拒絕接收,確定隱層節點數時,先根據經驗公式(其中m為隱層節點數,n為輸入層節點數,為輸出節點數)大概先確定初值為5,然后等后面訓練比較確定最佳值,

5.2.1.1 神經網路引數的選定

網路激勵函式采用Sigmoid函式,訓練學習率初始值經考慮選定為0.1,動量系數選用0.95,最大訓練次數設定為1000次,系統誤差小于時,認為網路收斂,

net.trainParam.show = 1;

net.trainParam.lr = 0.3;

net.trainParam.mc = 0.95;

net.trainParam.mem_reduc = 10;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-6;

net.trainParam.min_grad = 1e-20;

net.trainParam.time = inf;

以上是BP神經網路的初始化引數的設定,

5.2.1.2 樣本訓練

試驗中采用基因資料的采樣資料作為訓練樣本,對網路進行訓練,借助于MATLAB,用改進的BP演算法對以上樣本進行訓練,用-l~l之間的亂數初始化權重,對隱層節點數取2~10之間的數進行試驗,得到不同的訓練次數如下表所示:

NodeNum = 2; % 隱層節點數

TypeNum = 3; % 輸出維數

p1 = xn_train; % 訓練輸入

t1 = dn_train; % 訓練輸出

Epochs = 1000; % 訓練次數

P = xn_test; % 測驗輸入

T = dn_test; % 測驗輸出(真實值)

在這里,我們修改系統的隱層節點數,從2修改到10,我們做對比,

表5-1 不同隱層節點數時網路訓練次數表

隱層

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

次數

>200

33

42

34

21

58

16

13

30

19

33

16

20

20

29

36

由該表可知,隱層節點數為12訓練次數較少,而且從其訓練誤差曲線(用MATLAB畫出如圖5.1)情況來看也比較好,所以最終確定隱層節點數為12,那么最后的網路結構也確定下來即1Ox8x3,即網路容量為2400,

根據已知條件,給定的資料中,已知一組20個樣本具有癌癥特性,而另一組20個樣本具有正常的特性,現在我們要通過神經網路模型將第三組模型進行訓練,做模式分類從而來判斷其具有的特性,

我們首先將前20組資料歸為一個陣列,中間20個歸為一個陣列,最后20個歸為一個陣列,通過BP神經網路演算法對三類進行識別分類,

我們分別以癌癥患者的資料和正常人的基因資料為訓練目標,對第三組資料進行測驗,分別得到如下的結果,

訓練樣本(癌癥病人):

圖5-1 訓練400次

圖5-2 訓練100次

圖5-3 訓練50次

訓練樣本(正常人):

圖5-4 訓練400次

圖5-5 訓練100次

圖5-6 訓練50次

通過以上分析,我們可以知道第三組資料型別可能為正常人基因,

5.3小結

本章研究并設計實作了一個具體的模式識別系統,即人體基因資料的模式分類,在深入分析、設計其硬體構成的基礎上,采用BP神經網路較好地實作了基因資料的識別,開發的樣機運行結果良好,有較高的基因識別率,表明本文所研究與開發的成果有較好的理論意義和實用意義,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/147917.html

標籤:python

上一篇:四元數、歐拉角學習筆記&個人理解

下一篇:orangepi 4B利用python3使用snowboy實作語音喚醒以及使用騰訊AI api實作語音識別、回復以及合成

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more