自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機(jī)器學(xué)習(xí)愛(ài)好者必讀的入門(mén)指南

人工智能 機(jī)器學(xué)習(xí)
我們的目標(biāo)是讓任何人都可以理解,這意味著文中會(huì)有很多概述。但誰(shuí)在乎呢?如果能使一些人對(duì)機(jī)器學(xué)習(xí)更感興趣,我們將倍感欣慰。

[[273182]]

 本指南適用于任何對(duì)機(jī)器學(xué)習(xí)(Machine Learning,ML)感興趣但不知道從何開(kāi)始的人。

我們的目標(biāo)是讓任何人都可以理解,這意味著文中會(huì)有很多概述。但誰(shuí)在乎呢?如果能使一些人對(duì)機(jī)器學(xué)習(xí)更感興趣,我們將倍感欣慰。

什么是機(jī)器學(xué)習(xí)?

機(jī)器學(xué)習(xí)的概念是用一些通用算法告訴你關(guān)于一組數(shù)據(jù)的一些有趣的事情,而不需要你編寫(xiě)任何特定于問(wèn)題的自定義代碼。你不需要編寫(xiě)代碼,而是將數(shù)據(jù)提供給通用算法,它將根據(jù)數(shù)據(jù)構(gòu)建自己的邏輯。

例如,其中一種算法是分類(lèi)算法。它可以將數(shù)據(jù)放入不同的組中。同樣的分類(lèi)算法可以用于識(shí)別手寫(xiě)數(shù)字,也可以用于將電子郵件分為垃圾郵件和非垃圾郵件,卻不需要改變一行代碼。使用相同的算法,但輸入不同的訓(xùn)練數(shù)據(jù),算法就會(huì)產(chǎn)生不同的分類(lèi)邏輯。

這種機(jī)器學(xué)習(xí)算法是一個(gè)黑箱,可以被用于許多不同的分類(lèi)問(wèn)題。

“機(jī)器學(xué)習(xí)”是一個(gè)涵蓋了大量這類(lèi)通用算法的總稱。

兩種機(jī)器學(xué)習(xí)算法

你可以將機(jī)器學(xué)習(xí)算法分為兩大類(lèi)——監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。區(qū)別很簡(jiǎn)單,但非常重要。

監(jiān)督學(xué)習(xí)

假設(shè)你是一個(gè)房地產(chǎn)經(jīng)紀(jì)人。你的業(yè)務(wù)正在增長(zhǎng),因此你聘請(qǐng)了一批新的實(shí)習(xí)生來(lái)幫助你。但是有一個(gè)問(wèn)題:你能夠隨便看一下房子就能對(duì)房子的價(jià)格有一個(gè)很好的估計(jì),但是你的實(shí)習(xí)生沒(méi)有你的經(jīng)驗(yàn),所以他們不知道該如何定價(jià)。

為了幫助你的實(shí)習(xí)生(也許還能為你騰出時(shí)間去度假),你決定寫(xiě)一個(gè)小應(yīng)用程序,根據(jù)你所在地區(qū)的房子的大小、社區(qū)等,以及類(lèi)似房屋的售價(jià)來(lái)估算房屋的價(jià)格。

因此,每當(dāng)有人在你所在城市出售房屋,你都需要記錄下來(lái),持續(xù) 3 個(gè)月。對(duì)于每套房子,你都要記錄大量細(xì)節(jié):臥室的數(shù)量、平方英尺為統(tǒng)一單位的面積、社區(qū)等。但最重要的是,你要記錄最終的銷(xiāo)售價(jià)格:

這是我們的“訓(xùn)練數(shù)據(jù)”。

利用這些訓(xùn)練數(shù)據(jù),我們想創(chuàng)建一個(gè)程序,可以估算出所在地區(qū)其他房屋的價(jià)格:

我們想用訓(xùn)練數(shù)據(jù)來(lái)預(yù)測(cè)其他房屋的價(jià)格

這就是監(jiān)督學(xué)習(xí)。你知道每套房子賣(mài)多少錢(qián),換句話說(shuō),你知道問(wèn)題的答案,并且可以從那里逆向計(jì)算出邏輯。

為了構(gòu)建應(yīng)用程序,你需要把每套房子的訓(xùn)練數(shù)據(jù)輸入到你的機(jī)器學(xué)習(xí)算法中。該算法會(huì)嘗試找出需要做什么樣的數(shù)學(xué)運(yùn)算才能算出數(shù)字。

這類(lèi)似于擁有數(shù)學(xué)考試的答案,但是中間的運(yùn)算符號(hào)都被擦去了:

一個(gè)狡猾的學(xué)生擦掉了老師的答案上的算術(shù)符號(hào)!

從這里,你能得出考試中的數(shù)學(xué)問(wèn)題是什么嗎?你需要知道你應(yīng)該用左邊的數(shù)字“做點(diǎn)什么運(yùn)算” 來(lái)得到右邊的每個(gè)答案。

在監(jiān)督學(xué)習(xí)中,就是讓計(jì)算機(jī)為你計(jì)算這種關(guān)系。一旦你知道解決這組特定的問(wèn)題需要什么數(shù)學(xué)知識(shí),你就可以回答任何同類(lèi)型的問(wèn)題!

無(wú)監(jiān)督的學(xué)習(xí)

讓我們回到最初房地產(chǎn)經(jīng)紀(jì)人的例子。如果你不知道每套房子的售價(jià)怎么辦?即使你只知道每套房子的大小、位置等,你仍然可以做一些非??岬氖虑?。這就是無(wú)監(jiān)督學(xué)習(xí)。

即使不想預(yù)測(cè)未知數(shù)字(比如價(jià)格),你仍然可以用機(jī)器學(xué)習(xí)做些有趣的事情。

這有點(diǎn)像是有人給你一張紙,紙上是數(shù)字列表,然后說(shuō):“我真的不知道這些數(shù)字有什么意思,但也許你能搞清楚是否有模式、分組或其他東西,祝你好運(yùn)!”

那么用這些數(shù)據(jù)能做些什么呢?首先,你可以使用算法自動(dòng)識(shí)別數(shù)據(jù)中的不同細(xì)分市場(chǎng)。也許你會(huì)發(fā)現(xiàn),當(dāng)?shù)卮髮W(xué)附近的購(gòu)房者確實(shí)很喜歡有很多臥室的小房子,但是郊區(qū)的購(gòu)房者更喜歡有很多平方英尺的三居室的房子。了解這些不同類(lèi)型的客戶有助于指導(dǎo)你的營(yíng)銷(xiāo)工作。

你能做的另一件很酷的事情是自動(dòng)識(shí)別出任何與其他地方截然不同的住宅。也許那些離群的房子是豪宅,你可以把最好的銷(xiāo)售人員集中在那些地區(qū),因?yàn)樗麄兡芙o出更多的傭金。

 

監(jiān)督學(xué)習(xí)是我們將在這篇文章的其余部分重點(diǎn)關(guān)注的內(nèi)容,但這并不是因?yàn)闊o(wú)監(jiān)督學(xué)習(xí)不那么有用或不太有趣。事實(shí)上,隨著算法的改進(jìn),無(wú)監(jiān)督學(xué)習(xí)正在變得越來(lái)越重要,因?yàn)樗梢栽诓恍枰o數(shù)據(jù)貼上正確答案標(biāo)簽的情況下使用。

附注:還有很多其他類(lèi)型的機(jī)器學(xué)習(xí)算法,但現(xiàn)在已經(jīng)是一個(gè)很好的開(kāi)端。

這很酷,但是能夠估算房?jī)r(jià)真的算作“學(xué)習(xí)”嗎?

作為一個(gè)人,你的大腦幾乎可以處理任何情況,并且是在沒(méi)有任何明確指示的情況下學(xué)習(xí)如何處理這種情況。如果你長(zhǎng)時(shí)間賣(mài)房子,你會(huì)本能地“察覺(jué)”到房子的合適價(jià)格、出售房子的最佳方式、感興趣的客戶類(lèi)型等。強(qiáng)人工智能研究的目標(biāo)就是能夠用計(jì)算機(jī)復(fù)現(xiàn)這種能力。

 

然而目前的機(jī)器學(xué)習(xí)算法還不夠好,它們只在關(guān)注一個(gè)非常具體且有限的問(wèn)題時(shí)才起作用。在這種情況下,“學(xué)習(xí)”的一個(gè)更好的定義可能是“根據(jù)一些實(shí)例數(shù)據(jù),找出解決特定問(wèn)題的方程式”。

不幸的是,“機(jī)器根據(jù)一些實(shí)例數(shù)據(jù)計(jì)算出方程來(lái)解決特定的問(wèn)題”并不是一個(gè)很好的名字。所以我們最終仍以“機(jī)器學(xué)習(xí)”命名。

當(dāng)然,如果你在未來(lái) 50 年后讀到這篇文章,并且我們已經(jīng)找到了強(qiáng)人工智能的算法,那么這篇文章都會(huì)顯得有點(diǎn)古怪。

讓我們來(lái)寫(xiě)一寫(xiě)這個(gè)程序!

那么,如何編寫(xiě)程序來(lái)估算上面的例子中房子的價(jià)格呢?在進(jìn)一步閱讀之前,請(qǐng)考慮一下。

如果你對(duì)機(jī)器學(xué)習(xí)一無(wú)所知,你可能會(huì)試著寫(xiě)出一些估算房屋價(jià)格的基本規(guī)則,就像這樣:   

  1. def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):  
  2.        price = 0  
  3.        # In my area, the average house costs $200 per sqft  
  4.        price_per_sqft = 200  
  5.        if neighborhood == "hipsterton":  
  6.        # but some areas cost a bit more  
  7.        price_per_sqft = 400  
  8.        elif neighborhood == "skid row":  
  9.            # and some areas cost less  
  10.            price_per_sqft = 100  
  11.        # start with a base price estimate based on how big the place is  
  12.        price = price_per_sqft*sqft  
  13.        # now adjust our estimate based on the number of bedrooms  
  14.        if num_of_bedrooms == 0:  
  15.            # Studio apartments are cheap  
  16.            priceprice = price — 20000  
  17.        else:  
  18.            # places with more bedrooms are usually  
  19.            # more valuable  
  20.            priceprice = price + (num_of_bedrooms * 1000)  
  21.        return price 

如果你花幾個(gè)小時(shí)來(lái)研究,可能會(huì)得到一些有用的東西。但你的程序永遠(yuǎn)不會(huì)完美,而且隨著價(jià)格的變化,它將很難維持。

如果計(jì)算機(jī)能幫你實(shí)現(xiàn)這個(gè)功能不是更好嗎?只要返回正確的數(shù)字,誰(shuí)在乎函數(shù)究竟做了什么:   

  1. def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):  
  2.        price = <computer, plz do some math for me>  
  3.        return price 

考慮這個(gè)問(wèn)題的一種方式是,把價(jià)格看成是一道美味的燉菜,配料是臥室的數(shù)量、面積和社區(qū)。如果你能算出每種成分對(duì)最終價(jià)格的影響程度,也許就能算出每種成分在最終價(jià)格中所占的確切比例。

這會(huì)把你原來(lái)的函數(shù)(那些瘋狂if和else的函數(shù))簡(jiǎn)化成這樣:   

  1. def estimate_house_sales_price(num_of_bedrooms, sqft,neighborhood):  
  2.        price = 0  
  3.        # a little pinch of this  
  4.        price += num_of_bedrooms * .841231951398213  
  5.        # and a big pinch of that  
  6.        price += sqft * 1231.1231231  
  7.        # maybe a handful of this  
  8.        price += neighborhood * 2.3242341421  
  9.        # and finally, just a little extra salt for good measure  
  10.        price += 201.23432095  
  11.        return price 

注意這些魔法數(shù)字: .841231951398213、1231.1231231、2.3242341421 和 201.23432095。這些是我們的權(quán)重。如果能計(jì)算出適用于每套房子的完美權(quán)重,我們的函數(shù)就能預(yù)測(cè)房?jī)r(jià)!

計(jì)算最佳權(quán)重的一個(gè)愚蠢方法是這樣的:

第1步:

將每個(gè)初始權(quán)重設(shè)置為1.0:

  1. def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):  
  2.       price = 0  
  3.       # a little pinch of this  
  4.       price += num_of_bedrooms * 1.0  
  5.       # and a big pinch of that  
  6.       price += sqft * 1.0  
  7.       # maybe a handful of this  
  8.       price += neighborhood * 1.0  
  9.       # and finally, just a little extra salt for good measure  
  10.       price += 1.0  
  11.       return price 

第2步:

通過(guò)函數(shù)運(yùn)行你所知道的每一棟房子,看看這個(gè)函數(shù)離預(yù)測(cè)到每一套房子的正確價(jià)格有多遠(yuǎn):

使用你的函數(shù)為每套房子預(yù)測(cè)價(jià)格

例如,如果第一套房子實(shí)際上賣(mài)了 25 萬(wàn)美元,但你的函數(shù)預(yù)測(cè)它賣(mài)了 17.8 萬(wàn)美元,那么這套房子的售價(jià)就少了 7.2 萬(wàn)美元。

現(xiàn)在把你的數(shù)據(jù)集里每套房子的售價(jià)差額平方相加,假設(shè)你的數(shù)據(jù)集中有 500 套房子的銷(xiāo)售數(shù)據(jù),你的函數(shù)計(jì)算的每套房子售價(jià)差額的平方的總和是 86,123,373 美元。這就是當(dāng)前函數(shù)的“錯(cuò)誤”程度。

現(xiàn)在,把總和除以 500,得到每套房子的平均差價(jià)。將這個(gè)平均錯(cuò)誤量稱為函數(shù)的成本(cost)。

如果你能通過(guò)調(diào)整權(quán)值使這個(gè)成本為零,你的函數(shù)就完美了。這意味著,在每種情況下,你的函數(shù)都能夠根據(jù)輸入的數(shù)據(jù)完美地猜測(cè)房屋的價(jià)格。這就是我們的目標(biāo):通過(guò)嘗試不同的權(quán)重值使成本盡可能低。

第3步:

對(duì)每一個(gè)可能的權(quán)重組合重復(fù)第2步。最后選擇使成本最接近于零的權(quán)重組合。當(dāng)你找到合適的權(quán)重時(shí),問(wèn)題就解決了!

頭腦風(fēng)暴時(shí)間

很簡(jiǎn)單,對(duì)吧?回想一下你剛才都做了什么。你取了一些數(shù)據(jù),通過(guò)三個(gè)通用的、非常簡(jiǎn)單的步驟輸入數(shù)據(jù),最后得到一個(gè)可以預(yù)測(cè)你所在地區(qū)的任何房子的價(jià)格的函數(shù)。

但還有一些事實(shí)會(huì)讓你大吃一驚:

過(guò)去40年來(lái),在許多領(lǐng)域(如語(yǔ)言學(xué)/翻譯)進(jìn)行的研究表明,這些“攪拌數(shù)字燉湯”(我剛編好的詞)的通用學(xué)習(xí)算法可以實(shí)現(xiàn)真正的人為試圖得到的明確規(guī)則方法。機(jī)器學(xué)習(xí)的“愚蠢”方法最終擊敗了人類(lèi)專家。

最后得到的函數(shù)是完全愚蠢的。它甚至不知道“平方英尺”或“臥室”是什么。它所知道的是,它需要加入一些數(shù)字來(lái)得到正確的答案。

你很可能不知道為什么一組特定的權(quán)重會(huì)起作用。所以你只是寫(xiě)了一個(gè)你并不真正理解的函數(shù),但是可以證明它是有效的。

想象一下,你的預(yù)測(cè)函數(shù)不是采用 “sqft” 和 “num-of-bedrooms” 這樣的參數(shù),而是接受一組數(shù)字。

假設(shè)每個(gè)數(shù)字代表安裝在汽車(chē)頂部的攝像頭拍攝的圖像中一個(gè)像素的亮度。現(xiàn)在讓我們假設(shè),該函數(shù)不是輸出一個(gè)名為“價(jià)格”的預(yù)測(cè),而是輸出一個(gè)名為“度”的預(yù)測(cè)來(lái)轉(zhuǎn)動(dòng)方向盤(pán)。那么你剛剛做了一個(gè)可以自動(dòng)駕駛汽車(chē)的函數(shù)!

相當(dāng)瘋狂,不是嗎?

第3步中,“嘗試每個(gè)權(quán)重?cái)?shù)字”是什么意思?

當(dāng)然不可能去嘗試所有可能的權(quán)重組合來(lái)找到最有效的組合。這真的需要花上很長(zhǎng)時(shí)間,因?yàn)槟阌肋h(yuǎn)也不會(huì)用盡所有的數(shù)字。

為了避免這種情況的發(fā)生,數(shù)學(xué)家們想出了許多聰明的方法,可以快速地找到合適的權(quán)重值而無(wú)需太多嘗試。這里提供一種方法:

首先,寫(xiě)一個(gè)簡(jiǎn)單的方程來(lái)表示上面的第2步:

這是你的成本函數(shù)。

現(xiàn)在讓我們重寫(xiě)一個(gè)完全相同的方程,但是使用一些機(jī)器學(xué)習(xí)的數(shù)學(xué)術(shù)語(yǔ)(你可以暫時(shí)忽略):

θ 表示當(dāng)前權(quán)重,J(θ) 表示當(dāng)前權(quán)重的成本。

這個(gè)方程表示我們的價(jià)格估計(jì)函數(shù)在我們目前設(shè)置的權(quán)重下的錯(cuò)誤程度。

如果我們將 numberofbedroom 和 sqft 的成本函數(shù)的所有權(quán)重可能值繪制出來(lái),我們會(huì)得到這樣一個(gè)圖形:

我們的成本函數(shù)圖看起來(lái)像一個(gè)碗??v軸代表成本。

在這張圖中,藍(lán)色的最低點(diǎn)就我們成本最低的地方,即函數(shù)誤差值最小。最高點(diǎn)是我們錯(cuò)誤值越大的地方。所以,如果我們能找到這個(gè)圖形最低點(diǎn)的權(quán)重,我們就得到答案了!

所以我們只需要調(diào)整權(quán)重,在這個(gè)圖上“下山”到最低點(diǎn)。如果我們不斷地對(duì)權(quán)重進(jìn)行小的調(diào)整,使其始終向最低點(diǎn)移動(dòng),我們最終就會(huì)不需要嘗試太多權(quán)重的情況下到達(dá)最低點(diǎn)。

如果你還記得微積分的知識(shí),你可能還記得如果對(duì)一個(gè)函數(shù)求導(dǎo),會(huì)得到函數(shù)在任意點(diǎn)切線的斜率。換句話說(shuō),它告訴我們曲線上任意一點(diǎn)的下坡方向。我們可以用這些知識(shí)來(lái)走下坡。

因此,如果我們計(jì)算成本函數(shù)對(duì)每個(gè)權(quán)重的偏導(dǎo)數(shù),我們就可以從每個(gè)權(quán)重中減去這個(gè)值。這將使我們離山腳更近一步。繼續(xù)這樣做,最終我們會(huì)到達(dá)山的底部,并為我們的權(quán)重找到最好的值。(如果不理解,別擔(dān)心,繼續(xù)讀下去)。

這是一種為函數(shù)尋找最佳權(quán)重方法的高級(jí)總結(jié),稱為批量梯度下降(batch gradient descent)。當(dāng)你使用機(jī)器學(xué)習(xí)庫(kù)來(lái)解決實(shí)際問(wèn)題時(shí),所有這些計(jì)算都會(huì)為你完成。但是對(duì)正在發(fā)生的事情有一個(gè)好的了解仍然是有用的。

還跳過(guò)了什么內(nèi)容呢?

我所描述的三步算法叫做多元線性回歸(multivariate linear regression)。你正在估算一條貫穿你的所有家庭數(shù)據(jù)點(diǎn)的直線的方程。然后,根據(jù)房子在你的線上的位置,用這個(gè)方程來(lái)預(yù)測(cè)你以前從未見(jiàn)過(guò)的房子的銷(xiāo)售價(jià)格。這是一個(gè)非常有用的主意,你可以用它來(lái)解決“真正的”問(wèn)題。

雖然我向你展示的方法適用于簡(jiǎn)單的情況,但它并不適用于所有情況。其中一個(gè)原因是,房?jī)r(jià)并不總是簡(jiǎn)單到可以遵循一條連續(xù)的線。

但幸運(yùn)的是,有很多方法可以解決這個(gè)問(wèn)題。有許多其他的機(jī)器學(xué)習(xí)算法可以處理非線性數(shù)據(jù)(如神經(jīng)網(wǎng)絡(luò)(neural networks)或帶內(nèi)核的支持向量機(jī)(support vector machine, SVM)。也有一些更巧妙地使用線性回歸的方法,允許更復(fù)雜的線被擬合。在所有情況下,找到最佳權(quán)重的基本思想仍然適用。

另外,我忽略了 過(guò)擬合(overfitting)的概念。一個(gè)簡(jiǎn)單的例子,有一組權(quán)重,它總是能夠很好地預(yù)測(cè)原始數(shù)據(jù)集中房屋的價(jià)格,但實(shí)際上從未適用于任何不在原始數(shù)據(jù)集中的新房屋。但有一些方法可以解決這一問(wèn)題(如正則化(regularization) 和使用交叉驗(yàn)證數(shù)據(jù)集(cross-validation)。學(xué)會(huì)如何處理這個(gè)問(wèn)題是學(xué)習(xí)如何成功應(yīng)用機(jī)器學(xué)習(xí)的關(guān)鍵部分。

換句話說(shuō),雖然基本概念相當(dāng)簡(jiǎn)單,但是應(yīng)用機(jī)器學(xué)習(xí)并獲得有用的結(jié)果需要一些技巧和經(jīng)驗(yàn)。但這是任何開(kāi)發(fā)人員都可以學(xué)習(xí)的技能!

機(jī)器學(xué)習(xí)有魔法嗎?

一旦你開(kāi)始發(fā)現(xiàn)機(jī)器學(xué)習(xí)技術(shù)很容易應(yīng)用到看起來(lái)很難解決的問(wèn)題上(比如手寫(xiě)識(shí)別),你就會(huì)開(kāi)始感覺(jué)到你可以用機(jī)器學(xué)習(xí)來(lái)解決任何問(wèn)題,只要你有足夠的數(shù)據(jù)就可以得到答案。只需要輸入數(shù)據(jù),然后看著電腦神奇地計(jì)算出與數(shù)據(jù)相符的方程!

但重要的是要記住,機(jī)器學(xué)習(xí)只有在問(wèn)題確實(shí)可以用現(xiàn)有的數(shù)據(jù)解決的情況下才有效。

例如,如果你建立一個(gè)模型,根據(jù)每套房子里盆栽植物的類(lèi)型來(lái)預(yù)測(cè)房?jī)r(jià),那么這個(gè)模型永遠(yuǎn)不會(huì)奏效。每套房子里的盆栽植物和房子的售價(jià)之間沒(méi)有任何關(guān)系。因此,無(wú)論如何努力,計(jì)算機(jī)永遠(yuǎn)無(wú)法推斷出兩者之間的關(guān)系。

只能夠?yàn)閷?shí)際存在關(guān)系的模型建模。所以記住,如果人類(lèi)專家不能用這些數(shù)據(jù)來(lái)手動(dòng)解決這個(gè)問(wèn)題,那么計(jì)算機(jī)可能也不能。更應(yīng)該關(guān)注的是那些人類(lèi)可以解決的問(wèn)題,如果計(jì)算機(jī)能夠更快地解決,就太棒了。

如何深入了解機(jī)器學(xué)習(xí)?

在我看來(lái),目前機(jī)器學(xué)習(xí)最大的問(wèn)題是它主要存在在學(xué)術(shù)界和商業(yè)研究團(tuán)體的世界里。對(duì)于那些想要在不成為專家的情況下而能廣泛理解機(jī)器學(xué)習(xí)的人來(lái)說(shuō),并沒(méi)有很多容易理解的材料。但是這方面每天都在進(jìn)步。

如果你想深入了解,吳恩達(dá)(Andrew Ng)在 Coursera 上開(kāi)設(shè)的免費(fèi)機(jī)器學(xué)習(xí)課程是非常棒的。我強(qiáng)烈推薦。它應(yīng)該對(duì)任何擁有計(jì)算機(jī)科學(xué)學(xué)位并且只記得很少數(shù)學(xué)知識(shí)的人都是容易理解的。

 

責(zé)任編輯:龐桂玉 來(lái)源: 人工智能與大數(shù)據(jù)技術(shù)
相關(guān)推薦

2010-06-18 09:00:54

2014-02-13 10:15:39

編程業(yè)余愛(ài)好

2013-12-26 10:32:30

編程學(xué)習(xí)

2020-05-28 08:40:10

人工智能

2011-05-30 13:58:56

PHP

2017-03-23 15:17:20

Linuxsudo棋盤(pán)

2018-06-12 07:38:05

Linux 開(kāi)源書(shū)

2021-01-12 10:50:48

人工智能Instagramer科技

2009-02-27 09:59:07

LinuxFedora 10愛(ài)好者

2009-11-02 11:25:40

LinuxUbuntu 9.10操作系統(tǒng)

2011-01-05 09:36:19

VirtualBSD

2010-05-11 10:08:00

2011-08-29 17:56:18

Paper Camer拍照應(yīng)用

2021-01-10 15:31:05

Mac終端Linux

2014-04-01 09:48:09

Linux高清壁紙

2011-05-11 09:42:27

程序員

2021-10-14 10:45:35

物聯(lián)網(wǎng)設(shè)備技術(shù)

2015-12-17 09:01:38

2015Linux禮物

2011-02-15 13:35:45

Qt開(kāi)發(fā)者

2016-01-07 09:37:41

水管工人AR
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)