原创 吳恩達機器學習CS229A_EX1_線性迴歸_Python3

單變量回歸 問題描述:你的數據集中,x 是某個城市的人口數量,y 是你的餐車在那個城市的盈虧數額。對這個數據集進行挖掘,幫助你進行決策。 首先導入並分析數據: import numpy as np import pandas as pd

原创 CMU_CSAPP_LAB3_ATTACKLAB

本實驗要仔細閱讀對應的 write up ,上面給了大量的提示信息,主要是介紹兩種攻擊方式,分兩部分,第一部分的方式對於現代計算機已經基本無效了,第二部分的方式過程比較繁雜,不過原理還是很容易理解的。實驗的主要目的還是熟悉計算機的程序控制

原创 機器學習實戰_Python3.7_決策樹_ID3

決策樹 ID3 算法原理比較簡單,處理數據的過程也比較容易理解,簡單的說就是以數據集的香農熵作爲判據,利用樹的數據結構遞歸對數據集進行分類。 STEP1 計算數據集的香農熵 #計算數據集的香農熵 def calcShannonEnt(d

原创 哈工大劉宏偉《計算機組成原理》課程框架總結

哈工大劉宏偉老師的《計算機組成原理》採用自頂向下方法,系統介紹了計算機各個基本部件的體系結構、邏輯實現、控制方式。(一定數電基礎是必要的,如果瞭解彙編更有助於理解部分內容) B站鏈接計算機組成原理——哈工大劉宏偉(B站) 慕課鏈接(上)計

原创 CMU_CSAPP_LAB2_BOMBLAB

CSAPP第二章的第一個實驗BombLab實驗記錄。 實驗內容主要使用 gdb 、objdump 等指令在終端調試程序,利用反彙編查看各個函數運行的彙編代碼,瞭解各個函數的執行過程。 附gdb指令精簡手冊:http://csapp.cs.

原创 CMU_CSAPP_LAB1_DATALB_環境配置與代碼實現

本文對CSAPP學習第二章《信息的表示與處理》中的編程案例實踐和大實驗DATALAB進行彙總小結。 第二章內容主要包括: 數據在內存中的表示方式 布爾運算——位運算(~  &  |  ^)、邏輯運算(!  &&  ||) 整數的表示方法與

原创 吳恩達機器學習CS229A_EX4_神經網絡與反向傳播算法_Python3

神經網絡與反向傳播算法 模型是前饋神經網絡,優化方法是梯度下降法,求偏導的方式是反向傳播算法,數據集依然是手寫數字。 本文關於反向傳播算法 BP,附了一些數學解釋,詳細講解了算法過程。 關於前向傳播算法 FP,可以參考:吳恩達機器學習CS

原创 吳恩達機器學習CS229A_EX5_偏差與方差_Python3

本次實驗使用 EX1 寫過的線性迴歸,主要是分析理解欠擬合(高偏差 bias)和過擬合(高方差 variance)。 因爲編寫的代碼基本在 EX1 和 EX2 都有涉及,主要記錄實驗過程,關於代碼的詳細註解可以參考: 吳恩達機器學習CS2

原创 吳恩達機器學習CS229A_EX3_LR與NN手寫數字識別_Python3

任務描述 數據集爲手寫數字,是一個多分類問題,分別用邏輯迴歸和神經網絡做。 邏輯迴歸 邏輯迴歸及其正則化已經在 EX 2 做過,這裏做一些修改即可。 首先導入數據,給出的數據集是 Matlab 的 .mat 格式,每個樣本是 20 * 2

原创 吳恩達機器學習CS229A_EX2_邏輯迴歸與正則化_Python3

邏輯迴歸 問題描述:特徵集爲學生的兩門課的成績,標籤集爲是否被大學錄取。 說明: 這裏調用 scipy 庫函數執行梯度下降的具體迭代,不用手動設置步長和迭代次數,但 cost 如何計算、梯度如何求取需要以函數形式傳遞給 scipy; nu

原创 吳恩達機器學習CS229A_EX1_線性迴歸

單變量回歸 問題描述:你的數據集中,x 是某個城市的人口數量,y 是你的餐車在那個城市的盈虧數額。對這個數據集進行挖掘,幫助你進行決策。 首先導入並分析數據: import numpy as np import pandas as pd

原创 機器學習實戰_Python3.7_AdaBoost元算法

AdaBoost 元算法  AdaBoost 元算法是基於某一個前面介紹過的算法(比如 kNN、決策樹、SVM)的,以決策樹爲例,我們的目標不是直接訓練完整的決策樹,尋求最優的參數設置,而是用很多不完美的決策樹,將它們的計算結果經過加權

原创 機器學習實戰_Python3.7_支持向量機SVM

SVM 算法原理 SVM 基本思想是依據“間隔最大化”,構建超平面將特徵空間一分爲二,用於分類。 SVM 可分爲三類: 線性可分 SVM 線性 SVM 非線性 SVM 線性可分 SVM 用於處理線性可分的數據,其分類結果是“完美”的、唯一

原创 機器學習實戰_Python3.7_kNN算法

使用 Python3.7 編譯,代碼與書中類似,修改了 python2 被淘汰的語法,附詳細註解。 kNN算法原理非常簡單,無需贅述,缺點主要是運行速度。 這裏使用的方法全都是矩陣結構,全局遍歷,沒有用到高級數據結構,運行效率較低,但是實

原创 機器學習實戰_Python3.7_Logistic迴歸

Logistic 迴歸,算法思想是使用 sigmoid( W * X ) 來預測結果,將特徵置以不同權制相加,再加上一個偏置量,得到的值經過 sigmoid 函數的處理,進行預測。 其中 W 向量是我們要根據訓練集數據得到的,這裏用的方法