Задания по ИИ2
In this assignment, you will implement two approximate inference methods for Bayesian networks, i.e., rejection sampling and Gibbs sampling in the given attached base code.
Grading will be as follows:
Rejection sampling: 70%
Gibbs sampling: 30%
Input:
Bayesian network is represented as a list of nodes. Each node is represented as a list in the following order:
name: string
parent names: a list of strings. Can be an empty list
cpt: a conditional probability table represented as an array. Each entry corresponds to the conditional probability that the variable corresponding to this node is true. The rows are ordered such that the values of the node’s parent variable(s) are enumerated in the traditional way. That is, in a table, the rightmost variable alternates T, F, T, F, …; the variable to its left T, T, F, F, T, T, F, F, …; and so on.
The nodes in the network will be ordered corresponding to the network topology, i.e., parent nodes will always come before their children. For example, the sprinkler network in Figure 13.15 and on our slides, is represented as:
nodes = [["Cloudy", [], [0.5]],
["Sprinkler", ["Cloudy"], [0.1, 0.5]],
["Rain", ["Cloudy"], [0.8, 0.2]],
["WetGrass", ["Sprinkler", "Rain"], [0.99, 0.9, 0.9, 0.0]]]
b = BayesNet(nodes)
b.print()
You can call b.print() to see the conditional probability tables organized for each node.
Output:
A query will ask you to compute a possibly conditional probability of a single variable such as P(Rain | Cloudy = false, Sprinkler = true). Queries will always be for a distribution, not a specific event’s probability.
The following methods will be called for queries:
rejectionSampling(queryNodeName, evidence, N)
or
gibbsSampling(queryNodeName, evidence, N)
queryNodeName: a string for the query node’s name
evidence: a set of pairs
N: total number of iterations
For instance, given the network b, a sample Gibbs sampling query can be called and printed as follows:
out = b.gibbsSampling("Rain", {"Sprinkler":True}, 100000)
print(out)
The output will look like:
> [0.299, 0.700]
Załączniki 1
Aktualne zlecenia dla freelancerów w kategorii AI i uczenie maszynowe
Szukam mentora / nauczyciela z ComfyUI do nauki online (praca przez RunPod)
57 PLN
Dzień dobry. Szukam praktykującego specjalisty i mentora, który pomoże mi opanować pracę z ComfyUI. Główną cechą mojego zapytania jest to, że praca będzie odbywać się całkowicie w chmurze, bez pobierania programu na lokalny komputer. Planuję wynająć kartę graficzną przez serwis… AI i uczenie maszynowe ∙ 6 godzin 41 minut temu ∙ 1 oferta |
Agent AI technologii żywienia sportowegoAgent pomaga opracowywać receptury nowych produktów sportowej żywności — batoników proteinowych, protein, przedtreningowych, izotonicznych, batoników itd. Główną cechą jest to, że agent zna przepisy prawne różnych krajów i automatycznie uwzględnia je przy tworzeniu receptury. To… AI i uczenie maszynowe, Programowanie stron internetowych ∙ 7 godzin 6 minut temu ∙ 41 ofert |
Integracja systemu analityki z Bazą danych w Tabelach
408 PLN
Trzeba doprowadzić aktualny system analityki do stabilnego stanu roboczego. Obecnie dane z CRM, telefonii i kont reklamowych są pobierane przez Supabase przez MSP, a następnie do arkuszy Google, ale część procesów nadal trzeba kontrolować ręcznie. To trzeba usunąć.1.… AI i uczenie maszynowe, Tworzenie chatbota ∙ 21 godzin 31 minut temu ∙ 28 ofert |
Napisać metadane ALT za pomocą AIStrona na Laravel, na stronie jest wiele obrazów, dla których należy automatycznie wpisać poprawne semantycznie i odpowiednie dla strony opisy ALT, z możliwością weryfikacji AI i uczenie maszynowe, PHP ∙ 1 dzień 3 godziny temu ∙ 32 oferty |
N8n - automatyzacja przetwarzania zapytań sklepu internetowego na Shopify
163 PLN
Szukam specjalisty z n8n do zbudowania workflow, który automatycznie przetwarza przychodzące zapytania klientów naszego sklepu Shopify: klasyfikuje je, pobiera dane zamówienia z Shopify i kieruje do odpowiedniej akcji (automatyczna odpowiedź, ticket, powiadomienie dla zespołu).… AI i uczenie maszynowe ∙ 2 dni 2 godziny temu ∙ 24 oferty |