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