2018年12月28日 星期五

茶葉tea

茶樹種

今日的茶多至數百種,全都是從三大品種混雜栽種而產生的。

-較常見的茶種
青心烏龍Green Tip Oolong Variety
硬枝紅心Firm Stem Red Tip Variety
鐵觀音Iron Goddess Variety (Tieguanyin Variety)
水仙Narcissus Variety
金萱(台茶十二號) Jinxuan “Golden Daylily” Variety,(Taiwan Tea var. 12)
*金萱:金萱茶種可以做成任何種茶。
翠玉(台茶十三號) Cuiyu “Green Jade” Variety, (Taiwan Tea var. 13)
紅玉(臺茶十八號) Hongyu “Black Jade” Variety, (Taiwan Tea var. 18)
阿薩姆Assam
鐵觀音茶 Iron Goddess Tea (Tieguanyin Tea)
水仙茶Narcissus Tea

製茶過程tea process

-採茶Tea picking
採茶人在三月和四月忙於採摘初發的新茶,它會成為極品的名茶。第二次發的茶在夏季採摘,它是味道濃郁,色如琥珀的茶;但普通的茶則在稍後的秋季才收穫。在有些地方,終年都可以採摘,每隔數日至數週便有收成。茶芽越軟越嫩,製成的茶葉就越佳。

-萎凋withering
青綠的嫩芽需要成為半乾,大約失去百分之30的水分,然後變成柔軟滑溜,像皮革一般。

-揉捻rolling
跟著的階段是滾轉。經過滾轉之後,茶葉的細胞壁就爆裂而放出天然汁水,這汁使茶具有獨特的味道。

-發酵 fermentation
葉子從青黃色轉變成特有的銅褐色。這項程序稱為發酵。破碎的葉子鋪在桌上,在潮濕的空氣中開始發酵。
綠茶: 輕或不發酵
烏龍茶: 中發酵
紅茶: 重發酵


-烘焙
之後茶葉必須弄乾或焙乾,使茶葉變成黑色,只有在沖水泡茶時才再度變為銅褐色。


綠茶,紅茶為輕烘焙,如下圖烏龍茶為重烘焙,咖啡因較少,烘焙時咖啡因由水蒸氣帶出。
同理,咖啡越深焙咖啡因越少。 

(原來茶跟咖啡一樣,發酵跟烘焙要分開記。)


白色結晶為咖啡因






早期的碳烤茶



茶能抑制病毒

據路透社衛生資訊組報導,初步的研究顯示,「許多市面上出售的茶,看來都有抑制或殺死病毒的功用」。研究人員把幾種紅茶和綠茶在動物組織上進行測試;這些組織都感染了病毒,像單純疱疹一型、二型,以及某種噬菌體。紐約佩斯大學的研究員米爾頓·席芬鮑爾博士說:「不管茶是冷是熱,都能在數分鐘內消滅[疱疹]病毒,或加以抑制。」在感染了某種噬菌體的組織上進行測試,結果也一樣。研究人員發現,即使把茶大大稀釋,茶仍能發揮作用。究竟茶怎樣抑制這些病毒?原因還不清楚。實驗也顯示,以抗菌能力來說,紅茶比綠茶稍勝一籌。



2018年12月27日 星期四

大稻埕Dadaocheng

歷史

1850年代由於萬華(艋舺)時常有來自漳州和泉州的人打鬥搶地盤,結果輸的遷移到大稻埕。另外也由於淡水河在此開港受惠,大稻埕因而發展。

貴德街

英商陶德賣茶到西方因此1850年代貴德街很多茶行,因而造就了很多富商。例如李春生和陳天來。當時英國人很喜歡台灣的茶,還命名為東方美人茶。目前有留下的只有全祥茶莊。
當時受到外來影響,台灣傳統的一層式建築物開始改為木材和紅磚式的洋樓。

例如莊協發




迪化街

除了茶葉的興盛外,由於劉銘傳在大稻埕開始建立鐵路,可以通到基隆,到淡水,甚至到南部,所以迪化街就成了南北貨的集散中心。除此之外,由於1895年後由日本統治,與外國貿易逐漸減少,反而是日本帶來的紡織技術,所以茶葉變成內銷,布業興起,建築物也改變為
日本人喜歡的歐式巴洛克建築方式。








茶葉

大稻埕的茶葉其實是台灣各地的茶葉集散地,運送來的茶葉大部分已處理好,只剩下烘烤和挑選在大稻埕進行。 

有記茗茶:
#挑選茶葉






#烘焙茶葉



#烘焙出的咖啡因

結論

基本上綠茶(輕發酵)和紅茶(重發酵)的是淺焙,只有烏龍是深焙,所以只有烏龍茶由於烘焙較久所以咖啡因較少。

同理可證,淺焙的咖啡豆反而咖啡因較重,烘焙會把部分咖啡因由水蒸氣帶出。



2018年12月14日 星期五

AI Note

AI Summary

機器學習的精隨:

y=ax + b

找出誤差最小的係數a和常數b

神經網路和深度學習不過是較複雜的函數和參數,最終還是要找出誤差最小的係數和常數

回歸: 學習預測
分類: 學習分類和預測


AI & CPU $GPU

CPU可以說是機器學習的頭腦,如何可以強化呢。當然最重要的就是加快CPU和GPU的速度。另外機器學習很重要的神經網路要靠矩陣的運算,所以CPU和GPU也可以優化數學相關的運算。

2018年12月13日 星期四

AI在農業上的應用(AI in Agriculture)

氣候變化,人口增長和全球暖化等糧食安全問題促使農業需要尋求更多創新方法來保護和提高作物產量。 因此,人工智慧正逐步成為農業技術發展的一部分。

人工智慧在農業中的應用簡略分為三大類:

1.農業機器人 
務農人口逐年高齡化。
無人農具機處理基本的農業任務,例如自動曳引機可以自動種植,灌溉,施肥,採收。


2.作物和土壤監測 
感測器,隨時測量和記錄環境狀況,不論農作物出了任何問題,都可以立刻追蹤
因為土壤濕度對作物生長影響很大,土壤濕度光憑肉眼不好判別,就算是經驗再豐富的老農有時也看不準,但是透過感測和監控系統,更能精準掌握作物的需求。

利用計算機視覺和深度學習算法來處理無人機捕獲的數據,以監測作物和土壤健康狀況。

空拍機可以從空中監視發育遲緩的作物、害蟲或雜草損害的跡象,乾燥和其他許多變化。
亦可用影像學習辨識害蟲或雜草加強噴灑藥劑。



3.預測分析
正在開發機器學習模型,以跟踪和預測各種環境對作物產量的影響,如天氣變化。

2018年12月11日 星期二

A I的應用

A I的應用

一般人認為Al和機器學習只是用來追踪我們的習慣,試圖追蹤我們的購物習慣。實際上,科學家在使用機器學習上已經在許多領域取得重大發現。

例如,在月球上尋找資源:
NASA正在探索繪製水,冰和其他材料所在位置的技術。根據任務,探險者號需要不同的東西。火箭燃料是其中之一,也許開採金屬以建造更大的太空船將比從地球發射效能更高。機器學習使得在其他地方找到材料和規劃操作成為可能。

對鯨魚的研究需要找出它們的位置和移動方式:科學家已經使用了數千張鯨魚圖片來繪製他們的行為,以幫助拯救鯨魚。與此同時,歷史學家使用當時的貿易數據來定位古代城市。他們利用出售給其他城市的商品數量來估算城市的位置,並設法在現代伊拉克找到11個失落的城市。

由於數據增加,許多項目都有可能實現。人們喜歡的智慧行手機經常被使用為收集數據,既可以單獨使用,也可以與測量不同種類污染的傳感器一起使用。志願者通過應用程序拍照或報告他們看到的內容,並且應用程序將其發送到專門的數據中心集中。然後透過演算法幫助獲得解決方案。

感知(perception) &&  認知(cognition)

#圖像識別Image recognition
*電腦視覺,影像辨識,圖象辨識,圖像搜尋,動態人臉辨識

#醫療上的應用
#癌症診斷等



#自動駕駛
#無人駕駛


#語音識別Speech Recognition



#自然語言處理Natural Language Processing
*speech to text
*文本分析text analysis 
*語音辨識,智慧語音助理 
*聊天機器人,虛擬個人助理和問答系統




遊戲類

西洋棋,象棋,圍棋

關聯式廣告


創意(creativity)


智慧(intelligence)

2018年12月7日 星期五

強化學習Reinforcement learning

一種改進的方法是強化學習,重點是使用最新信息來不斷改進模型。該方法適用於機器人,經濟學和遊戲。

深度學習Deep Learning

深度學習對圖像分析,文本分析和視頻更有用。最常見的是該演算法使用神經網絡來實現學習深度這個詞來自於數據是多層次而大多數演算法只使用一個的想法。

機器學習-分群clustering

機器學習-分類classification

機器學習-回歸regression

人工智能監督學習(回歸)

回歸是最重要的統計和機器學習工具之一。我們認為機器學習的旅程從回歸開始並不是錯的。它可以被定義為使我們能夠根據數據做出決定的參數化技術,或者換言之,允許通過學習輸入和輸出變量之間的關係來基於數據做出預測。這裡,依賴於輸入變量的輸出變量是連續值的實數。在回歸中,輸入和輸出變量之間的關係很重要,它有助於我們理解輸出變量的值隨輸入變量的變化而變化。回歸常用於預測價格,經濟,變化等。

#data
click.csv
x          y
235    591
216    539
148    413
35      310
85      308
204    519
49      325
25      332
173    498
134    392
99      334
117    385
112    387
162    425
272    659
159    400
159    427
59      319
198    522

#tools
import numpy as np
import matplotlib.pyplot as plt

# 讀入學習資料
train = np.loadtxt('click.csv', delimiter=',', skiprows=1)
train_x = train[:,0]
train_y = train[:,1]

# 圖
#plt.plot(train_x, train_y, 'o')
plt.scatter(train_x, train_y)
plt.show()



# 標準化
mu = train_x.mean()
sigma = train_x.std()
def standardize(x):
    return (x - mu) / sigma

train_z = standardize(train_x)

# 圖
#plt.plot(train_z, train_y, 'o')
plt.scatter(train_z, train_y)
plt.show()



# 初始化參數
theta0 = np.random.rand()
theta1 = np.random.rand()

# 預測函數
def f(x):
    return theta0 + theta1 * x

# 目標函數
def E(x, y):
    return 0.5 * np.sum((y - f(x)) ** 2)

# 學習率
ETA = 1e-3

# 誤差的差分
diff = 1

# 更新次數
count = 0

# 重複學習
error = E(train_z, train_y)
while diff > 1e-2:
    # 將更新結果儲存於臨時變數
    tmp0 = theta0 - ETA * np.sum((f(train_z) -train_y))
    tmp1 = theta1 - ETA * np.sum((f(train_z) -train_y) * train_z)
    # 更新參數
    theta0 = tmp0
    theta1 = tmp1
    # 計算與前一項誤差的差分
    current_error = E(train_z, train_y)
    diff = error - current_error
    error = current_error
    # 輸出日誌
    count += 1
    log = '{}次 : theta0 = {:.3f}, theta1 = {:.3f}, 差分 = {:.4f}'
    print(log.format(count, theta0, theta1, diff))
   
x = np.linspace(-3, 3, 100)

plt.scatter(train_z, train_y, color='black')
plt.plot(x, f(x))
plt.show()

1次 : theta0 = 8.570, theta1 = 2.248, 差分 = 67759.9717
2次 : theta0 = 16.492, theta1 = 4.001, 差分 = 65209.5542
3次 : theta0 = 24.264, theta1 = 5.721, 差分 = 62755.1318
4次 : theta0 = 31.888, theta1 = 7.409, 差分 = 60393.0914
5次 : theta0 = 39.367, theta1 = 9.064, 差分 = 58119.9558
6次 : theta0 = 46.704, theta1 = 10.688, 差分 = 55932.3788
7次 : theta0 = 53.901, theta1 = 12.281, 差分 = 53827.1400
8次 : theta0 = 60.962, theta1 = 13.843, 差分 = 51801.1403
9次 : theta0 = 67.889, theta1 = 15.376, 差分 = 49851.3971
10次 : theta0 = 74.684, theta1 = 16.880, 差分 = 47975.0404
11次 : theta0 = 81.350, theta1 = 18.356, 差分 = 46169.3079
12次 : theta0 = 87.889, theta1 = 19.803, 差分 = 44431.5413
13次 : theta0 = 94.305, theta1 = 21.223, 差分 = 42759.1825
14次 : theta0 = 100.598, theta1 = 22.615, 差分 = 41149.7696
15次 : theta0 = 106.771, theta1 = 23.982, 差分 = 39600.9334
16次 : theta0 = 112.828, theta1 = 25.322, 差分 = 38110.3939
17次 : theta0 = 118.769, theta1 = 26.637, 差分 = 36675.9568
18次 : theta0 = 124.597, theta1 = 27.927, 差分 = 35295.5105
19次 : theta0 = 130.315, theta1 = 29.192, 差分 = 33967.0227
20次 : theta0 = 135.924, theta1 = 30.434, 差分 = 32688.5380
21次 : theta0 = 141.427, theta1 = 31.652, 差分 = 31458.1741
22次 : theta0 = 146.824, theta1 = 32.846, 差分 = 30274.1199
23次 : theta0 = 152.120, theta1 = 34.018, 差分 = 29134.6323
24次 : theta0 = 157.314, theta1 = 35.168, 差分 = 28038.0339
25次 : theta0 = 162.411, theta1 = 36.296, 差分 = 26982.7103
26次 : theta0 = 167.410, theta1 = 37.402, 差分 = 25967.1081
27次 : theta0 = 172.314, theta1 = 38.488, 差分 = 24989.7321
28次 : theta0 = 177.125, theta1 = 39.552, 差分 = 24049.1436
29次 : theta0 = 181.845, theta1 = 40.597, 差分 = 23143.9578
30次 : theta0 = 186.475, theta1 = 41.622, 差分 = 22272.8424
31次 : theta0 = 191.017, theta1 = 42.627, 差分 = 21434.5149
32次 : theta0 = 195.472, theta1 = 43.613, 差分 = 20627.7412
33次 : theta0 = 199.843, theta1 = 44.580, 差分 = 19851.3336
34次 : theta0 = 204.131, theta1 = 45.529, 差分 = 19104.1493
35次 : theta0 = 208.338, theta1 = 46.460, 差分 = 18385.0882
36次 : theta0 = 212.464, theta1 = 47.374, 差分 = 17693.0919
37次 : theta0 = 216.512, theta1 = 48.269, 差分 = 17027.1416
38次 : theta0 = 220.484, theta1 = 49.148, 差分 = 16386.2570
39次 : theta0 = 224.380, theta1 = 50.011, 差分 = 15769.4947
40次 : theta0 = 228.201, theta1 = 50.856, 差分 = 15175.9467
41次 : theta0 = 231.951, theta1 = 51.686, 差分 = 14604.7392
42次 : theta0 = 235.628, theta1 = 52.500, 差分 = 14055.0314
43次 : theta0 = 239.237, theta1 = 53.299, 差分 = 13526.0141
44次 : theta0 = 242.776, theta1 = 54.082, 差分 = 13016.9085
45次 : theta0 = 246.248, theta1 = 54.851, 差分 = 12526.9650
46次 : theta0 = 249.655, theta1 = 55.604, 差分 = 12055.4626
47次 : theta0 = 252.996, theta1 = 56.344, 差分 = 11601.7071
48次 : theta0 = 256.274, theta1 = 57.069, 差分 = 11165.0304
49次 : theta0 = 259.490, theta1 = 57.781, 差分 = 10744.7898
50次 : theta0 = 262.645, theta1 = 58.479, 差分 = 10340.3667
51次 : theta0 = 265.739, theta1 = 59.164, 差分 = 9951.1656
52次 : theta0 = 268.775, theta1 = 59.836, 差分 = 9576.6137
53次 : theta0 = 271.754, theta1 = 60.495, 差分 = 9216.1595
54次 : theta0 = 274.675, theta1 = 61.142, 差分 = 8869.2725
55次 : theta0 = 277.541, theta1 = 61.776, 差分 = 8535.4420
56次 : theta0 = 280.353, theta1 = 62.399, 差分 = 8214.1765
57次 : theta0 = 283.111, theta1 = 63.009, 差分 = 7905.0031
58次 : theta0 = 285.817, theta1 = 63.608, 差分 = 7607.4667
59次 : theta0 = 288.472, theta1 = 64.195, 差分 = 7321.1292
60次 : theta0 = 291.076, theta1 = 64.772, 差分 = 7045.5692
61次 : theta0 = 293.630, theta1 = 65.337, 差分 = 6780.3811
62次 : theta0 = 296.136, theta1 = 65.892, 差分 = 6525.1743
63次 : theta0 = 298.595, theta1 = 66.436, 差分 = 6279.5733
64次 : theta0 = 301.007, theta1 = 66.970, 差分 = 6043.2164
65次 : theta0 = 303.372, theta1 = 67.493, 差分 = 5815.7558
66次 : theta0 = 305.693, theta1 = 68.007, 差分 = 5596.8565
67次 : theta0 = 307.970, theta1 = 68.511, 差分 = 5386.1965
68次 : theta0 = 310.204, theta1 = 69.005, 差分 = 5183.4654
69次 : theta0 = 312.395, theta1 = 69.490, 差分 = 4988.3650
70次 : theta0 = 314.544, theta1 = 69.966, 差分 = 4800.6079
71次 : theta0 = 316.653, theta1 = 70.432, 差分 = 4619.9178
72次 : theta0 = 318.722, theta1 = 70.890, 差分 = 4446.0287
73次 : theta0 = 320.751, theta1 = 71.339, 差分 = 4278.6846
74次 : theta0 = 322.742, theta1 = 71.780, 差分 = 4117.6392
75次 : theta0 = 324.695, theta1 = 72.212, 差分 = 3962.6554
76次 : theta0 = 326.610, theta1 = 72.636, 差分 = 3813.5050
77次 : theta0 = 328.490, theta1 = 73.052, 差分 = 3669.9685
78次 : theta0 = 330.333, theta1 = 73.460, 差分 = 3531.8346
79次 : theta0 = 332.142, theta1 = 73.860, 差分 = 3398.8998
80次 : theta0 = 333.916, theta1 = 74.253, 差分 = 3270.9687
81次 : theta0 = 335.657, theta1 = 74.638, 差分 = 3147.8527
82次 : theta0 = 337.365, theta1 = 75.016, 差分 = 3029.3706
83次 : theta0 = 339.040, theta1 = 75.387, 差分 = 2915.3482
84次 : theta0 = 340.683, theta1 = 75.751, 差分 = 2805.6174
85次 : theta0 = 342.295, theta1 = 76.107, 差分 = 2700.0167
86次 : theta0 = 343.876, theta1 = 76.457, 差分 = 2598.3908
87次 : theta0 = 345.428, theta1 = 76.801, 差分 = 2500.5900
88次 : theta0 = 346.950, theta1 = 77.138, 差分 = 2406.4703
89次 : theta0 = 348.442, theta1 = 77.468, 差分 = 2315.8931
90次 : theta0 = 349.907, theta1 = 77.792, 差分 = 2228.7252
91次 : theta0 = 351.344, theta1 = 78.110, 差分 = 2144.8382
92次 : theta0 = 352.753, theta1 = 78.422, 差分 = 2064.1087
93次 : theta0 = 354.136, theta1 = 78.728, 差分 = 1986.4177
94次 : theta0 = 355.492, theta1 = 79.028, 差分 = 1911.6509
95次 : theta0 = 356.823, theta1 = 79.323, 差分 = 1839.6983
96次 : theta0 = 358.128, theta1 = 79.612, 差分 = 1770.4539
97次 : theta0 = 359.409, theta1 = 79.895, 差分 = 1703.8158
98次 : theta0 = 360.665, theta1 = 80.173, 差分 = 1639.6858
99次 : theta0 = 361.898, theta1 = 80.446, 差分 = 1577.9697
100次 : theta0 = 363.106, theta1 = 80.713, 差分 = 1518.5765
101次 : theta0 = 364.292, theta1 = 80.976, 差分 = 1461.4188
102次 : theta0 = 365.456, theta1 = 81.233, 差分 = 1406.4125
103次 : theta0 = 366.597, theta1 = 81.486, 差分 = 1353.4765
104次 : theta0 = 367.717, theta1 = 81.734, 差分 = 1302.5330
105次 : theta0 = 368.815, theta1 = 81.977, 差分 = 1253.5070
106次 : theta0 = 369.893, theta1 = 82.215, 差分 = 1206.3262
107次 : theta0 = 370.950, theta1 = 82.449, 差分 = 1160.9213
108次 : theta0 = 371.987, theta1 = 82.679, 差分 = 1117.2254
109次 : theta0 = 373.004, theta1 = 82.904, 差分 = 1075.1741
110次 : theta0 = 374.002, theta1 = 83.125, 差分 = 1034.7057
111次 : theta0 = 374.981, theta1 = 83.341, 差分 = 995.7604
112次 : theta0 = 375.941, theta1 = 83.554, 差分 = 958.2809
113次 : theta0 = 376.883, theta1 = 83.763, 差分 = 922.2122
114次 : theta0 = 377.808, theta1 = 83.967, 差分 = 887.5011
115次 : theta0 = 378.714, theta1 = 84.168, 差分 = 854.0964
116次 : theta0 = 379.604, theta1 = 84.365, 差分 = 821.9491
117次 : theta0 = 380.476, theta1 = 84.558, 差分 = 791.0117
118次 : theta0 = 381.332, theta1 = 84.747, 差分 = 761.2388
119次 : theta0 = 382.172, theta1 = 84.933, 差分 = 732.5866
120次 : theta0 = 382.996, theta1 = 85.115, 差分 = 705.0128
121次 : theta0 = 383.804, theta1 = 85.294, 差分 = 678.4768
122次 : theta0 = 384.596, theta1 = 85.470, 差分 = 652.9396
123次 : theta0 = 385.374, theta1 = 85.642, 差分 = 628.3636
124次 : theta0 = 386.137, theta1 = 85.811, 差分 = 604.7126
125次 : theta0 = 386.885, theta1 = 85.976, 差分 = 581.9518
126次 : theta0 = 387.620, theta1 = 86.139, 差分 = 560.0478
127次 : theta0 = 388.340, theta1 = 86.298, 差分 = 538.9681
128次 : theta0 = 389.046, theta1 = 86.454, 差分 = 518.6819
129次 : theta0 = 389.739, theta1 = 86.608, 差分 = 499.1592
130次 : theta0 = 390.419, theta1 = 86.758, 差分 = 480.3714
131次 : theta0 = 391.086, theta1 = 86.906, 差分 = 462.2907
132次 : theta0 = 391.741, theta1 = 87.051, 差分 = 444.8905
133次 : theta0 = 392.383, theta1 = 87.193, 差分 = 428.1453
134次 : theta0 = 393.012, theta1 = 87.332, 差分 = 412.0303
135次 : theta0 = 393.630, theta1 = 87.469, 差分 = 396.5219
136次 : theta0 = 394.236, theta1 = 87.603, 差分 = 381.5972
137次 : theta0 = 394.831, theta1 = 87.735, 差分 = 367.2343
138次 : theta0 = 395.414, theta1 = 87.864, 差分 = 353.4120
139次 : theta0 = 395.986, theta1 = 87.990, 差分 = 340.1099
140次 : theta0 = 396.547, theta1 = 88.115, 差分 = 327.3085
141次 : theta0 = 397.098, theta1 = 88.236, 差分 = 314.9889
142次 : theta0 = 397.638, theta1 = 88.356, 差分 = 303.1331
143次 : theta0 = 398.168, theta1 = 88.473, 差分 = 291.7234
144次 : theta0 = 398.688, theta1 = 88.588, 差分 = 280.7433
145次 : theta0 = 399.198, theta1 = 88.701, 差分 = 270.1764
146次 : theta0 = 399.698, theta1 = 88.812, 差分 = 260.0072
147次 : theta0 = 400.189, theta1 = 88.920, 差分 = 250.2208
148次 : theta0 = 400.670, theta1 = 89.027, 差分 = 240.8027
149次 : theta0 = 401.142, theta1 = 89.132, 差分 = 231.7391
150次 : theta0 = 401.606, theta1 = 89.234, 差分 = 223.0167
151次 : theta0 = 402.060, theta1 = 89.335, 差分 = 214.6226
152次 : theta0 = 402.506, theta1 = 89.433, 差分 = 206.5444
153次 : theta0 = 402.943, theta1 = 89.530, 差分 = 198.7703
154次 : theta0 = 403.372, theta1 = 89.625, 差分 = 191.2888
155次 : theta0 = 403.793, theta1 = 89.718, 差分 = 184.0889
156次 : theta0 = 404.206, theta1 = 89.810, 差分 = 177.1599
157次 : theta0 = 404.611, theta1 = 89.899, 差分 = 170.4918
158次 : theta0 = 405.009, theta1 = 89.987, 差分 = 164.0747
159次 : theta0 = 405.399, theta1 = 90.074, 差分 = 157.8991
160次 : theta0 = 405.781, theta1 = 90.158, 差分 = 151.9559
161次 : theta0 = 406.156, theta1 = 90.241, 差分 = 146.2364
162次 : theta0 = 406.524, theta1 = 90.323, 差分 = 140.7322
163次 : theta0 = 406.885, theta1 = 90.403, 差分 = 135.4352
164次 : theta0 = 407.239, theta1 = 90.481, 差分 = 130.3376
165次 : theta0 = 407.587, theta1 = 90.558, 差分 = 125.4318
166次 : theta0 = 407.928, theta1 = 90.633, 差分 = 120.7107
167次 : theta0 = 408.262, theta1 = 90.707, 差分 = 116.1672
168次 : theta0 = 408.590, theta1 = 90.780, 差分 = 111.7948
169次 : theta0 = 408.912, theta1 = 90.851, 差分 = 107.5870
170次 : theta0 = 409.228, theta1 = 90.921, 差分 = 103.5375
171次 : theta0 = 409.537, theta1 = 90.989, 差分 = 99.6405
172次 : theta0 = 409.841, theta1 = 91.057, 差分 = 95.8901
173次 : theta0 = 410.139, theta1 = 91.123, 差分 = 92.2809
174次 : theta0 = 410.431, theta1 = 91.187, 差分 = 88.8075
175次 : theta0 = 410.718, theta1 = 91.251, 差分 = 85.4649
176次 : theta0 = 411.000, theta1 = 91.313, 差分 = 82.2481
177次 : theta0 = 411.276, theta1 = 91.374, 差分 = 79.1524
178次 : theta0 = 411.546, theta1 = 91.434, 差分 = 76.1731
179次 : theta0 = 411.812, theta1 = 91.493, 差分 = 73.3061
180次 : theta0 = 412.073, theta1 = 91.551, 差分 = 70.5469
181次 : theta0 = 412.328, theta1 = 91.607, 差分 = 67.8916
182次 : theta0 = 412.579, theta1 = 91.663, 差分 = 65.3362
183次 : theta0 = 412.825, theta1 = 91.717, 差分 = 62.8770
184次 : theta0 = 413.066, theta1 = 91.770, 差分 = 60.5104
185次 : theta0 = 413.303, theta1 = 91.823, 差分 = 58.2328
186次 : theta0 = 413.535, theta1 = 91.874, 差分 = 56.0410
187次 : theta0 = 413.763, theta1 = 91.925, 差分 = 53.9317
188次 : theta0 = 413.987, theta1 = 91.974, 差分 = 51.9017
189次 : theta0 = 414.206, theta1 = 92.023, 差分 = 49.9482
190次 : theta0 = 414.421, theta1 = 92.070, 差分 = 48.0682
191次 : theta0 = 414.632, theta1 = 92.117, 差分 = 46.2590
192次 : theta0 = 414.839, theta1 = 92.163, 差分 = 44.5178
193次 : theta0 = 415.042, theta1 = 92.208, 差分 = 42.8422
194次 : theta0 = 415.241, theta1 = 92.252, 差分 = 41.2297
195次 : theta0 = 415.437, theta1 = 92.295, 差分 = 39.6778
196次 : theta0 = 415.628, theta1 = 92.338, 差分 = 38.1844
197次 : theta0 = 415.816, theta1 = 92.379, 差分 = 36.7472
198次 : theta0 = 416.001, theta1 = 92.420, 差分 = 35.3641
199次 : theta0 = 416.182, theta1 = 92.460, 差分 = 34.0330
200次 : theta0 = 416.359, theta1 = 92.499, 差分 = 32.7520
201次 : theta0 = 416.534, theta1 = 92.538, 差分 = 31.5193
202次 : theta0 = 416.704, theta1 = 92.576, 差分 = 30.3329
203次 : theta0 = 416.872, theta1 = 92.613, 差分 = 29.1912
204次 : theta0 = 417.036, theta1 = 92.649, 差分 = 28.0925
205次 : theta0 = 417.198, theta1 = 92.685, 差分 = 27.0351
206次 : theta0 = 417.356, theta1 = 92.720, 差分 = 26.0175
207次 : theta0 = 417.511, theta1 = 92.754, 差分 = 25.0383
208次 : theta0 = 417.664, theta1 = 92.788, 差分 = 24.0959
209次 : theta0 = 417.813, theta1 = 92.821, 差分 = 23.1889
210次 : theta0 = 417.959, theta1 = 92.853, 差分 = 22.3161
211次 : theta0 = 418.103, theta1 = 92.885, 差分 = 21.4761
212次 : theta0 = 418.244, theta1 = 92.916, 差分 = 20.6678
213次 : theta0 = 418.383, theta1 = 92.947, 差分 = 19.8899
214次 : theta0 = 418.518, theta1 = 92.977, 差分 = 19.1413
215次 : theta0 = 418.652, theta1 = 93.007, 差分 = 18.4208
216次 : theta0 = 418.782, theta1 = 93.036, 差分 = 17.7275
217次 : theta0 = 418.910, theta1 = 93.064, 差分 = 17.0602
218次 : theta0 = 419.036, theta1 = 93.092, 差分 = 16.4181
219次 : theta0 = 419.159, theta1 = 93.119, 差分 = 15.8001
220次 : theta0 = 419.280, theta1 = 93.146, 差分 = 15.2054
221次 : theta0 = 419.399, theta1 = 93.172, 差分 = 14.6331
222次 : theta0 = 419.515, theta1 = 93.198, 差分 = 14.0823
223次 : theta0 = 419.630, theta1 = 93.223, 差分 = 13.5523
224次 : theta0 = 419.742, theta1 = 93.248, 差分 = 13.0422
225次 : theta0 = 419.852, theta1 = 93.272, 差分 = 12.5513
226次 : theta0 = 419.959, theta1 = 93.296, 差分 = 12.0789
227次 : theta0 = 420.065, theta1 = 93.319, 差分 = 11.6242
228次 : theta0 = 420.169, theta1 = 93.342, 差分 = 11.1867
229次 : theta0 = 420.271, theta1 = 93.365, 差分 = 10.7657
230次 : theta0 = 420.371, theta1 = 93.387, 差分 = 10.3604
231次 : theta0 = 420.469, theta1 = 93.409, 差分 = 9.9705
232次 : theta0 = 420.565, theta1 = 93.430, 差分 = 9.5952
233次 : theta0 = 420.659, theta1 = 93.451, 差分 = 9.2341
234次 : theta0 = 420.751, theta1 = 93.471, 差分 = 8.8865
235次 : theta0 = 420.842, theta1 = 93.491, 差分 = 8.5520
236次 : theta0 = 420.931, theta1 = 93.511, 差分 = 8.2301
237次 : theta0 = 421.018, theta1 = 93.530, 差分 = 7.9204
238次 : theta0 = 421.104, theta1 = 93.549, 差分 = 7.6222
239次 : theta0 = 421.188, theta1 = 93.568, 差分 = 7.3353
240次 : theta0 = 421.270, theta1 = 93.586, 差分 = 7.0593
241次 : theta0 = 421.351, theta1 = 93.604, 差分 = 6.7935
242次 : theta0 = 421.431, theta1 = 93.622, 差分 = 6.5378
243次 : theta0 = 421.508, theta1 = 93.639, 差分 = 6.2918
244次 : theta0 = 421.585, theta1 = 93.656, 差分 = 6.0550
245次 : theta0 = 421.660, theta1 = 93.672, 差分 = 5.8271
246次 : theta0 = 421.733, theta1 = 93.689, 差分 = 5.6077
247次 : theta0 = 421.805, theta1 = 93.705, 差分 = 5.3967
248次 : theta0 = 421.876, theta1 = 93.720, 差分 = 5.1935
249次 : theta0 = 421.945, theta1 = 93.736, 差分 = 4.9981
250次 : theta0 = 422.013, theta1 = 93.751, 差分 = 4.8099
251次 : theta0 = 422.080, theta1 = 93.765, 差分 = 4.6289
252次 : theta0 = 422.146, theta1 = 93.780, 差分 = 4.4547
253次 : theta0 = 422.210, theta1 = 93.794, 差分 = 4.2870
254次 : theta0 = 422.273, theta1 = 93.808, 差分 = 4.1256
255次 : theta0 = 422.335, theta1 = 93.822, 差分 = 3.9704
256次 : theta0 = 422.395, theta1 = 93.835, 差分 = 3.8209
257次 : theta0 = 422.455, theta1 = 93.848, 差分 = 3.6771
258次 : theta0 = 422.513, theta1 = 93.861, 差分 = 3.5387
259次 : theta0 = 422.570, theta1 = 93.874, 差分 = 3.4055
260次 : theta0 = 422.627, theta1 = 93.886, 差分 = 3.2773
261次 : theta0 = 422.682, theta1 = 93.899, 差分 = 3.1540
262次 : theta0 = 422.736, theta1 = 93.911, 差分 = 3.0353
263次 : theta0 = 422.789, theta1 = 93.922, 差分 = 2.9210
264次 : theta0 = 422.841, theta1 = 93.934, 差分 = 2.8111
265次 : theta0 = 422.892, theta1 = 93.945, 差分 = 2.7053
266次 : theta0 = 422.942, theta1 = 93.956, 差分 = 2.6034
267次 : theta0 = 422.991, theta1 = 93.967, 差分 = 2.5054
268次 : theta0 = 423.039, theta1 = 93.978, 差分 = 2.4111
269次 : theta0 = 423.086, theta1 = 93.988, 差分 = 2.3204
270次 : theta0 = 423.133, theta1 = 93.998, 差分 = 2.2331
271次 : theta0 = 423.178, theta1 = 94.008, 差分 = 2.1490
272次 : theta0 = 423.223, theta1 = 94.018, 差分 = 2.0681
273次 : theta0 = 423.267, theta1 = 94.028, 差分 = 1.9903
274次 : theta0 = 423.309, theta1 = 94.038, 差分 = 1.9154
275次 : theta0 = 423.352, theta1 = 94.047, 差分 = 1.8433
276次 : theta0 = 423.393, theta1 = 94.056, 差分 = 1.7739
277次 : theta0 = 423.433, theta1 = 94.065, 差分 = 1.7071
278次 : theta0 = 423.473, theta1 = 94.074, 差分 = 1.6429
279次 : theta0 = 423.512, theta1 = 94.082, 差分 = 1.5810
280次 : theta0 = 423.551, theta1 = 94.091, 差分 = 1.5215
281次 : theta0 = 423.588, theta1 = 94.099, 差分 = 1.4643
282次 : theta0 = 423.625, theta1 = 94.107, 差分 = 1.4091
283次 : theta0 = 423.661, theta1 = 94.115, 差分 = 1.3561
284次 : theta0 = 423.696, theta1 = 94.123, 差分 = 1.3051
285次 : theta0 = 423.731, theta1 = 94.131, 差分 = 1.2559
286次 : theta0 = 423.765, theta1 = 94.138, 差分 = 1.2087
287次 : theta0 = 423.799, theta1 = 94.146, 差分 = 1.1632
288次 : theta0 = 423.832, theta1 = 94.153, 差分 = 1.1194
289次 : theta0 = 423.864, theta1 = 94.160, 差分 = 1.0773
290次 : theta0 = 423.895, theta1 = 94.167, 差分 = 1.0367
291次 : theta0 = 423.926, theta1 = 94.174, 差分 = 0.9977
292次 : theta0 = 423.957, theta1 = 94.181, 差分 = 0.9601
293次 : theta0 = 423.987, theta1 = 94.187, 差分 = 0.9240
294次 : theta0 = 424.016, theta1 = 94.194, 差分 = 0.8892
295次 : theta0 = 424.045, theta1 = 94.200, 差分 = 0.8558
296次 : theta0 = 424.073, theta1 = 94.206, 差分 = 0.8235
297次 : theta0 = 424.100, theta1 = 94.213, 差分 = 0.7925
298次 : theta0 = 424.127, theta1 = 94.219, 差分 = 0.7627
299次 : theta0 = 424.154, theta1 = 94.224, 差分 = 0.7340
300次 : theta0 = 424.180, theta1 = 94.230, 差分 = 0.7064
301次 : theta0 = 424.206, theta1 = 94.236, 差分 = 0.6798
302次 : theta0 = 424.231, theta1 = 94.241, 差分 = 0.6542
303次 : theta0 = 424.255, theta1 = 94.247, 差分 = 0.6296
304次 : theta0 = 424.280, theta1 = 94.252, 差分 = 0.6059
305次 : theta0 = 424.303, theta1 = 94.257, 差分 = 0.5831
306次 : theta0 = 424.326, theta1 = 94.263, 差分 = 0.5611
307次 : theta0 = 424.349, theta1 = 94.268, 差分 = 0.5400
308次 : theta0 = 424.372, theta1 = 94.273, 差分 = 0.5197
309次 : theta0 = 424.394, theta1 = 94.277, 差分 = 0.5001
310次 : theta0 = 424.415, theta1 = 94.282, 差分 = 0.4813
311次 : theta0 = 424.436, theta1 = 94.287, 差分 = 0.4632
312次 : theta0 = 424.457, theta1 = 94.291, 差分 = 0.4458
313次 : theta0 = 424.477, theta1 = 94.296, 差分 = 0.4290
314次 : theta0 = 424.497, theta1 = 94.300, 差分 = 0.4128
315次 : theta0 = 424.517, theta1 = 94.305, 差分 = 0.3973
316次 : theta0 = 424.536, theta1 = 94.309, 差分 = 0.3823
317次 : theta0 = 424.555, theta1 = 94.313, 差分 = 0.3679
318次 : theta0 = 424.573, theta1 = 94.317, 差分 = 0.3541
319次 : theta0 = 424.591, theta1 = 94.321, 差分 = 0.3408
320次 : theta0 = 424.609, theta1 = 94.325, 差分 = 0.3279
321次 : theta0 = 424.626, theta1 = 94.329, 差分 = 0.3156
322次 : theta0 = 424.644, theta1 = 94.333, 差分 = 0.3037
323次 : theta0 = 424.660, theta1 = 94.336, 差分 = 0.2923
324次 : theta0 = 424.677, theta1 = 94.340, 差分 = 0.2813
325次 : theta0 = 424.693, theta1 = 94.344, 差分 = 0.2707
326次 : theta0 = 424.709, theta1 = 94.347, 差分 = 0.2605
327次 : theta0 = 424.724, theta1 = 94.351, 差分 = 0.2507
328次 : theta0 = 424.740, theta1 = 94.354, 差分 = 0.2413
329次 : theta0 = 424.754, theta1 = 94.357, 差分 = 0.2322
330次 : theta0 = 424.769, theta1 = 94.361, 差分 = 0.2234
331次 : theta0 = 424.784, theta1 = 94.364, 差分 = 0.2150
332次 : theta0 = 424.798, theta1 = 94.367, 差分 = 0.2069
333次 : theta0 = 424.811, theta1 = 94.370, 差分 = 0.1992
334次 : theta0 = 424.825, theta1 = 94.373, 差分 = 0.1917
335次 : theta0 = 424.838, theta1 = 94.376, 差分 = 0.1844
336次 : theta0 = 424.851, theta1 = 94.379, 差分 = 0.1775
337次 : theta0 = 424.864, theta1 = 94.382, 差分 = 0.1708
338次 : theta0 = 424.877, theta1 = 94.384, 差分 = 0.1644
339次 : theta0 = 424.889, theta1 = 94.387, 差分 = 0.1582
340次 : theta0 = 424.901, theta1 = 94.390, 差分 = 0.1523
341次 : theta0 = 424.913, theta1 = 94.392, 差分 = 0.1465
342次 : theta0 = 424.925, theta1 = 94.395, 差分 = 0.1410
343次 : theta0 = 424.936, theta1 = 94.398, 差分 = 0.1357
344次 : theta0 = 424.947, theta1 = 94.400, 差分 = 0.1306
345次 : theta0 = 424.958, theta1 = 94.402, 差分 = 0.1257
346次 : theta0 = 424.969, theta1 = 94.405, 差分 = 0.1209
347次 : theta0 = 424.980, theta1 = 94.407, 差分 = 0.1164
348次 : theta0 = 424.990, theta1 = 94.409, 差分 = 0.1120
349次 : theta0 = 425.000, theta1 = 94.412, 差分 = 0.1078
350次 : theta0 = 425.010, theta1 = 94.414, 差分 = 0.1037
351次 : theta0 = 425.020, theta1 = 94.416, 差分 = 0.0998
352次 : theta0 = 425.030, theta1 = 94.418, 差分 = 0.0961
353次 : theta0 = 425.039, theta1 = 94.420, 差分 = 0.0925
354次 : theta0 = 425.049, theta1 = 94.422, 差分 = 0.0890
355次 : theta0 = 425.058, theta1 = 94.424, 差分 = 0.0856
356次 : theta0 = 425.066, theta1 = 94.426, 差分 = 0.0824
357次 : theta0 = 425.075, theta1 = 94.428, 差分 = 0.0793
358次 : theta0 = 425.084, theta1 = 94.430, 差分 = 0.0763
359次 : theta0 = 425.092, theta1 = 94.432, 差分 = 0.0734
360次 : theta0 = 425.100, theta1 = 94.434, 差分 = 0.0707
361次 : theta0 = 425.109, theta1 = 94.436, 差分 = 0.0680
362次 : theta0 = 425.116, theta1 = 94.437, 差分 = 0.0655
363次 : theta0 = 425.124, theta1 = 94.439, 差分 = 0.0630
364次 : theta0 = 425.132, theta1 = 94.441, 差分 = 0.0606
365次 : theta0 = 425.139, theta1 = 94.443, 差分 = 0.0583
366次 : theta0 = 425.147, theta1 = 94.444, 差分 = 0.0561
367次 : theta0 = 425.154, theta1 = 94.446, 差分 = 0.0540
368次 : theta0 = 425.161, theta1 = 94.447, 差分 = 0.0520
369次 : theta0 = 425.168, theta1 = 94.449, 差分 = 0.0500
370次 : theta0 = 425.175, theta1 = 94.450, 差分 = 0.0482
371次 : theta0 = 425.181, theta1 = 94.452, 差分 = 0.0463
372次 : theta0 = 425.188, theta1 = 94.453, 差分 = 0.0446
373次 : theta0 = 425.194, theta1 = 94.455, 差分 = 0.0429
374次 : theta0 = 425.201, theta1 = 94.456, 差分 = 0.0413
375次 : theta0 = 425.207, theta1 = 94.457, 差分 = 0.0398
376次 : theta0 = 425.213, theta1 = 94.459, 差分 = 0.0383
377次 : theta0 = 425.219, theta1 = 94.460, 差分 = 0.0368
378次 : theta0 = 425.225, theta1 = 94.461, 差分 = 0.0354
379次 : theta0 = 425.231, theta1 = 94.463, 差分 = 0.0341
380次 : theta0 = 425.236, theta1 = 94.464, 差分 = 0.0328
381次 : theta0 = 425.242, theta1 = 94.465, 差分 = 0.0316
382次 : theta0 = 425.247, theta1 = 94.466, 差分 = 0.0304
383次 : theta0 = 425.252, theta1 = 94.468, 差分 = 0.0292
384次 : theta0 = 425.258, theta1 = 94.469, 差分 = 0.0281
385次 : theta0 = 425.263, theta1 = 94.470, 差分 = 0.0271
386次 : theta0 = 425.268, theta1 = 94.471, 差分 = 0.0261
387次 : theta0 = 425.273, theta1 = 94.472, 差分 = 0.0251
388次 : theta0 = 425.277, theta1 = 94.473, 差分 = 0.0241
389次 : theta0 = 425.282, theta1 = 94.474, 差分 = 0.0232
390次 : theta0 = 425.287, theta1 = 94.475, 差分 = 0.0224
391次 : theta0 = 425.291, theta1 = 94.476, 差分 = 0.0215
392次 : theta0 = 425.296, theta1 = 94.477, 差分 = 0.0207
393次 : theta0 = 425.300, theta1 = 94.478, 差分 = 0.0199
394次 : theta0 = 425.304, theta1 = 94.479, 差分 = 0.0192
395次 : theta0 = 425.309, theta1 = 94.480, 差分 = 0.0185
396次 : theta0 = 425.313, theta1 = 94.481, 差分 = 0.0178
397次 : theta0 = 425.317, theta1 = 94.482, 差分 = 0.0171
398次 : theta0 = 425.321, theta1 = 94.483, 差分 = 0.0164
399次 : theta0 = 425.325, theta1 = 94.484, 差分 = 0.0158
400次 : theta0 = 425.329, theta1 = 94.484, 差分 = 0.0152
401次 : theta0 = 425.332, theta1 = 94.485, 差分 = 0.0147
402次 : theta0 = 425.336, theta1 = 94.486, 差分 = 0.0141
403次 : theta0 = 425.340, theta1 = 94.487, 差分 = 0.0136
404次 : theta0 = 425.343, theta1 = 94.488, 差分 = 0.0131
405次 : theta0 = 425.347, theta1 = 94.488, 差分 = 0.0126
406次 : theta0 = 425.350, theta1 = 94.489, 差分 = 0.0121
407次 : theta0 = 425.353, theta1 = 94.490, 差分 = 0.0116
408次 : theta0 = 425.357, theta1 = 94.491, 差分 = 0.0112
409次 : theta0 = 425.360, theta1 = 94.491, 差分 = 0.0108
410次 : theta0 = 425.363, theta1 = 94.492, 差分 = 0.0104
411次 : theta0 = 425.366, theta1 = 94.493, 差分 = 0.0100

數據準備Data Preparation

AI可以再次興起

其中之一的原因就是有大量數據,但這些數據是原始數據,需要將其轉換為有意義的數據。這就是數據預處理進入圖像的地方。換言之,可以說在將數據提供給機器學習算法之前,我們需要對數據進行預處理。

步驟

Good data preparation can allow even very simple,maybe not so great machine learning algorithms to work well.

Remove Duplicates

Duplicates case are overweighed and bias ML model training
Identify duplicate cases
By unique Id
By value-with caution!
Removal strategies
keep most recent(or oldest)


二值化

這是當需要將數值轉換為布爾值時使用的預處理技術。我們可以用一種內置的方法來二值化輸入數據,比如說用0.5作為閾值,方法如下
import numpy as np
from sklearn import preprocessing

input_data = np.array([[2.1, -1.9, 5.5],
                       [-1.5, 2.4, 3.5],
                       [0.5, -7.9, 5.6],
                       [5.9, 2.3, -5.8]])

data_binarized = preprocessing.Binarizer(threshold = 0.5).transform(input_data)
print("\nBinarized data:\n", data_binarized)

現在,運行上面的代碼後,將得到以下輸出,所有高於0.5(閾值)的值將被轉換為1,並且所有低於0.5的值將被轉換為0。

二值化數據
Binarized data:
 [[1. 0. 1.]
 [0. 1. 1.]
 [0. 0. 1.]
 [1. 1. 0.]]


Treating missing values 

use exploration to detect
how are missing values coded null,

a string or number -9999,0,'NA','?',etc
數據不僅經常丟失,而且往往是不完整的。數據集中缺少的數據元素可以顯示為NULL值,空格或其他佔位符,而不僅僅是在現實世界中經常發生,它們通常是您無法控制的。使問題更加複雜的是,這些缺失值通常與機器學習模型不兼容,或者可能導致不理想的結果。那麼當我們遇到這種情況時我們能做些什麼呢?

第一個也是最明顯的答案是可以刪除數據。當我們談論數據刪除時,這可能意味著消除違規行或數據記錄或消除數據集的整個特徵(列)。但是刪除這些數據是以信息丟失為代價的,並且在每個觀察或記錄都很有價值的較小數據集中尤其成問題。

因此,我們需要一種替代方案,它們以所謂的估算值的形式出現。顧名思義,這種處理缺失值的技術允許我們用缺失值替換有意義的值。使用通常基於集中趨勢度量之一(平均值mean中值median,模式 - 最常見值)的策略生成此有意義的值。

我們可以使用scikit-learn文檔中直接提供的示例來演示使用此技術。

在示例代碼中,下面注意我們使用均值策略創建了imputer並確定了什麼構成了缺失值(在Python中NULL表示為NaN)。接下來,我們將進行一個擬合過程,在此過程中,imputer會學習您為數據集選擇的平均值或任何策略。對imputer的變換調用會替換數據集中的缺失值。示例代碼和輸出如下所示。

運行上述代碼的結果如下所示。
import numpy as np
from sklearn.preprocessing import Imputer

imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
X = [[np.nan, 2], [6, np.nan], [7, 6]]

print(imp.transform(X))
[[4.         2.        ]
 [6.         3.66666667]
 [7.         6.        ]]


Treat errors and outliers

檢測和處理異常值
數據集中的異常值是極端的觀察值或點。異常值可以是有效的或無效點(由於測量誤差而發生)並且有可能使您的機器學習模型偏差導致不良或次優結果。

處理異常值的第一步是能夠識別它們,並且首先要通過查找超出可能值範圍的值來開始。這些的例子可以包括不期望它們的負值(即人的身高/體重的負值),不切實際的數字(例如嬰兒體重大於50公斤)或其他不應該或不會發生的值。可以使用基本的匯總統計數據(最小值,最大值等)進行識別。


接下來,如果您的數據遵循正態分佈,您可以使用68-95-99.7規則之後的中位數和標準差來識別異常值。請注意,這並不總是考慮統計上的原因,因為它高度依賴於數據的分佈(這意味著您應該非常謹慎和謹慎)。

最後,由於我們正在討論機器學習,你可以猜測機器學習技術允許我們識別內點和異常值。開箱即用的scikit-learn有一些支持異常值檢測的選項(http://scikit-learn.org/stable/modules/outlier_detection.html)。您還可以使用線性回歸等模型來擬合數據線,然後根據錯誤(預測值與實際值)刪除一定比例的數據。


平均去除

這是機器學習中使用的另一種非常常見的預處理技術。基本上它用於消除特徵向量的均值,以便每個特徵都以零為中心。還可以消除特徵向量中的特徵偏差。為了對樣本數據應用平均去除預處理技術,可以編寫如下Python代碼。代碼將顯示輸入數據的平均值和標準偏差 -

import numpy as np
from sklearn import preprocessing

input_data = np.array([[2.1, -1.9, 5.5],
                       [-1.5, 2.4, 3.5],
                       [0.5, -7.9, 5.6],
                       [5.9, 2.3, -5.8]])

print("Mean = ", input_data.mean(axis = 0))
print("Std deviation = ", input_data.std(axis = 0))
運行上述代碼行後,將得到以下輸出:

Mean = [ 1.75 -1.275 2.2 ]
Std deviation =  [2.71431391 4.20022321 4.69414529]


現在,下面的代碼將刪除輸入數據的平均值和標準偏差 :
data_scaled = preprocessing.scale(input_data)
print("Mean =", data_scaled.mean(axis=0))
print("Std deviation =", data_scaled.std(axis = 0))


運行上述代碼行後,將得到以下輸出:

Mean = [1.11022302e-16 0.00000000e+00 0.00000000e+00]
Std deviation = [1. 1. 1.]


scale the features

#scaling
improper scaling biases ML model training
-features with large numeric range can dominate training
-large mean values skew model parameters
z-score:
-mean=0, standard deviation=1
if distribution is approximately normal
min-maxif distribution far from normal

fails with outliers

這是另一種數據預處理技術,用於縮放特徵向量。特徵向量的縮放是需要的,因為每個特徵的值可以在許多隨機值之間變化。換句話說,我們可以說縮放非常重要,因為我們不希望任何特徵合成為大或小。
import numpy as np
from sklearn import preprocessing

input_data = np.array([[2.1, -1.9, 5.5],
                       [-1.5, 2.4, 3.5],
                       [0.5, -7.9, 5.6],
                       [5.9, 2.3, -5.8]])

data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print ("\nMin max scaled data:\n", data_scaled_minmax)



Min max scaled data:
 [[0.48648649 0.58252427 0.99122807]
 [0.         1.         0.81578947]
 [0.27027027 0.         1.        ]
 [1.         0.99029126 0.        ]]



Normalization


Standardization

數據標準化和規範化
我們將研究的最終數據爭論技術涉及將數據集中的特徵引入通用規模。但為什麼這有必要呢?通常,我們的數據集中的功能包括具有各種比例的數據,例如單位的銷售數量和美元的銷售收入。如果這些特徵不具有共同的標度,那麼許多機器學習模型可能會對最大特徵進行權衡,從而更嚴重地偏離模型並給出可能不准確的結果。

這些的兩種常用技術包括標準化和標準化,兩者之間的差異是微妙的。這兩種技術都會將功能帶入一個共同的比例,使用標準化我們將所有值重新調整為0到1之間的新比例。當我們嘗試測量點之間的距離時,例如進行k均值聚類時,這種技術非常有用。

第二種技術,歸一化通過將數據移位到平均值為0和標準差為1來對數據進行縮放。這種技術在重要時保留數據的分佈。

為了演示這些技術,我們可以使用先前文章中的虹膜數據集和scikit-learn中的預處理函數,並比較應用變換之前和之後的最小值和最大值。
請注意,在結果屏幕中,剪切標準化值現在全部在0和1之間,標準化值現在以0為中心。



Data Splitting

split data before training
-independent training, test and evaluation subsets
-failure to split causes information leakage

Transform Features

why transform features?
*improve distribution properties
*more covariate with label
-common transformations
*Log,exponential,square,square root,variance,etc
*difference,cumulative sum,etc.
*Nonlinear transformed features are not colinear

Interaction terms

-example:
*predict number of rider on bus route
*depends on time of day and holiday
*time of day by holiday is an interaction term
-compute interaciton terms
*mean,median,etc

Summarize

There have been several attempts to
make the process of discovering knowledge scientific.
KDD,
CRISP-DM,
CCCBig Data Pipeline
And those attempts are called the KDD process,
the CRISP-DM process, and the CCC Big Data Pipeline.
They all have very similar steps, and
data mining is only one of those steps. important one
知識發現(DD:Knowledge Discovery in Database)是從數據集中識別出有效的,新穎的,潛在有用的,以及最終可理解的模式的非平凡過程。知識發現將信息變為...
CRISP-DM (cross-industry standard process for data mining), 即為"跨行業資料採礦過程標準". 此KDD過程模型于1999年歐盟機構聯合起草. 通過近幾年的發展,CRISP-DM 模型在各種KDD過程模型中佔據領先位置,採用量達到近60%。
Data Pipeline 資料傳遞途徑





2018年12月4日 星期二

機器學習Machine learning

機器學習簡介Introduction to Machine Learning

一般人認為Al和機器學習只是用來追踪我們的習慣,試圖追蹤我們的購物習慣。實際上,科學家在使用機器學習上已經在許多領域取得重大發現。

例如,在月球上尋找資源:
NASA正在探索繪製水,冰和其他材料所在位置的技術。根據任務,探險者號需要不同的東西。火箭燃料是其中之一,也許開採金屬以建造更大的太空船將比從地球發射效能更高。機器學習使得在其他地方找到材料和規劃操作成為可能。

對鯨魚的研究需要找出它們的位置和移動方式:科學家已經使用了數千張鯨魚圖片來繪製他們的行為,以幫助拯救鯨魚。與此同時,歷史學家使用當時的貿易數據來定位古代城市。他們利用出售給其他城市的商品數量來估算城市的位置,並設法在現代伊拉克找到11個失落的城市。

由於數據增加,許多項目都有可能實現。人們喜歡的智慧行手機經常被使用為收集數據,既可以單獨使用,也可以與測量不同種類污染的傳感器一起使用。志願者通過應用程序拍照或報告他們看到的內容,並且應用程序將其發送到專門的數據中心集中。然後透過演算法幫助獲得解決方案。

數據及演算法

機器學習可以做什麼,從哪裡可以獲得數據?要了解更多信息,我們需要擁有數據集來訓練演算法。對於我們這些業餘愛好者來說,收集數據似乎是一項最困難的任務,除非只玩小型數據集。其實,很多數據已可以從互聯網上獲得。一個好地方是GitHub。

summary

機器學習使用計算機運行預測模型,從現有數據中學習,以預測未來的行為,結果和趨勢。

探索數據Exploring Data

數據準備和清潔Data Preparation and Cleaning

資料探勘Data mining

機器學習演算法Machine Learning Algorithms

Linux是最常用的機器學習平台

監督式學習Supervised Learning

Supervised machine learning has known label values, labels are the correct answers.

這是最常用的機器學習算法。它被稱為監督學習算法,因為從訓練數據及演算法學習的過程可以被認為是監督學習過程的教師。在這種ML演算法中,可能的結果是已知的,並且訓練數據也標有正確的答案。可以理解如下:

假設有輸入變量x和輸出變量y,並且我們應用了一種算法來學習從輸入到輸出的映射函數,例如 -

Y = f(x)

x: data

y:prediction

現在,主要目標是近似映射函數,當有新的輸入數據(x)時,可以預測該數據的輸出變量(Y)。


主要監督問題可分為以下兩類問題:

1. 線性回歸Regression:

它是統計和機器學習中最著名的算法之一。

基本概念 - 主要是線性回歸是一個線性模型,假設輸入變量x和單個輸出變量y之間的線性關係。換句話說,y可以由輸入變量x的線性組合來計算。變量之間的關係可以通過擬合最佳線來確定。

線性回歸有以下兩種類型:

簡單線性回歸 - 如果線性回歸算法只有一個獨立變量,則稱為簡單線性回歸。

多元線性回歸 - 如果線性回歸算法具有多個獨立變量,則稱其為多元線性回歸。


建立模型
建立模型函數,不知道真正或是正確的模型所以用函數改變參數值已找出正確的函數或是模型

最小平方法method of least squares
找出
誤差函數
目標函數
成本函數 Cost Function
最佳化問題standardization:
讓誤差縮小所以最佳化函數
讓誤差的函數盡可能縮小
平方的目的:因為誤差要拉變成正數,不管正數還是負數誤差就是誤差

學習(微分)
最速下降法 Gradient descent
座標下降法(1個參數)
梯度下降法(多個參數)


2. 分類classification


坡度法:
讓權重逐步往誤差縮小的方向移動

#提高模型性能Improving Model Performance
找出是直線還是圓形的函數
輸入特徵值加總
因為不知道真正的模型是什麼,才需要用特徵值,之後就能夠找出真正的模型。


KNN
the K- Nearest Neighbors Machine Learning algorithm.

1. knn method do not require training

2.a new case is classified based on proximity to labeled cases

   uses d distance metric

   euclidian distance

   weighted distance

K defines number of neighbors used for the prediction

   prediction by majority vote

#Logistic回歸
它是一種分類算法,也稱為logit回歸。
主要邏輯回歸是一種分類算法,用於根據給定的一組自變量來估計離散值,如0或1,真或假,是或否。基本上,它預測的概率因此它的輸出在0和1之間。

#決策樹

決策樹是一種監督學習算法,主要用於分類問題。

基本上它是一個基於自變量表示為遞歸分區的分類器。決策樹具有形成根樹的節點。有根樹是一個帶有稱為“根”節點的定向樹。 Root沒有任何傳入邊緣,所有其他節點都有一個傳入邊緣。這些節點被稱為樹葉或決策節點。例如,考慮下面的決策樹來判斷一個人是否適合。


#支持向量機(SVM)

它用於分類和回歸問題。但主要用於分類問題。 SVM的主要概念是將每個數據項繪製為n維空間中的一個點,每個特徵的值是特定坐標的值。這裡n將是功能。以下是了解SVM概念的簡單圖形表示 -

#決策樹,隨機森林,knn,邏輯回歸是監督機器學習算法的例子。

顧名思義,這類機器學習算法沒有任何主管提供任何指導。這就是為什麼無監督機器學習算法與一些人們稱之為真正的人工智能密切相關的原因。可以理解如下 -

假設有輸入變量x,那麼在監督學習算法中就沒有相應的輸出變量。

簡而言之,可以說在無監督學習中,沒有正確的答案,也沒有教師指導。算法有助於發現數據中有趣的模式。



#在上圖中,有兩個特徵,因此首先需要在二維空間中繪製這兩個變量,其中每個點都有兩個坐標,稱為支持向量。該行將數據分成兩個不同的分類組。這條線將是分類器。


#樸素貝葉斯

這也是一種分類技術。這種分類技術背後的邏輯是使用貝葉斯定理來構建分類器。假設是預測變量是獨立的。簡而言之,它假設類中某個特徵的存在與任何其他特徵的存在無關。以下是貝葉斯定理的等式 -

樸素貝葉斯模型易於構建,特別適用於大型數據集。


#K-最近鄰居(KNN)

它用於問題的分類和回歸。它被廣泛用於解決分類問題。該算法的主要概念是它用來存儲所有可用的案例,並通過其k個鄰居的多數選票來分類新案例。然後將該情況分配給通過距離函數測量的K近鄰中最常見的類。距離函數可以是歐幾里得,明可夫斯基和海明距離。考慮以下使用KNN -


計算上KNN比用於分類問題的其他算法昂貴。

變量的規範化需要其他更高的範圍變量可以偏差。

在KNN中,需要在噪音消除等預處理階段進行工作。

隨機森林
它是一個監督分類算法。隨機森林算法的優點是它可以用於分類和回歸兩類問題。基本上它是決策樹的集合(即森林),或者可以說決策樹的集合。隨機森林的基本概念是每棵樹給出一個分類,並且森林從它們中選擇最好的分類。以下是隨機森林算法的優點 -
隨機森林分類器可用於分類和回歸任務。
可以處理缺失的值。
即使在森林中有更多的樹,它也不會過度適合模型。


非監督式學習Unsupervised Learning:

Unsupervised Machine Learning, we only have features.

群集的一種,依照資料的結構、特徵、相似度分組,簡單的來說就是機器自己找出特徵然後分組。

#clustering

K均值聚類

顧名思義,它用於解決聚類問題。它基本上是一種無監督學習。 K-Means聚類算法的主要邏輯是通過許多聚類對數據集進行分類。按照這些步驟通過K-means形成聚類 -


K-means clustering 為每個簇選取k個點,稱為質心。

每個數據點形成具有最接近質心的群集,即k個群集。

它將根據現有集群成員查找每個集群的質心。

需要重複這些步驟直到收斂。




圖形概念chart,diagram

(數學)Math for Machine Learning

矩陣(Matrices)

矩陣相加:
To add two matrices, just add the corresponding matrice elements.

轉置矩陣:
When you transpose a matrix (indicated by a superscript T), the first row becomes the first column, the second row becomes the second column, and so on.

矩陣相乘:
To calculate a matrix that is the dot-product of two matrices, multiply the each row by each column to find the elements of the resulting matrix.

逆矩陣或反矩陣:
A-1 is the inverse of A. You calculate the inverse of a 2 x 2 matrix like this:

向量(vector)

計算向量的大小:(vector's magnitude)
添加其所有元素的平方,並找到平方根。

向量相加:(add two vectors)
just add the corresponding vector elements.

向量的倍數:
正向長度相加
逆向...........
Scalar mulliplication of a vector:
results in a new vector with element values calculated by mulitplying the otiginal vector elements by the scalar multiplier.

向量內積:
兩個矩陣的點積:
The dot-product of two matrices is a scalar value, calculated my multiplying the corresponding elements and adding the results.

是一個標量值,我計算得到相應的元素並添加結果。
一般來說向量沒有*這個運算,
但是有A╳B,稱為外積,讀作A cross B。 

向量A內績向量B:
=向量A的絕對質乘以向量B的絕對質乘以COS的角度 
這樣就OK了 
角度別忘了喔 
一一我被這角度害好幾次 

他的原理不是乘法 可是他的算法是乘法
a 。 b =a1。b1 + a2。b2

外積:
3維才有外積
The cross-product of two vectors (aand b):
is a vector, calculated by multiplying a2b3 - a3b2a3b1 - a1b3, and a1b2 - a2b1

微分(Differentiation and Derivatives)

微分公式與斜率的差別?
(大一的微積分)
1. 微分到底是在求什麼?
2. 微分可以應用在什麼地方上?
3. 微分可分成哪幾種?
[我不是要知道什麼偏微分方程的一些專有名詞之類的 (例:算式上的微分、求速度變化。)]

4.

    f(c+h) - f(c)
  lim ---------------- 這到底是求斜率變化還是微分?
  h→0  h


   ↑↑最主要就是這式子,像是求斜率,但又應用在微分公式上。 


1. 微分到底是在求什麼?
解答:微分是在求曲線上某一點的 (x變化量)/(y變化量)
也就是說斜率


2. 微分可以應用在什麼地方上?
解答:求函數的極值, 繪製函數圖形, 無窮數列的極限值
物理,化學等等自然學科


3. 微分可分成哪幾種?
解答:微積分中的導數又稱為微分
或是瞬時變化率
或是斜率

求導函數的過程稱為微分 對於導數, 導函數, 微分, 可微分
實際上是指同樣的概念, 只不過是名詞, 動詞, 形容詞的差別而已

4. f(c+h) - f(c)
  lim ---------------- 這到底是求斜率變化還是微分?
  h→0  h

解答:這就是f '(c)的定義
是在求f(x)在x=c那一點上的斜率
此過程稱作求導數或是微分

補充說明:
(1)
函數f(x)定義:若A,B兩集合
A中每一元素在B中恰有一元素與之對應
稱作A映至B的函數對應
例如:f(x)=x^2
就是將x對應到x^2

(2)斜率的定義
設A(x1,y1),B(x2,y2)為相異兩點 ,x1不等於x2
則直線AB的斜率m=(y2-y1)/(x2-x1)

(3)可微分
a為函數f(x)定義域內的一點
如果[f(x)-f(a)]/[x-a]在趨近於a的極限值存在
稱此極限值為f(x)在x=a的導數
也就是f(x)在x=a可微分
因為極限值存在的條件就是左極限等於右極限
而[f(x)-f(a)]/[x-a]就是在求(x,f(x))和(a,f(a))的斜率
所以可微分的意思就是在很靠近a點
左斜率等於右斜率
事實上要了解微分求斜率,必須先從
極限,連續,再到微分的觀念
微分就是在求原函數的導函數
而導函數也可以稱作斜率函數
因為它可以求得原函數每一個點上的斜率值
例題:求f(x)=x^2在 點(3,9)的斜率?
f(x)的導函數為f'(x)=2x
x=3代入2*3=6
故斜率為6

1.微分在求什麼?
微分式子:df(x) /dx 觀察得之微分是在求某件事的微小變化量,
2.微分應用
小求極質(最大、最多、最小、最貴。。。等),大則用於生活中的通訊產品(最貼切的手機)
3.一般而言
距離對時間作微分--->速度
速度對時間作微分--->加速度
能量對時間微分--->功率
電量對時間微分--->電流
以上都是針對變化量極小的時候x->0
4.此式子用於微分,基本上看到lim就是和微分有關



範數 norm
歐式距離Euclidean distance
曼哈頓距離Taxicab geometry
夾角餘弦Cosine similarity

微分differential
斜率slope
偏微分Partial differential
微分連鎖律
映射 mapping
集合set
機率Probability