MatLab是由美國(guó)The MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,目前世界上180多個(gè)國(guó)家的超過(guò)三百萬(wàn)工程師和科學(xué)家在使用MATLAB和Simulink。MATLAB主要用于數(shù)值分析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理、數(shù)字信號(hào)處理、通訊系統(tǒng)設(shè)計(jì)與仿真、財(cái)務(wù)與金融工程,是一款商業(yè)數(shù)學(xué)軟件。MATLAB擁有豐富的算法工具箱,因此在工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域都能看到它的身影,可謂是無(wú)處不在。同時(shí),作為三大數(shù)學(xué)軟件之一,它在數(shù)學(xué)類科技應(yīng)用軟件中的數(shù)值計(jì)算方面可謂是首屈一指。
說(shuō)點(diǎn)人話,這是個(gè)什么樣的工具呢?一個(gè)能在你決定砸錢造出某個(gè)武器前,能告訴你這個(gè)設(shè)計(jì)造出來(lái)后大概率會(huì)怎么運(yùn)作的工具,而且只要你能把問(wèn)題描述對(duì)、邊界描述對(duì),它還能給你答案的工具。
2020年根據(jù)美國(guó)商務(wù)部的通知,北京航空航天大學(xué)、中國(guó)人民大學(xué)、國(guó)防科技大學(xué)、湖南大學(xué)、哈爾濱工業(yè)大學(xué)、哈爾濱工程大學(xué)、西北工業(yè)大學(xué)、西安交通大學(xué)、電子科技大學(xué)、四川大學(xué)、同濟(jì)大學(xué)、廣東工業(yè)大學(xué)以及南昌大學(xué)等 13 所大學(xué)列入了禁用MATLAB的“實(shí)體名單”。
由于matlab軟件費(fèi)用昂貴,但是又加上美國(guó)對(duì)中國(guó)高校的matlab制裁,只有不在美國(guó)要求的實(shí)體名單的很少部分學(xué)校花錢購(gòu)買此軟件,學(xué)生只需要使用該學(xué)校單位登錄,教育郵箱注冊(cè)驗(yàn)證即可。
我們打開注冊(cè)地址:https://www.mathworks.com/ 點(diǎn)擊右上角獲取GET MATLAB,點(diǎn)擊Create Account按鈕用郵箱直接注冊(cè),我們要用edu郵箱,不要用非edu郵箱或者虛假大學(xué)edu郵箱,什么是虛假大學(xué),就是某寶上的ac.cn或者查詢不存在的大學(xué)。如下圖所示:
To access your organization’s MATLAB license, use your work or university email.要訪問(wèn)您組織的 MATLAB 許可證,請(qǐng)使用您的工作或大學(xué)電子郵件。
如果我們使用非真實(shí)組織郵件或者是商業(yè)類郵箱進(jìn)行注冊(cè)會(huì)提示:We are unable to validate this email address. If you must use this address, contact Customer Support.我們無(wú)法驗(yàn)證此電子郵件地址。如果您必須使用此地址,請(qǐng)聯(lián)系客戶支持。
我們使用真實(shí)edu郵箱注冊(cè),會(huì)直接提示創(chuàng)建密碼:
我們輸入edu郵箱收到的驗(yàn)證碼,進(jìn)行MATLAB賬號(hào)確認(rèn)。
我們?cè)O(shè)置完密碼后,MATLAB會(huì)要求你填寫郵箱的機(jī)構(gòu)信息,姓名,位置,學(xué)生類型,研究領(lǐng)域,還有年齡是否大于13歲。
如果我們的郵箱所對(duì)應(yīng)的學(xué)校沒有購(gòu)買MATLAB軟件授權(quán),直接會(huì)提示:You do not have any licenses linked with your MathWorks Account,你沒有任何與您的MathWorks 賬戶所關(guān)聯(lián)的許可證。
如果我們的edu郵箱學(xué)校購(gòu)買了MATLAB軟件授權(quán),打開https://www.mathworks.com/mwaccount許可證查看地址,會(huì)提示:
Your account has been created and licensehas been linked with your account. 您的帳戶已創(chuàng)建,許可證已與您的帳戶相關(guān)聯(lián)。
我們看到MATLAB賬戶下有學(xué)術(shù)授權(quán),產(chǎn)品屬性是 Academic ,學(xué)術(shù)的意思。我們的edu郵箱也會(huì)收到來(lái)自service@account.mathworks.com發(fā)送的訪問(wèn)您的 MathWorks 許可證的郵件提示:
您現(xiàn)在擁有關(guān)聯(lián)到您 MathWorks 帳戶的 MathWorks 軟件許可證
為了充分利用您的許可證,請(qǐng)登錄到您的 MathWorks 帳戶以查看您的許可證權(quán)益。
有關(guān)您 MathWorks 帳戶的問(wèn)題,請(qǐng)聯(lián)系支持部門。
MathWorks 客戶服務(wù)團(tuán)隊(duì)
不建議用盜版原因:當(dāng)然可以,我有個(gè)朋友,咳,上學(xué)時(shí)候用的就是盜版Matlab,成績(jī)照樣A+。但是做科研與上學(xué)做作業(yè)不同,做科研是要發(fā)表paper的,paper是公開給所有人看的。這個(gè)時(shí)候如果在paper上出現(xiàn)了未授權(quán)的Matlab成果,Matlab公司的人就會(huì)來(lái)查水表要求巨額侵權(quán)索賠。Matlab還有強(qiáng)大的繪圖功能,平時(shí)我們?cè)诟鞣N科學(xué)文獻(xiàn)里看到那些精美的數(shù)據(jù)表大概率就出自Matlab,而這都很容易就能被查出來(lái)。所以偷著用Matlab研究可行,但是你能捂著所有科研人員不發(fā)paper嗎?我們?cè)龠M(jìn)一步陰謀論,如果Matlab再使個(gè)壞,留個(gè)后門,讓所有盜版Matlab的計(jì)算故意偷偷出錯(cuò),1+1=3,那么很多科研人員嘔心瀝血的成果就錯(cuò)到一文不值了。
本普及文章是采用edu郵箱平臺(tái)的matlab軟件教育許可賬戶進(jìn)行研究測(cè)試,如果有需要可以進(jìn)行溝通交流。
轉(zhuǎn)載聲明:本文文章所需要的郵箱、文字、圖片等素材均由edu官方資訊平臺(tái)edumails.cn提供,并已獲得獨(dú)家轉(zhuǎn)載授權(quán)。
原文參考:https://www.edumails.cn/matlab.html
者:Seth DeLand
翻譯:王威力
校對(duì):萬(wàn)文菁
本文約1800字,建議閱讀8分鐘。
本文是一個(gè)循序漸進(jìn)的指南,包括如何預(yù)處理數(shù)據(jù)和從中生成特征。并且還包含其他示例資源的鏈接,以幫助您探索有關(guān)機(jī)器學(xué)習(xí)的方法和其他示例。
機(jī)器學(xué)習(xí)的實(shí)現(xiàn)路線充滿了反復(fù)試驗(yàn)。在這個(gè)領(lǐng)域,新手工程師和科學(xué)家將不斷調(diào)整他們的算法和模型。此過(guò)程中會(huì)出現(xiàn)挑戰(zhàn),尤其是在數(shù)據(jù)處理和確定最優(yōu)模型的時(shí)候。
在建立機(jī)器學(xué)習(xí)模型時(shí),重要的是知道現(xiàn)實(shí)世界的數(shù)據(jù)并不完美,因此不同類型的數(shù)據(jù)需要不同的處理方法和工具,并且在確定最優(yōu)模型的時(shí)候不可避免會(huì)有取舍。
下面的系統(tǒng)流程將描述如何開發(fā)一個(gè)訓(xùn)練好的模型用于手機(jī)健康監(jiān)測(cè)app,該app跟蹤用戶整天的活動(dòng)。輸入包括手機(jī)端記錄的感知器數(shù)據(jù)。輸出將是用戶的活動(dòng):行走,站立,坐下,跑步,或跳舞。由于這是一個(gè)分類問(wèn)題,這個(gè)例子將應(yīng)用有監(jiān)督學(xué)習(xí)。
訪問(wèn)和加載數(shù)據(jù)
用戶將拿著手機(jī)坐下來(lái),記錄傳感器數(shù)據(jù),并將其存儲(chǔ)在標(biāo)記為“坐下”的文本文件中。之后,用戶拿著手機(jī)站起來(lái),記錄傳感器數(shù)據(jù),并將其存儲(chǔ)在標(biāo)記為“站立”的文本文件中。用同樣的方法來(lái)記錄跑步、行走、跳舞的數(shù)據(jù)。
數(shù)據(jù)預(yù)處理
由于機(jī)器學(xué)習(xí)算法無(wú)法區(qū)分?jǐn)?shù)據(jù)中的噪聲和有價(jià)值的部分,所以需要在訓(xùn)練模型前清洗數(shù)據(jù)。數(shù)據(jù)預(yù)處理可以用數(shù)據(jù)分析工具來(lái)實(shí)現(xiàn),比如MATLAB。為了清理數(shù)據(jù),用戶可以導(dǎo)入并繪制數(shù)據(jù),去除異常值。在這個(gè)例子中,離群值可能是由于在記錄數(shù)據(jù)時(shí)無(wú)意中移動(dòng)了手機(jī)造成。用戶還需要檢查缺失值,缺失值可用其他樣本的近似值或參照數(shù)據(jù)代替。
圖 1 數(shù)據(jù)預(yù)處理之去除離群值,即位于數(shù)據(jù)主要部分之外的數(shù)據(jù)點(diǎn)。
數(shù)據(jù)清洗之后,將數(shù)據(jù)集分為兩個(gè)部分,一部分作為訓(xùn)練集,另一部分將是用于測(cè)試和交叉驗(yàn)證的“保留”數(shù)據(jù)。
使用預(yù)處理后的數(shù)據(jù)生成特征
原始數(shù)據(jù)必須轉(zhuǎn)化成機(jī)器學(xué)習(xí)算法可以使用的信息。要實(shí)現(xiàn)這一點(diǎn),用戶必須生成能夠區(qū)分手機(jī)端數(shù)據(jù)的特征。
在這個(gè)例子中,工程師和科學(xué)家必須劃分好特征以幫助算法區(qū)分步行(低頻)和跑步(高頻)。
數(shù)據(jù)類型
特征選擇目標(biāo)
技巧
傳感器數(shù)據(jù)
從原始傳感器數(shù)據(jù)中提取信號(hào)特性以創(chuàng)建更高級(jí)別的信息
峰值分析——應(yīng)用傅里葉變化,識(shí)別主頻
脈沖和轉(zhuǎn)移矩陣——得到信號(hào)特征如上升時(shí)間、下降時(shí)間、趨穩(wěn)時(shí)間
頻譜測(cè)量——畫出信號(hào)功率、帶寬、均值頻率、中值頻率
圖像和視頻數(shù)據(jù)
提取特征,例如邊緣位置、分辨率、顏色
視覺詞袋——生成圖像特征直方圖,例如邊緣、角點(diǎn)、連通區(qū)域
方向梯度直方圖——生成梯度方向直方圖
最小特征值算法——監(jiān)測(cè)圖像角點(diǎn)
邊緣探測(cè)——探測(cè)圖像亮度變化最快的像素點(diǎn)位置
交易數(shù)據(jù)
計(jì)算提煉數(shù)據(jù)中信息的派生值
時(shí)間標(biāo)記分解——把時(shí)間標(biāo)記分解成到天或者月
計(jì)算集成值——生成更高級(jí)別的特征,比如某一特殊時(shí)間出現(xiàn)的總次數(shù)
表 1 依據(jù)數(shù)據(jù)類型導(dǎo)出特征,可以把原始數(shù)據(jù)轉(zhuǎn)化成機(jī)器學(xué)習(xí)模型可以使用的高級(jí)別信息
建立并訓(xùn)練模型
從一個(gè)簡(jiǎn)單的決策樹開始:
圖 2 基于特征建立的決策樹分類模型
繪制混淆矩陣以觀察模型效果。
圖 3 矩陣顯示該模型在區(qū)分跳舞和跑步時(shí)存在問(wèn)題
基于上面的混淆矩陣,這表示決策樹不適合這種類型的數(shù)據(jù),或者應(yīng)該使用不同的算法。
K近鄰算法(KNN)存儲(chǔ)所有訓(xùn)練數(shù)據(jù),將新數(shù)據(jù)點(diǎn)與訓(xùn)練數(shù)據(jù)進(jìn)行比較,得到K個(gè)最相似樣本,并返回這些相似樣本的最頻繁類。這個(gè)算法展示出更高的準(zhǔn)確度。
圖 4 改用KNN算法提高了準(zhǔn)確度——盡管還有提高的可能性
另一個(gè)選擇是多分類支持向量機(jī)(SVM):
圖 5 SVM的準(zhǔn)確率在每個(gè)分類標(biāo)簽上都接近99%
這個(gè)過(guò)程證明了通過(guò)反復(fù)試驗(yàn)可以更好實(shí)現(xiàn)目標(biāo)。
改進(jìn)模型
如果模型無(wú)法可靠地區(qū)分跳舞和跑步,就需要改進(jìn)模型。改進(jìn)模型可以通過(guò)使其復(fù)雜化以更好地?cái)M合數(shù)據(jù),或者使其簡(jiǎn)單化以降低過(guò)擬合的可能性。
為了簡(jiǎn)化模型,可以通過(guò)以下方法減少特征數(shù)量:
為了使模型更加復(fù)雜,工程師和科學(xué)家可以通過(guò)集合多個(gè)簡(jiǎn)單模型得到一個(gè)更大的模型或者增加更多數(shù)據(jù)源。
完成訓(xùn)練和調(diào)整之后,模型可以應(yīng)用在測(cè)試集(數(shù)據(jù)預(yù)處理時(shí)保留的一部分?jǐn)?shù)據(jù))。如果模型可以可靠地對(duì)活動(dòng)分類,那么它就可以應(yīng)用在手機(jī)應(yīng)用程序。
工程師和科學(xué)家第一次訓(xùn)練機(jī)器學(xué)習(xí)模型的時(shí)候?qū)?huì)遇到挑戰(zhàn),但應(yīng)該意識(shí)到反復(fù)試驗(yàn)是過(guò)程的一部分。
上述的工作流程提供了構(gòu)建機(jī)器學(xué)習(xí)模型的路線圖,并且可以應(yīng)用到其他不同的問(wèn)題上,比如預(yù)測(cè)維護(hù)、自然語(yǔ)言處理和自動(dòng)駕駛。
探索這些資源以了解更多機(jī)器學(xué)習(xí)方法和例子:
原文標(biāo)題:
Building a Machine Learning Model through Trial and Error
原文鏈接:
https://www.kdnuggets.com/2018/09/mathworks-building-machine-learning-model-through-trial-error.html
譯者簡(jiǎn)介
王威力,求職狗,在香港科技大學(xué)學(xué)習(xí)大數(shù)據(jù)科技。感覺數(shù)據(jù)科學(xué)很有難度,也很有意思,還在學(xué)(tu)習(xí)(tou)中。一個(gè)人肝不動(dòng)的文獻(xiàn),來(lái)數(shù)據(jù)派follow大佬一起肝。
— 完 —
關(guān)注清華-青島數(shù)據(jù)科學(xué)研究院官方微信公眾平臺(tái)“THU數(shù)據(jù)派”及姊妹號(hào)“數(shù)據(jù)派THU”獲取更多講座福利及優(yōu)質(zhì)內(nèi)容。
日,有哈工大學(xué)生表示收到了正版軟件取消激活的通知,而在與 MATLAB 開發(fā)公司 MathWorks 交涉之后,被告知由于美國(guó)政府實(shí)體名單的原因,相關(guān)授權(quán)已被終止。目前,哈爾濱工業(yè)大學(xué)、哈爾濱工程大學(xué)的老師和學(xué)生們都無(wú)法使用 MATLAB。
大學(xué)讀理工科專業(yè)的同學(xué)基本上都接觸過(guò)MATLAB這款軟件,有分析人士指出,如果整個(gè)學(xué)校被禁用了正版 MATLAB,這意味著學(xué)校的人員在發(fā)表論文或者從事商業(yè)項(xiàng)目,其成果原則上就不應(yīng)包含任何基于 MATLAB 的內(nèi)容,這對(duì)國(guó)內(nèi)相關(guān)企業(yè)和研究學(xué)者帶來(lái)的影響不可忽視。這件事在國(guó)內(nèi)社交媒體迅速發(fā)酵并登上熱搜,引發(fā)學(xué)術(shù)界和技術(shù)界的廣泛討論。 現(xiàn)在只是禁止了實(shí)體名單的上的幾所高校,但是誰(shuí)又能保證后續(xù)不會(huì)加碼制裁打擊中國(guó)高校,抑制中國(guó)科技發(fā)展呢?因此通過(guò)此次禁用事件,我們有理由說(shuō)現(xiàn)在已經(jīng)到了后MATLAB時(shí)代!急需找到MATLAB合適的替代品。
為此我們收集整理到的一些開源軟件,可以起到一定的替代效果。包括:python,SCILAB、Octave、Spyder、Python、GMAT、GNU Radio、ROS。特別是SCILAB,它與MATLAB最為接近,近乎可以實(shí)現(xiàn)完美替代!
Python是一門完全免費(fèi)的通用編程語(yǔ)言,以開源的方式提供了大量各類用途的庫(kù)與包,如Numpy(數(shù)值計(jì)算)、SciPy(數(shù)學(xué)、科學(xué)和工程計(jì)算)、Matplotlib(類似MATLAB中plot的繪圖工具)等等。
Python是一門更易學(xué)更嚴(yán)謹(jǐn)?shù)拿嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。作為通用程序設(shè)計(jì)語(yǔ)言的Python,有更為嚴(yán)格清晰的語(yǔ)法,可以輕易完成界面、文件、封裝等高階需求,可移植性更好,也非常適合AI、網(wǎng)絡(luò)等相關(guān)應(yīng)用。
Python的擁有龐大的數(shù)學(xué)庫(kù),如果不是必須用到MATLAB simulink的話,用Python來(lái)取代MATLAB 應(yīng)該是最佳方式了。我們經(jīng)常可以看到這樣一個(gè)公式:
python+NumPy+Scipy+matplotlib = Matlab
SCILAB 一詞來(lái)源于英文“Scientific Laboratory"(科學(xué)實(shí)驗(yàn)室)詞頭的合并。與MATLAB類似,SCILAB也是一種科學(xué)工程計(jì)算軟件,其數(shù)據(jù)類型豐富,可以很方便地實(shí)現(xiàn)各種矩陣運(yùn)算與圖形顯示,能應(yīng)用于科學(xué)計(jì)算、數(shù)學(xué)建模、信號(hào)處理、決策優(yōu)化、線性/非線性控制等各個(gè)方面。它還提供可以滿足不同工程與科學(xué)需要的工具箱,例如SCICOS,信號(hào)處理工具箱,圖與網(wǎng)絡(luò)工具箱等。可以說(shuō),就基本的功能如科學(xué)計(jì)算、矩陣處理及圖形顯示而言,MATLAB能完成的工作SCILAB都可以實(shí)現(xiàn)。由于SCILAB的語(yǔ)法與MATLAB非常接近,熟悉MATLAB編程的人很快就會(huì)掌握SCILAB的使用。有意思的是,SCILAB提供的語(yǔ)言轉(zhuǎn)換函數(shù)可以自動(dòng)將用MATLAB語(yǔ)言編寫的程序翻譯為SCILAB語(yǔ)言。目前,SCILAB除了WINDOWS與NT版本外,還有多種UNIX或LINUX下的版本,如SGI MIPS Irix, PC Linux, Sun Sparc stations(SunSolaris) 等。
SCILAB 是一款與 MATLAB 類似的開源軟件,可以實(shí)現(xiàn) MATLAB 上所有基本的功能,如科學(xué)計(jì)算、數(shù)學(xué)建模、信號(hào)處理、決策優(yōu)化、線性、非線性控制等各個(gè)方面。由于 SCILAB 的語(yǔ)法與 MATLAB 非常接近,熟悉 MATLAB 編程的人很快就會(huì)掌握 SCILAB 的使用。有意思的是,SCILAB 提供的語(yǔ)言轉(zhuǎn)換函數(shù)可以自動(dòng)將用 MATLAB 語(yǔ)言編寫的程序翻譯為 SCILAB 語(yǔ)言。目前,SCILAB 可在 Linux、WINDOWS 和 Mac OS 全 PC 平臺(tái)運(yùn)行。
作為開放源碼的軟件,SCILAB的源代碼、用戶手冊(cè)及二進(jìn)制的可執(zhí)行文件都是免費(fèi)的,公布于INRIA的網(wǎng)站上(中法實(shí)驗(yàn)室已建立其鏡像網(wǎng)站),可以直接下載,在EETOP論壇SCILAB專區(qū)也可以下載:
http://bbs.eetop.cn/forum-114-1.html
更重要的是SCILAB 是由法國(guó)國(guó)家信息、自動(dòng)化研究院的科學(xué)家們開發(fā)的“開放源碼”軟件,和美國(guó)沒有關(guān)系!
此外最關(guān)鍵的是SCILAB也一個(gè)有類似 MATLAB simulink的工具Xcos!simulink能做的Xcos也可以完成,并且界面和使用也很類似!很多網(wǎng)友擔(dān)心的simulink無(wú)法替代問(wèn)題迎刃而解!
因此SCILAB 近乎可以完美替代MATLAB!(歡迎用過(guò)的朋友補(bǔ)充說(shuō)明)
如果已經(jīng)對(duì)MATLAB語(yǔ)言非常熟悉,暫時(shí)不想學(xué)習(xí)一門新的語(yǔ)言,那么可以嘗試一下Octave。Octave是GNU項(xiàng)目成員之一,提供了與MATLAB語(yǔ)法兼容的開放源代碼科學(xué)計(jì)算及數(shù)值分析的工具。
Octave 是一個(gè)類似 MATLAB 和 Scilab 的數(shù)學(xué)軟件包,可以進(jìn)行各種運(yùn)算,編程。它還有豐富的 C++ 接口可以讓用戶編程時(shí)調(diào)用。其配套的繪圖工具采用 gnuplot 。Octave 的使用也是基于字符終端模式的,當(dāng)需要繪圖時(shí),將會(huì)調(diào)用 gnuplot 進(jìn)行數(shù)據(jù)繪圖,并顯示出來(lái)。
Octave 使用 C++ 編寫的,它內(nèi)容豐富的庫(kù)也可以供用戶在編寫軟件時(shí)調(diào)用。Octave 同時(shí)還支持 Fortran 等的調(diào)用,GSL 綁定等。可以由用戶定制自己的函數(shù)、子程序等。
對(duì)于航天器軌道計(jì)算、任務(wù)分析等,可以嘗試General Mission Analysis Tool (GMAT)。GMAT提供了圖像化界面或腳本兩種接口,相比于STK,GMAT的深空探測(cè)相關(guān)功能更加強(qiáng)大,可配置的資源也更多。
GNU Radio是一個(gè)對(duì)學(xué)習(xí),構(gòu)建和部署軟件定義無(wú)線電系統(tǒng)的免費(fèi)軟件工具包,可通過(guò)Python或類似于Simulink/Labview的圖形化界面調(diào)用。紫丁香、龍江等衛(wèi)星的業(yè)余無(wú)線電接收解調(diào)軟件就是在GNU Radio基礎(chǔ)上開發(fā)并開源發(fā)布的。
ROS是一種針對(duì)于滿足不同機(jī)器人軟件協(xié)同工作的靈活軟件框架。目的在于提高軟件模塊化能力和復(fù)用能力,并實(shí)現(xiàn)不同任務(wù)間的數(shù)據(jù)/信號(hào)量的有效共享,方便多種機(jī)器人平臺(tái)之間創(chuàng)建復(fù)雜和魯棒的機(jī)器人行為,同時(shí)它也是一種工具庫(kù)的約定與集合。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。